|
RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
|
RAJA header file for strongly-typed integer class. More...
#include "RAJA/config.hpp"#include <string>#include "RAJA/util/macros.hpp"#include "RAJA/util/types.hpp"Go to the source code of this file.
Classes | |
| struct | RAJA::IndexValueBase |
| struct | RAJA::IndexValue< TYPE, VALUE > |
| Strongly typed "integer" class. More... | |
| struct | RAJA::internal::StripIndexTypeT< FROM, Enable > |
| struct | RAJA::internal::StripIndexTypeT< FROM, typename std::enable_if< std::is_base_of< IndexValueBase, FROM >::value >::type > |
Namespaces | |
| RAJA | |
| RAJA::internal | |
Macros | |
| #define | RAJA_INDEX_VALUE(TYPE, NAME) |
| Helper Macro to create new Index types. More... | |
| #define | RAJA_INDEX_VALUE_T(TYPE, IDXT, NAME) |
| Helper Macro to create new Index types. More... | |
Typedefs | |
| template<typename FROM > | |
| using | RAJA::strip_index_type_t = typename internal::StripIndexTypeT< FROM >::type |
| Strips a strongly typed index to its underlying type In the case of a non-strongly typed index, the original type is returned. More... | |
| template<typename FROM > | |
| using | RAJA::make_signed_t = typename std::conditional< std::is_floating_point< FROM >::value, std::common_type< FROM >, std::make_signed< FROM > >::type::type |
| Converts a type into a signed type. Also handles floating point types as std::make_signed only supports integral types. More... | |
Functions | |
| template<typename TO , typename FROM > | |
| constexpr RAJA_HOST_DEVICE RAJA_INLINE TO | RAJA::internal::convertIndex_helper (FROM const val) |
| template<typename TO , typename FROM > | |
| constexpr RAJA_HOST_DEVICE RAJA_INLINE TO | RAJA::internal::convertIndex_helper (typename FROM::IndexValueType const val) |
| template<typename TO , typename FROM > | |
| constexpr RAJA_HOST_DEVICE RAJA_INLINE TO | RAJA::convertIndex (FROM const val) |
| Function provides a way to take either an int or any Index<> type, and convert it to another type, possibly another Index or an int. More... | |
| template<typename FROM > | |
| constexpr RAJA_HOST_DEVICE RAJA_INLINE std::enable_if< std::is_base_of< IndexValueBase, FROM >::value, typename FROM::value_type >::type | RAJA::stripIndexType (FROM const val) |
| Function that strips the strongly typed Index<> and returns its underlying value_type value. More... | |
| template<typename FROM > | |
| constexpr RAJA_HOST_DEVICE RAJA_INLINE std::enable_if<!std::is_base_of< IndexValueBase, FROM >::value, FROM >::type | RAJA::stripIndexType (FROM const val) |
RAJA header file for strongly-typed integer class.
| #define RAJA_INDEX_VALUE | ( | TYPE, | |
| NAME | |||
| ) |
Helper Macro to create new Index types.
| TYPE | the name of the type |
| NAME | a string literal to identify this index type |
| #define RAJA_INDEX_VALUE_T | ( | TYPE, | |
| IDXT, | |||
| NAME | |||
| ) |
Helper Macro to create new Index types.
| TYPE | the name of the type |
| IDXT | the index types value type |
| NAME | a string literal to identify this index type |