|
AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
Provides a mixin class for a generic indexable indirection policy. More...
#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/slam/policies/IndirectionPolicies.hpp>
Inherits BasePolicy.
Public Types | |
| using | PositionType = typename BasePolicy::PosType |
| using | ConstResultPtr = std::remove_reference_t< ConstIndirectionResult > * |
| using | ResultPtr = std::remove_reference_t< IndirectionResult > * |
Public Member Functions | |
| bool | isValid (PositionType size, PositionType offset, PositionType stride, bool verboseOutput=false) const |
| AXOM_HOST_DEVICE ConstIndirectionResult | indirection (PositionType pos) const |
| AXOM_HOST_DEVICE IndirectionResult | indirection (PositionType pos) |
| AXOM_HOST_DEVICE ConstIndirectionResult | operator() (PositionType pos) const |
| AXOM_HOST_DEVICE IndirectionResult | operator() (PositionType pos) |
Static Public Member Functions | |
| template<bool DeviceEnable = BasePolicy::DeviceAccessible> | |
| static AXOM_HOST_DEVICE std::enable_if_t< DeviceEnable, ResultPtr > | getIndirection (IndirectionRefType buf, PositionType pos=0) |
| template<bool DeviceEnable = BasePolicy::DeviceAccessible> | |
| static AXOM_HOST_DEVICE std::enable_if_t< DeviceEnable, ConstResultPtr > | getConstIndirection (IndirectionConstRefType buf, PositionType pos=0) |
| template<bool DeviceEnable = BasePolicy::DeviceAccessible> | |
| static AXOM_HOST_DEVICE std::enable_if_t<!DeviceEnable, ResultPtr > | getIndirection (IndirectionRefType buf, PositionType pos=0) |
| template<bool DeviceEnable = BasePolicy::DeviceAccessible> | |
| static AXOM_HOST_DEVICE std::enable_if_t<!DeviceEnable, ConstResultPtr > | getConstIndirection (IndirectionConstRefType buf, PositionType pos=0) |
Provides a mixin class for a generic indexable indirection policy.
| BasePolicy | the type of the derived indirection policy class |
| using axom::slam::policies::detail::IndexedIndirection< BasePolicy >::PositionType = typename BasePolicy::PosType |
| using axom::slam::policies::detail::IndexedIndirection< BasePolicy >::ConstResultPtr = std::remove_reference_t<ConstIndirectionResult>* |
| using axom::slam::policies::detail::IndexedIndirection< BasePolicy >::ResultPtr = std::remove_reference_t<IndirectionResult>* |
|
inline |
References AXOM_UNUSED_VAR, and SLIC_DEBUG_IF.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
References axom::slic::abort(), AXOM_UNUSED_VAR, and SLIC_ASSERT_MSG.
|
inlinestatic |
References axom::slic::abort(), AXOM_UNUSED_VAR, and SLIC_ASSERT_MSG.
|
inline |
|
inline |
|
inline |
|
inline |