|
| struct | LvArray::typeManipulation::internal::GetViewType< T, bool > |
| | A helper struct used to get the view type of an object. More...
|
| |
| struct | LvArray::typeManipulation::internal::GetViewType< T, true > |
| | A helper struct used to get the view type of an object. More...
|
| |
| struct | LvArray::typeManipulation::internal::GetViewTypeConstSizes< T, bool > |
| | A helper struct used to get the un-resizable view type of an object. More...
|
| |
| struct | LvArray::typeManipulation::internal::GetViewTypeConstSizes< T, true > |
| | A helper struct used to get the un-resizable view type of an object. More...
|
| |
| struct | LvArray::typeManipulation::internal::GetViewTypeConst< T, bool > |
| | A helper struct used to get the const view type of an object. More...
|
| |
| struct | LvArray::typeManipulation::internal::GetViewTypeConst< T, true > |
| | A helper struct used to get the const view type of an object. More...
|
| |
| struct | LvArray::typeManipulation::internal::GetNestedViewType< T, bool > |
| | A helper struct used to get the nested view type of an object. More...
|
| |
| struct | LvArray::typeManipulation::internal::GetNestedViewType< T, true > |
| | A helper struct used to get the nested view type of an object. More...
|
| |
| struct | LvArray::typeManipulation::internal::GetNestedViewTypeConst< T, bool > |
| | A helper struct used to get the nested view const type of an object. More...
|
| |
| struct | LvArray::typeManipulation::internal::GetNestedViewTypeConst< T, true > |
| | A helper struct used to get the nested view const type of an object. More...
|
| |
| struct | LvArray::typeManipulation::CArray< T, N > |
| | A wrapper around a compile time c array. More...
|
| |
|
| #define | IS_VALID_EXPRESSION(NAME, T, ...) |
| | Macro that expands to a static constexpr bool with one template argument which is true only if the expression is valid. More...
|
| |
| #define | IS_VALID_EXPRESSION_2(NAME, T, U, ...) |
| | Macro that expands to a static constexpr bool with two template arguments which is true only if the expression is valid. More...
|
| |
| #define | HAS_MEMBER_FUNCTION_NO_RTYPE(NAME, ...) IS_VALID_EXPRESSION( HasMemberFunction_ ## NAME, CLASS, std::declval< CLASS & >().NAME( __VA_ARGS__ ) ) |
| | Macro that expands to a static constexpr bool templated on a type that is only true when the type has a method NAME which takes the given arguments. The name of the boolean variable is HasMemberFunction_ ## NAME. More...
|
| |
| #define | HAS_MEMBER_TYPE(NAME) IS_VALID_EXPRESSION( HasMemberType_ ## NAME, CLASS, std::declval< typename CLASS::NAME >() ) |
| | Macro that expands to a static constexpr bool templated on a type that is only true when the type has a nested type (or type alias) called NAME. The name of the boolean variable is HasMemberType_ ## NAME. More...
|
| |
| #define | HAS_STATIC_MEMBER(NAME) IS_VALID_EXPRESSION( HasStaticMember_ ## NAME, CLASS, std::enable_if_t< !std::is_member_pointer< decltype( &CLASS::NAME ) >::value, bool >{} ) |
| | Macro that expands to a static constexpr bool templated on a type that is only true when the type has a static member called NAME. The name of the boolean variable is HasStaticMember_ ## NAME. More...
|
| |
|
| template<typename F > |
| DISABLE_HD_WARNING constexpr LVARRAY_HOST_DEVICE void | LvArray::typeManipulation::forEachArg (F &&f) |
| | The recursive base case where no argument is provided. More...
|
| |
| template<typename F , typename ARG , typename ... ARGS> |
| DISABLE_HD_WARNING constexpr LVARRAY_HOST_DEVICE void | LvArray::typeManipulation::forEachArg (F &&f, ARG &&arg, ARGS &&... args) |
| | Call the f with arg and then again with each argument in args . More...
|
| |
| | 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(). More...
|
| |
| | 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(). More...
|
| |
| | 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(). More...
|
| |
| | 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(). More...
|
| |
| | 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(). More...
|
| |
| template<camp::idx_t INDEX_TO_FIND, camp::idx_t INDEX> |
| constexpr bool | LvArray::typeManipulation::internal::contains (camp::idx_seq< INDEX >) |
| |
| template<camp::idx_t INDEX_TO_FIND, camp::idx_t INDEX0, camp::idx_t INDEX1, camp::idx_t... INDICES> |
| constexpr bool | LvArray::typeManipulation::internal::contains (camp::idx_seq< INDEX0, INDEX1, INDICES... >) |
| |
| template<typename PERMUTATION , camp::idx_t... INDICES> |
| constexpr bool | LvArray::typeManipulation::internal::isValidPermutation (PERMUTATION, camp::idx_seq< INDICES... >) |
| |
| template<camp::idx_t... INDICES> |
| constexpr camp::idx_t | LvArray::typeManipulation::internal::getDimension (camp::idx_seq< INDICES... >) |
| |
| template<camp::idx_t... INDICES> |
| LVARRAY_HOST_DEVICE constexpr camp::idx_t | LvArray::typeManipulation::getStrideOneDimension (camp::idx_seq< INDICES... >) |
| |
| template<typename PERMUTATION > |
| constexpr bool | LvArray::typeManipulation::isValidPermutation (PERMUTATION) |
| |
| template<typename T , typename U , typename INDEX_TYPE > |
| constexpr LVARRAY_HOST_DEVICE std::enable_if_t<(sizeof(T)<=sizeof(U)), INDEX_TYPE > | LvArray::typeManipulation::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 > |
| LVARRAY_HOST_DEVICE std::enable_if_t<(sizeof(T) > sizeof(U)), INDEX_TYPE > | LvArray::typeManipulation::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> |
| LVARRAY_HOST_DEVICE constexpr CArray< camp::idx_t, sizeof...(INDICES) > | LvArray::typeManipulation::asArray (camp::idx_seq< INDICES... >) |
| |
Contains templates useful for type manipulation.