Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
shamrock::patch::FieldVariant< Container > Class Template Reference

Field variant class. More...

#include <shamrock/include/shamrock/patch/FieldVariant.hpp>

Public Types

using var_t_template = std::variant< Container< f32 >, Container< f32_2 >, Container< f32_3 >, Container< f32_4 >, Container< f32_8 >, Container< f32_16 >, Container< f64 >, Container< f64_2 >, Container< f64_3 >, Container< f64_4 >, Container< f64_8 >, Container< f64_16 >, Container< u32 >, Container< u64 >, Container< u32_3 >, Container< u64_3 >, Container< i64_3 >, Container< i64 > >
 

Public Member Functions

template<class T >
 FieldVariant (Container< T > &&val)
 
template<class T >
Container< T > & get_if_ref_throw ()
 
template<class Func >
void visit (Func &&f)
 
template<class Func >
auto visit_return (Func &&f)
 
template<class Func >
void visit (Func &&f) const
 
template<class Func >
auto visit_return (Func &&f) const
 
template<template< class > class Container2, class Func >
FieldVariant< Container2 > convert (Func &&f)
 

Public Attributes

var_t_template value
 

Detailed Description

template<template< class > class Container>
class shamrock::patch::FieldVariant< Container >

Field variant class.

Todo:
provide example
Template Parameters
Container

Definition at line 31 of file FieldVariant.hpp.

Member Typedef Documentation

◆ var_t_template

template<template< class > class Container>
using shamrock::patch::FieldVariant< Container >::var_t_template = std::variant< Container<f32>, Container<f32_2>, Container<f32_3>, Container<f32_4>, Container<f32_8>, Container<f32_16>, Container<f64>, Container<f64_2>, Container<f64_3>, Container<f64_4>, Container<f64_8>, Container<f64_16>, Container<u32>, Container<u64>, Container<u32_3>, Container<u64_3>, Container<i64_3>, Container<i64> >

Definition at line 34 of file FieldVariant.hpp.

Constructor & Destructor Documentation

◆ FieldVariant()

template<template< class > class Container>
template<class T >
shamrock::patch::FieldVariant< Container >::FieldVariant ( Container< T > &&  val)
inlineexplicit

Definition at line 57 of file FieldVariant.hpp.

Member Function Documentation

◆ convert()

template<template< class > class Container>
template<template< class > class Container2, class Func >
FieldVariant< Container2 > shamrock::patch::FieldVariant< Container >::convert ( Func &&  f)
inline

Definition at line 105 of file FieldVariant.hpp.

◆ get_if_ref_throw()

template<template< class > class Container>
template<class T >
Container< T > & shamrock::patch::FieldVariant< Container >::get_if_ref_throw ( )
inline

Definition at line 60 of file FieldVariant.hpp.

◆ visit() [1/2]

template<template< class > class Container>
template<class Func >
void shamrock::patch::FieldVariant< Container >::visit ( Func &&  f)
inline

Definition at line 69 of file FieldVariant.hpp.

◆ visit() [2/2]

template<template< class > class Container>
template<class Func >
void shamrock::patch::FieldVariant< Container >::visit ( Func &&  f) const
inline

Definition at line 87 of file FieldVariant.hpp.

◆ visit_return() [1/2]

template<template< class > class Container>
template<class Func >
auto shamrock::patch::FieldVariant< Container >::visit_return ( Func &&  f)
inline

Definition at line 78 of file FieldVariant.hpp.

◆ visit_return() [2/2]

template<template< class > class Container>
template<class Func >
auto shamrock::patch::FieldVariant< Container >::visit_return ( Func &&  f) const
inline

Definition at line 96 of file FieldVariant.hpp.

Member Data Documentation

◆ value

template<template< class > class Container>
var_t_template shamrock::patch::FieldVariant< Container >::value

The held variant

Definition at line 54 of file FieldVariant.hpp.


The documentation for this class was generated from the following file: