12#ifndef __cxz_srange_h__
13#define __cxz_srange_h__
27 template <
typename MetaT, SizeT S>
118 template <
class Xpr,
class F>
119 decltype(
auto)
ifor(
const Xpr&
xpr,
F&&
f)
const;
126 const MetaT* mMetaPtr;
133 template <
typename MetaT, SizeT S,
class I1>
141 template <
typename MetaT, SizeT S>
245 template <
typename MetaT, SizeT S>
248 static constexpr bool value =
true;
INDEX_RANDOM_ACCESS_ITERATOR_DEFS(MetaType)
SIndex operator-(Int n) const
SIndex & operator=(SizeT lexpos)
String stringMeta() const
bool formatIsTrivial() const
RangePtr prange(const SIndex< MetaType, S > &last) const
UPos stepSize(const IndexId< I > &id) const
SIndex & operator+=(Int n)
SIndex & reformat(const Vector< SizeT > &f, const Vector< SizeT > &s)
decltype(auto) xpr(const Sptr< SIndex< MetaType, S > > &_this) const
SRange< MetaT, S > RangeType
Sptr< RangeType > range() const
SIndex operator+(Int n) const
IndexInterface< SIndex< MetaT, S >, MetaT > IB
const MetaT & operator*() const
decltype(auto) ifor(const Xpr &xpr, F &&f) const
SIndex & operator-=(Int n)
SIndex(const RangePtr &range, SizeT pos=0)
const MetaT & meta() const
SIndex & at(const MetaT &metaPos)
SRangeFactory(const Arr< MetaT, S > &space, const RangePtr &ref)
SRangeFactory(Arr< MetaT, S > &&space, const RangePtr &ref)
SRangeFactory(const Arr< MetaT, S > &space)
SRangeFactory(Arr< MetaT, S > &&space)
SIndex< MetaT, S > IndexType
#define SERIALIZATION_FUNCTIONS_NOPUB
Sptr< RangeBase > RangePtr
std::vector< T, Allocator< T > > Vector
Sptr< Range > rangeCast(const RangePtr r)
std::shared_ptr< T > Sptr