Models a set whose elements belong to a contiguous range \( \in [lowerIndex,upperIndex) \).
More...
|
using | PositionType = P |
|
using | ElementType = E |
|
using | ConcreteSet = ConvertibleRangeSet< IndirectionPolicy, policies::ConcreteInterface > |
|
using | VirtualSet = ConvertibleRangeSet< IndirectionPolicy, policies::VirtualInterface > |
|
using | OtherIfaceSet = std::conditional_t< std::is_same< InterfacePolicy, policies::VirtualInterface >::value, ConcreteSet, VirtualSet > |
|
using | SizePolicyType = policies::RuntimeSize< slam::DefaultPositionType > |
|
using | OffsetPolicyType = policies::RuntimeOffset< slam::DefaultPositionType > |
|
using | StridePolicyType = policies::StrideOne< slam::DefaultPositionType > |
|
using | IndirectionPolicyType = policies::NoIndirection< slam::DefaultPositionType, slam::DefaultElementType > |
|
using | SubsettingPolicyType = policies::NoSubset |
|
using | ModularIntType = ModularInt< policies::RuntimeSize< slam::DefaultPositionType > > |
|
using | PositionSet = OrderedSet< PositionType > |
|
using | const_iterator = OrderedSetIterator< ElementType, true > |
|
using | const_iterator_pair = std::pair< const_iterator, const_iterator > |
|
using | iterator = OrderedSetIterator< ElementType, false > |
|
using | iterator_pair = std::pair< iterator, iterator > |
|
using | IndexType = IntType |
|
using | ShapeType = IntType |
|
using | IndirectionResult = slam::DefaultElementType |
|
using | ConstIndirectionResult = const slam::DefaultElementType |
|
using | IndirectionBufferType = struct { } |
|
using | IndirectionPtrType = IndirectionBufferType * |
|
using | ParentSetType = const Set<> |
|
|
| GenericRangeSet (const OtherIfaceSet &otherSet) |
|
| GenericRangeSet (PositionType size=OrderedSetType::SizePolicyType::DEFAULT_VALUE) |
|
AXOM_HOST_DEVICE | GenericRangeSet (const typename OrderedSetType::SetBuilder &builder) |
|
| GenericRangeSet (PositionType lowerIndex, PositionType upperIndex) |
|
| operator OrderedSet< slam::DefaultPositionType, slam::DefaultElementType, SizePolicyType, OffsetPolicyType, StridePolicyType, OtherIndirectionPolicy, SubsettingPolicyType, OtherInterfaceType > () const |
| Converts this OrderedSet to an OrderedSet of another indirection policy and/or interface policy. More...
|
|
iterator | begin () |
|
const_iterator | begin () const |
|
iterator | end () |
|
const_iterator | end () const |
|
iterator_pair | range () |
|
const_iterator_pair | range () const |
|
AXOM_HOST_DEVICE IndirectionPolicy::ConstIndirectionResult | operator[] (PositionType pos) const |
| Given a position in the Set, return a position in the larger index space. More...
|
|
AXOM_HOST_DEVICE IndirectionPolicy::IndirectionResult | operator[] (PositionType pos) |
|
ElementType | at (PositionType pos) const |
|
AXOM_HOST_DEVICE PositionType | size () const |
|
AXOM_HOST_DEVICE slam::DefaultPositionType & | size () |
|
AXOM_HOST_DEVICE bool | empty () const |
|
bool | isValid (bool verboseOutput=false) const |
|
bool | isValid (slam::DefaultPositionType, slam::DefaultPositionType, slam::DefaultPositionType, bool) const |
|
template<typename OrderedSetIt > |
bool | isValid (OrderedSetIt, OrderedSetIt, bool) const |
|
bool | isSubset () const |
|
bool | isValidIndex (PositionType pos) const |
| checks whether the given position (index) is valid. More...
|
|
PositionSet | positions () const |
| returns a PositionSet over the set's positions More...
|
|
slam::DefaultPositionType | operator() () const |
|
slam::DefaultPositionType & | operator() () |
|
slam::DefaultPositionType | operator() () const |
|
slam::DefaultPositionType & | operator() () |
|
IntType | operator() () const |
|
AXOM_HOST_DEVICE IndirectionResult | operator() (slam::DefaultPositionType pos) const |
|
AXOM_HOST_DEVICE slam::DefaultPositionType | offset () const |
|
AXOM_HOST_DEVICE slam::DefaultPositionType & | offset () |
|
AXOM_HOST_DEVICE IntType | stride () const |
|
AXOM_HOST_DEVICE IntType | shape () const |
|
AXOM_HOST_DEVICE void | setStride (IntType AXOM_DEBUG_PARAM(val)) |
|
AXOM_HOST_DEVICE IndirectionResult | indirection (slam::DefaultPositionType pos) const |
|
AXOM_HOST_DEVICE IndirectionBufferType * | ptr () |
|
bool | hasIndirection () const |
|
const ParentSetType * | parentSet () const |
|
template<typename P = slam::DefaultPositionType, typename E = slam::DefaultElementType, typename OffsetPolicy = policies::RuntimeOffset<P>, typename StridingPolicy = policies::StrideOne<P>, typename IndirectionPolicy = policies::NoIndirection<P, E>, typename SubsettingPolicy = policies::NoSubset, typename InterfacePolicy = policies::VirtualInterface>
class axom::slam::GenericRangeSet< P, E, OffsetPolicy, StridingPolicy, IndirectionPolicy, SubsettingPolicy, InterfacePolicy >
Models a set whose elements belong to a contiguous range \( \in [lowerIndex,upperIndex) \).
- Note
- The ElementType here needs to be computable as offsets (of PositionType) from the lowerIndex. Examples include: signed and unsigned integral types. This version of a range set still allows you to have different policies on striding, indirection and subsetting
- See also
- OrderedSet, PositionSet, RangeSet
template<typename P = slam::DefaultPositionType, typename E = slam::DefaultElementType, typename OffsetPolicy = policies::RuntimeOffset<P>, typename StridingPolicy = policies::StrideOne<P>, typename IndirectionPolicy = policies::NoIndirection<P, E>, typename SubsettingPolicy = policies::NoSubset, typename InterfacePolicy = policies::VirtualInterface>
template<typename P = slam::DefaultPositionType, typename E = slam::DefaultElementType, typename OffsetPolicy = policies::RuntimeOffset<P>, typename StridingPolicy = policies::StrideOne<P>, typename IndirectionPolicy = policies::NoIndirection<P, E>, typename SubsettingPolicy = policies::NoSubset, typename InterfacePolicy = policies::VirtualInterface>