|
RAJA
RAJA provides a collection of platform portability abstractions for C++ HPC applications.
|
Strongly typed "integer" class. More...
#include <IndexValue.hpp>
Public Types | |
| using | value_type = VALUE |
Public Member Functions | |
| constexpr RAJA_INLINE | IndexValue ()=default |
| Default constructor initializes value to 0. More... | |
| constexpr RAJA_INLINE | IndexValue (IndexValue const &)=default |
| constexpr RAJA_INLINE | IndexValue (IndexValue &&)=default |
| RAJA_INLINE IndexValue & | operator= (IndexValue const &)=default |
| RAJA_INLINE IndexValue & | operator= (IndexValue &&)=default |
| RAJA_HOST_DEVICE constexpr RAJA_INLINE | IndexValue (value_type v) |
| Explicit constructor. More... | |
| RAJA_HOST_DEVICE RAJA_INLINE value_type & | operator* () |
| Dereference provides cast-to-integer. More... | |
| RAJA_HOST_DEVICE RAJA_INLINE const value_type & | operator* () const |
| Dereference provides cast-to-integer. More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE | operator++ (int) |
| postincrement – returns a copy More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE & | operator++ () |
| preincrement stored index More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE | operator-- (int) |
| postdecrement – returns a copy More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE & | operator-- () |
| preincrement stored index More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE | operator+ (value_type a) const |
| addition to underlying index from an Index_type More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE | operator+ (TYPE a) const |
| addition to underlying index from another strong type More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE | operator- (value_type a) const |
| subtraction to underlying index from an Index_type More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE | operator- (TYPE a) const |
| subtraction to underlying index from another strong type More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE | operator* (value_type a) const |
| multiplication to underlying index from an Index_type More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE | operator* (TYPE a) const |
| multiplication to underlying index from another strong type More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE | operator/ (value_type a) const |
| division to underlying index from an Index_type More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE | operator/ (TYPE a) const |
| division to underlying index from another strong type More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE | operator% (value_type a) const |
| modulus to underlying index from an Index_type More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE | operator% (TYPE a) const |
| modulus to underlying index from another strong type More... | |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE & | operator+= (value_type x) |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE & | operator+= (TYPE x) |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE & | operator-= (value_type x) |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE & | operator-= (TYPE x) |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE & | operator*= (value_type x) |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE & | operator*= (TYPE x) |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE & | operator/= (value_type x) |
| RAJA_HOST_DEVICE RAJA_INLINE TYPE & | operator/= (TYPE x) |
| RAJA_HOST_DEVICE RAJA_INLINE bool | operator< (value_type x) const |
| RAJA_HOST_DEVICE RAJA_INLINE bool | operator< (TYPE x) const |
| RAJA_HOST_DEVICE RAJA_INLINE bool | operator<= (value_type x) const |
| RAJA_HOST_DEVICE RAJA_INLINE bool | operator<= (TYPE x) const |
| RAJA_HOST_DEVICE RAJA_INLINE bool | operator> (value_type x) const |
| RAJA_HOST_DEVICE RAJA_INLINE bool | operator> (TYPE x) const |
| RAJA_HOST_DEVICE RAJA_INLINE bool | operator>= (value_type x) const |
| RAJA_HOST_DEVICE RAJA_INLINE bool | operator>= (TYPE x) const |
| RAJA_HOST_DEVICE RAJA_INLINE bool | operator== (value_type x) const |
| RAJA_HOST_DEVICE RAJA_INLINE bool | operator== (TYPE x) const |
| RAJA_HOST_DEVICE RAJA_INLINE bool | operator!= (value_type x) const |
| RAJA_HOST_DEVICE RAJA_INLINE bool | operator!= (TYPE x) const |
Static Public Member Functions | |
| static std::string | getName () |
Protected Attributes | |
| value_type | value = 0 |
Strongly typed "integer" class.
Allows integers to be associated with a type, and disallows automatic conversion.
Useful for maintaining correctness in multidimensional loops and arrays.
Use the RAJA_INDEX_VALUE(NAME) macro to define new indices.
Yes, this uses the curiously-recurring template pattern.
| using RAJA::IndexValue< TYPE, VALUE >::value_type = VALUE |
|
constexprdefault |
Default constructor initializes value to 0.
|
constexprdefault |
|
constexprdefault |
|
inlineexplicitconstexpr |
Explicit constructor.
| v | Initial value |
|
default |
|
default |
|
inline |
Dereference provides cast-to-integer.
|
inline |
Dereference provides cast-to-integer.
|
inline |
postincrement – returns a copy
|
inline |
preincrement stored index
|
inline |
postdecrement – returns a copy
|
inline |
preincrement stored index
|
inline |
addition to underlying index from an Index_type
|
inline |
addition to underlying index from another strong type
|
inline |
subtraction to underlying index from an Index_type
|
inline |
subtraction to underlying index from another strong type
|
inline |
multiplication to underlying index from an Index_type
|
inline |
multiplication to underlying index from another strong type
|
inline |
division to underlying index from an Index_type
|
inline |
division to underlying index from another strong type
|
inline |
modulus to underlying index from an Index_type
|
inline |
modulus to underlying index from another strong type
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
|
protected |