| 
    GEOS
    
   | 
 
Namespace containing type dispatching facilities. More...
Typedefs | |
| template<integer Begin, integer End> | |
| using | IntegerSequence = internal::Increment< camp::make_idx_seq_t< End - Begin+1 >, Begin > | 
Generate a sequence of integers from Begin up to (and including) End.  | |
| template<typename ... Ts> | |
| using | TypeList = camp::list< Ts... > | 
| Construct a list of types.  | |
| template<typename LIST > | |
| using | ListofTypeList = internal::Apply< camp::list, LIST > | 
| Construct a list of list type.  | |
| template<typename ... Ls> | |
| using | Join = typename camp::join< Ls ... >::type | 
| Concatenate multiple type lists.  | |
| template<typename TYPES , typename NDIMS > | |
| using | ArrayTypes = internal::Apply< internal::ArrayType, camp::cartesian_product< TYPES, internal::AddLayouts< NDIMS > > > | 
Construct a list of GEOSX multidimensional array types (geos::Array), containing all value types in type list TYPES and all dimensionalities in list of integral constants NDIMS.  | |
| using | IntegralTypes = TypeList< integer, localIndex, globalIndex > | 
| List of major integral types used in GEOSX type system.  | |
| using | RealTypes = TypeList< real32, real64 > | 
| List of major real-valued (floating point) types used in GEOSX type system.  | |
| template<int M, int N> | |
| using | DimsRange = camp::as_list< IntegerSequence< M, N > > | 
Generate a list of types representing array dimensionalities from M up to (and including) N.  | |
| template<int N> | |
| using | DimsSingle = DimsRange< N, N > | 
Generate a list of types representing array dimensionality exactly N.  | |
| template<int N> | |
| using | DimsUpTo = DimsRange< 1, N > | 
Generate a list of types representing array dimensionalities up to (and including) N.  | |
| using | RealArrays = ArrayTypes< RealTypes, DimsUpTo< 4 > > | 
| List of real-valued array types typically used in GEOSX (dimensions up to 4).  | |
| using | IntegralArrays = ArrayTypes< IntegralTypes, DimsUpTo< 2 > > | 
| List of integer-valued array types typically used in GEOSX (dimensions 1 and 2).  | |
| using | StandardArrays = Join< RealArrays, IntegralArrays > | 
| List of all array types (real- and integer-valued) typically used in GEOSX.  | |
Functions | |
| template<typename LIST , typename LAMBDA , typename ... Ts> | |
| bool | dispatch (LIST const combinations, LAMBDA &&lambda, Ts &&... objects) | 
Dispatch a generic worker function lambda based on runtime type.  More... | |
Namespace containing type dispatching facilities.
| bool geos::types::dispatch | ( | LIST const | combinations, | 
| LAMBDA && | lambda, | ||
| Ts &&... | objects | ||
| ) | 
Dispatch a generic worker function lambda based on runtime type. 
| LIST | type of the list of types | 
| LAMBDA | type of user-provided function or lambda, must have one auto argument | 
| Ts | types of the objects to be dispatched. | 
| combinations | list of types | 
| lambda | lambda user-provided callable | 
| objects | objects to be dispatched | 
true iff type has been dispatchtodo Do we want errorIfTypeNotFound parameter? Options:
Definition at line 368 of file TypeDispatch.hpp.