12#ifndef __cxz_prange_h__ 
   13#define __cxz_prange_h__ 
   26    template <
class IndexT>
 
   78    decltype(
auto) 
operator*() 
const;
 
   94    decltype(
auto) 
meta() 
const;
 
  106    decltype(
auto) 
deepMax() 
const;
 
  112    template <
class Xpr, 
class F>
 
  113    decltype(
auto) 
ifor(
const Xpr& 
xpr, 
F&& 
f) 
const;
 
 
  145    template <
class I, 
class I1>
 
  151    template <
class RangeT>
 
  170    virtual void make() 
override final;
 
 
  183    template <
class RangeT>
 
const Sptr< IndexT > & orig() const
PIndex & operator-=(Int n)
RangePtr prange(const PIndex< IndexT > &last) const
UPos stepSize(const IndexId< I > &id) const
decltype(auto) xpr(const Sptr< PIndex< IndexT > > &_this) const
IndexInterface< PIndex< IndexT >, typename IndexT::MetaType > IB
PIndex operator-(Int n) const
String stringMeta() const
decltype(auto) ifor(const Xpr &xpr, F &&f) const
PIndex & operator=(SizeT lexpos)
PIndex & reformat(const Vector< SizeT > &f, const Vector< SizeT > &s)
PIndex & operator+=(Int n)
decltype(auto) deepMax() const
decltype(auto) meta() const
PIndex operator+(Int n) const
IndexT::MetaType MetaType
PRange< typename IndexT::RangeType > RangeType
bool formatIsTrivial() const
PIndex & at(const MetaType &metaPos)
decltype(auto) deepFormat() const
PIndex(const RangePtr &range, SizeT pos=0)
Sptr< RangeType > range() const
const Vector< SizeT > & parts() const
PIndex< typename RangeT::IndexType > IndexType
virtual SizeT size() const override final
virtual const TypeInfo & type() const override final
virtual RangePtr extend(const RangePtr &r) const override final
RangeT::MetaType MetaType
virtual SizeT dim() const override final
virtual const TypeInfo & metaType() const override final
virtual String stringMeta(SizeT pos) const override final
Sptr< RangeT > orig() const
Sptr< RangeBase > RangePtr
std::vector< T, Allocator< T > > Vector
Sptr< Range > rangeCast(const RangePtr r)
RangePtr prange(const Sptr< RangeT > &range, const Vector< SizeT > &parts)
std::shared_ptr< T > Sptr