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_SUPPRESS_HD_WARN 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>