CNORXZ
Container with Native Operation Routines and Expressions
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
CNORXZ::PRange< RangeT > Class Template Reference

#include <prange.h>

Inheritance diagram for CNORXZ::PRange< RangeT >:
CNORXZ::RangeInterface< PRange< RangeT > > CNORXZ::RangeBase

Public Types

typedef RangeBase RB
 
typedef PIndex< typename RangeT::IndexType > IndexType
 
typedef RangeT::MetaType MetaType
 
- Public Types inherited from CNORXZ::RangeInterface< PRange< RangeT > >
typedef RangeBase RB
 
- Public Types inherited from CNORXZ::RangeBase
typedef DIndex IndexType
 

Public Member Functions

virtual SizeT size () const override final
 
virtual SizeT dim () const override final
 
virtual String stringMeta (SizeT pos) const override final
 
virtual const TypeInfotype () const override final
 
virtual const TypeInfometaType () const override final
 
virtual RangePtr extend (const RangePtr &r) const override final
 
Sptr< RangeTorig () const
 
const Vector< SizeT > & parts () const
 
RangePtr derive () const
 
- Public Member Functions inherited from CNORXZ::RangeInterface< PRange< RangeT > >
decltype(auto) begin () const
 
decltype(auto) end () const
 
virtual DIndex index (SizeT pos) const override final
 
- Public Member Functions inherited from CNORXZ::RangeBase
virtual ~RangeBase ()=default
 
virtual RangePtr sub (SizeT num) const
 
virtual MArray< RangePtrsub () const
 
bool operator== (const RangeBase &in) const
 
bool operator!= (const RangeBase &in) const
 
Uuid id () const
 
DIndex begin () const
 
DIndex end () const
 

Public Attributes

friend PRangeFactory< RangeT >
 
- Public Attributes inherited from CNORXZ::RangeBase
friend RangeFactoryBase
 

Additional Inherited Members

- Protected Member Functions inherited from CNORXZ::RangeInterface< PRange< RangeT > >
 RangeInterface ()=default
 
- Protected Member Functions inherited from CNORXZ::RangeBase
 RangeBase ()
 
- Protected Attributes inherited from CNORXZ::RangeBase
Uuid mId = {0,0}
 
Wptr< RangeBasemThis
 

Detailed Description

template<class RangeT>
class CNORXZ::PRange< RangeT >

Partial Range. Ranges of these kind represent a part of a given range (full range). Using a mathematical nomenclature, this would be called a "sub-range". (The prefix "sub", as well as the letter "S" are, however, already extensively used in other contexts.)

Definition at line 184 of file prange.h.

Member Typedef Documentation

◆ IndexType

template<class RangeT >
typedef PIndex<typename RangeT::IndexType> CNORXZ::PRange< RangeT >::IndexType

Definition at line 188 of file prange.h.

◆ MetaType

template<class RangeT >
typedef RangeT::MetaType CNORXZ::PRange< RangeT >::MetaType

Definition at line 189 of file prange.h.

◆ RB

Definition at line 187 of file prange.h.

Member Function Documentation

◆ derive()

template<class RangeT >
RangePtr CNORXZ::PRange< RangeT >::derive ( ) const

Create a new range of the type of the full range but containing only the parts covered by the PRange.

Returns
The created range.

Definition at line 366 of file prange.cc.h.

◆ dim()

template<class RangeT >
SizeT CNORXZ::PRange< RangeT >::dim ( ) const
finaloverridevirtual

Range dimension. Returns the range's dimension, which is equivalent to the number of sub-ranges. If a sub-range has non-zero dimension this is NOT taken into account!

Implements CNORXZ::RangeBase.

Definition at line 312 of file prange.cc.h.

◆ extend()

template<class RangeT >
RangePtr CNORXZ::PRange< RangeT >::extend ( const RangePtr & r) const
finaloverridevirtual

Create extended range. Creates a new range consisting of the meta data spaces of this range and the range r

Parameters
rshared pointer to range used for extension

Implements CNORXZ::RangeBase.

Definition at line 336 of file prange.cc.h.

◆ metaType()

template<class RangeT >
const TypeInfo & CNORXZ::PRange< RangeT >::metaType ( ) const
finaloverridevirtual

The type of the range's meta data

Implements CNORXZ::RangeBase.

Definition at line 330 of file prange.cc.h.

◆ orig()

template<class RangeT >
Sptr< RangeT > CNORXZ::PRange< RangeT >::orig ( ) const

Get the full range.

Returns
Pointer to the full range.

Definition at line 354 of file prange.cc.h.

◆ parts()

template<class RangeT >
const Vector< SizeT > & CNORXZ::PRange< RangeT >::parts ( ) const

Get the parts.

Returns
Integer vector indicating the parts contained by the PRange w.r.t. the full range.

Definition at line 360 of file prange.cc.h.

◆ size()

template<class RangeT >
SizeT CNORXZ::PRange< RangeT >::size ( ) const
finaloverridevirtual

Range size

Implements CNORXZ::RangeBase.

Definition at line 306 of file prange.cc.h.

◆ stringMeta()

template<class RangeT >
String CNORXZ::PRange< RangeT >::stringMeta ( SizeT pos) const
finaloverridevirtual

Meta data in string format at lexicographic position pos.

Parameters
possize type argument

Implements CNORXZ::RangeBase.

Definition at line 318 of file prange.cc.h.

◆ type()

template<class RangeT >
const TypeInfo & CNORXZ::PRange< RangeT >::type ( ) const
finaloverridevirtual

Range type

Implements CNORXZ::RangeBase.

Definition at line 324 of file prange.cc.h.

Member Data Documentation

◆ PRangeFactory< RangeT >

template<class RangeT >
friend CNORXZ::PRange< RangeT >::PRangeFactory< RangeT >

Definition at line 191 of file prange.h.


The documentation for this class was generated from the following files: