GEOSX
|
Contains templates for manipulating types. More...
Classes | |
struct | CArray |
A wrapper around a compile time c array. More... | |
Typedefs | |
template<bool ... BOOLS> | |
using | all_of = camp::concepts::metalib::all_of< BOOLS ... > |
A struct that contains a static constexpr bool value that is true if all of BOOLS are true. More... | |
template<typename ... TYPES> | |
using | all_of_t = camp::concepts::metalib::all_of_t< TYPES ... > |
A struct that contains a static constexpr bool value that is true if all of TYPES::value are true. More... | |
template<typename T > | |
using | ViewType = typename internal::GetViewType< T >::type |
An alias for the view type of T. More... | |
template<typename T > | |
using | ViewTypeConstSizes = typename internal::GetViewTypeConstSizes< T >::type |
An alias for the un-resizable view type of T. More... | |
template<typename T > | |
using | ViewTypeConst = typename internal::GetViewTypeConst< T >::type |
An alias for the const view type of T. More... | |
template<typename T > | |
using | NestedViewType = typename internal::GetNestedViewType< T >::type |
An alias for the nested view type of T. More... | |
template<typename T > | |
using | NestedViewTypeConst = typename internal::GetNestedViewTypeConst< T >::type |
An alias for the nested const view type of T. More... | |
Functions | |
template<typename F > | |
constexpr void | forEachArg (F &&f) |
The recursive base case where no argument is provided. More... | |
template<typename F , typename ARG , typename ... ARGS> | |
constexpr void | forEachArg (F &&f, ARG &&arg, ARGS &&... args) |
Call the f with arg and then again with each argument in args . More... | |
HAS_MEMBER_FUNCTION_NO_RTYPE (toView,) | |
Defines a template static constexpr bool HasMemberFunction_toView that is true if CLASS has a method toView() . More... | |
HAS_MEMBER_FUNCTION_NO_RTYPE (toViewConstSizes,) | |
Defines a template static constexpr bool HasMemberFunction_toViewConstSizes that is true if CLASS has a method toView() . More... | |
HAS_MEMBER_FUNCTION_NO_RTYPE (toViewConst,) | |
Defines a template static constexpr bool HasMemberFunction_toViewConst that is true if CLASS has a method toViewConst() . More... | |
HAS_MEMBER_FUNCTION_NO_RTYPE (toNestedView,) | |
Defines a template static constexpr bool HasMemberFunction_toNestedView that is true if CLASS has a method toNestedView() . More... | |
HAS_MEMBER_FUNCTION_NO_RTYPE (toNestedViewConst,) | |
Defines a template static constexpr bool HasMemberFunction_toNestedViewConst that is true if CLASS has a method toNestedViewConst() . More... | |
template<camp::idx_t... INDICES> | |
constexpr camp::idx_t | getDimension (camp::idx_seq< INDICES... >) |
template<camp::idx_t... INDICES> | |
constexpr camp::idx_t | getStrideOneDimension (camp::idx_seq< INDICES... >) |
template<typename PERMUTATION > | |
constexpr bool | isValidPermutation (PERMUTATION) |
template<typename T , typename U , typename INDEX_TYPE > | |
constexpr std::enable_if_t<(sizeof(T)<=sizeof(U)), INDEX_TYPE > | convertSize (INDEX_TYPE const numU) |
Convert a number of values of type U to a number of values of type T . More... | |
template<typename T , typename U , typename INDEX_TYPE > | |
std::enable_if_t<(sizeof(T) > sizeof(U)), INDEX_TYPE > | convertSize (INDEX_TYPE const numU) |
Convert a number of values of type U to a number of values of type T . More... | |
template<camp::idx_t... INDICES> | |
constexpr CArray< camp::idx_t, sizeof...(INDICES) > | asArray (camp::idx_seq< INDICES... >) |
Variables | |
template<template< typename ... > class TEMPLATE, typename TYPE > | |
constexpr bool | is_instantiation_of = false |
Trait to detect if. More... | |
template<template< typename ... > class TEMPLATE, typename ... ARGS> | |
constexpr bool | is_instantiation_of< TEMPLATE, TEMPLATE< ARGS... > > = true |
Trait to detect if. More... | |
Contains templates for manipulating types.
using LvArray::typeManipulation::all_of = typedef camp::concepts::metalib::all_of< BOOLS ... > |
A struct that contains a static constexpr bool value that is true if all of BOOLS are true.
BOOLS | A variadic pack of bool. |
Definition at line 156 of file typeManipulation.hpp.
using LvArray::typeManipulation::all_of_t = typedef camp::concepts::metalib::all_of_t< TYPES ... > |
A struct that contains a static constexpr bool value that is true if all of TYPES::value are true.
TYPES | A variadic pack of types all of which define a static constexpr bool value. |
Definition at line 164 of file typeManipulation.hpp.
using LvArray::typeManipulation::NestedViewType = typedef typename internal::GetNestedViewType< T >::type |
An alias for the nested view type of T.
T | The type to get the nested view type of. |
Definition at line 381 of file typeManipulation.hpp.
using LvArray::typeManipulation::NestedViewTypeConst = typedef typename internal::GetNestedViewTypeConst< T >::type |
An alias for the nested const view type of T.
T | The type to get the nested const view type of. |
Definition at line 388 of file typeManipulation.hpp.
using LvArray::typeManipulation::ViewType = typedef typename internal::GetViewType< T >::type |
An alias for the view type of T.
T | The type to get the view type of. |
Definition at line 360 of file typeManipulation.hpp.
using LvArray::typeManipulation::ViewTypeConst = typedef typename internal::GetViewTypeConst< T >::type |
An alias for the const view type of T.
T | The type to get the view type of. |
Definition at line 374 of file typeManipulation.hpp.
using LvArray::typeManipulation::ViewTypeConstSizes = typedef typename internal::GetViewTypeConstSizes< T >::type |
An alias for the un-resizable view type of T.
T | The type to get the view type of. |
Definition at line 367 of file typeManipulation.hpp.
|
inline |
INDICES | A variadic pack of numbers. |
INDICES. |
Definition at line 542 of file typeManipulation.hpp.
|
inline |
Convert a number of values of type U
to a number of values of type T
.
T | The type to convert to. |
U | The type to convert from. |
INDEX_TYPE | The type of numU . |
numU | The number of U to convert to number of T . |
numU
converted to a number of types T
.This is a specialization for when
.
Definition at line 469 of file typeManipulation.hpp.
|
inline |
Convert a number of values of type U
to a number of values of type T
.
T | The type to convert to. |
U | The type to convert from. |
INDEX_TYPE | The type of numU . |
numU | The number of U to convert to number of T . |
numU
converted to a number of types T
.This is a specialization for when
.
Definition at line 488 of file typeManipulation.hpp.
|
inline |
The recursive base case where no argument is provided.
F | The type of the function to call. |
f | The function to not call. |
Definition at line 129 of file typeManipulation.hpp.
|
inline |
Call the f
with arg
and then again with each argument in args
.
F | The type of the function to call. |
ARG | The type of the first argument to pass to the function. |
ARGS | The types of the remaining arguments. |
f | The function to call. |
arg | The first argument to call the function with. |
args | The rest of the arguments to call the function with. |
Definition at line 144 of file typeManipulation.hpp.
constexpr camp::idx_t LvArray::typeManipulation::getDimension | ( | camp::idx_seq< INDICES... > | ) |
INDICES | A variadic list of indices. |
Definition at line 430 of file typeManipulation.hpp.
constexpr camp::idx_t LvArray::typeManipulation::getStrideOneDimension | ( | camp::idx_seq< INDICES... > | ) |
INDICES | A variadic list of indices. |
Definition at line 438 of file typeManipulation.hpp.
LvArray::typeManipulation::HAS_MEMBER_FUNCTION_NO_RTYPE | ( | toView | ) |
Defines a template static constexpr bool HasMemberFunction_toView
that is true if CLASS
has a method toView()
.
CLASS | The type to test. |
LvArray::typeManipulation::HAS_MEMBER_FUNCTION_NO_RTYPE | ( | toViewConstSizes | ) |
Defines a template static constexpr bool HasMemberFunction_toViewConstSizes
that is true if CLASS
has a method toView()
.
CLASS | The type to test. |
LvArray::typeManipulation::HAS_MEMBER_FUNCTION_NO_RTYPE | ( | toViewConst | ) |
Defines a template static constexpr bool HasMemberFunction_toViewConst
that is true if CLASS
has a method toViewConst()
.
CLASS | The type to test. |
LvArray::typeManipulation::HAS_MEMBER_FUNCTION_NO_RTYPE | ( | toNestedView | ) |
Defines a template static constexpr bool HasMemberFunction_toNestedView
that is true if CLASS
has a method toNestedView()
.
CLASS | The type to test. |
LvArray::typeManipulation::HAS_MEMBER_FUNCTION_NO_RTYPE | ( | toNestedViewConst | ) |
Defines a template static constexpr bool HasMemberFunction_toNestedViewConst
that is true if CLASS
has a method toNestedViewConst()
.
CLASS | The type to test. |
constexpr bool LvArray::typeManipulation::isValidPermutation | ( | PERMUTATION | ) |
PERMUTATION | A camp::idx_seq. |
PERMUTATION | is a permutation of [0, N] for some N. |
Definition at line 451 of file typeManipulation.hpp.
constexpr bool LvArray::typeManipulation::is_instantiation_of = false |
Trait to detect if.
TEMPLATE | The template to check if TYPE is an instantiation of. |
TYPE | The type to check. |
TYPE | is an instantiation of |
Tempate. |
Usage:
.
Definition at line 174 of file typeManipulation.hpp.
constexpr bool LvArray::typeManipulation::is_instantiation_of< TEMPLATE, TEMPLATE< ARGS... > > = true |
Trait to detect if.
TEMPLATE | The template to check. |
ARGS | The variadic pack of argument types used to instantiate TEMPLATE. |
TYPE | is an instantiation of |
Tempate. |
Usage:
.
Definition at line 185 of file typeManipulation.hpp.