CNORXZ
Container with Native Operation Routines and Expressions
|
#include <mrange.h>
Public Types | |
typedef RangeBase | RB |
typedef MIndex< typename Ranges::IndexType... > | IndexType |
typedef Tuple< typename Ranges::IndexType::MetaType... > | MetaType |
Public Types inherited from CNORXZ::RangeInterface< MRange< Ranges... > > | |
typedef RangeBase | RB |
Public Types inherited from CNORXZ::RangeBase | |
typedef DIndex | IndexType |
Public Member Functions | |
virtual RangePtr | sub (SizeT num) const override final |
virtual MArray< RangePtr > | sub () const override final |
virtual SizeT | size () const override final |
virtual SizeT | dim () const override final |
virtual String | stringMeta (SizeT pos) const override final |
virtual const TypeInfo & | type () const override final |
virtual const TypeInfo & | metaType () const override final |
virtual RangePtr | extend (const RangePtr &r) const override final |
decltype(auto) | space () const |
const MetaType | get (SizeT pos) const |
SizeT | getMeta (const MetaType &metaPos) const |
Public Member Functions inherited from CNORXZ::RangeInterface< MRange< Ranges... > > | |
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 |
bool | operator== (const RangeBase &in) const |
bool | operator!= (const RangeBase &in) const |
Uuid | id () const |
DIndex | begin () const |
DIndex | end () const |
Public Attributes | |
friend | MRangeFactory< Ranges... > |
Public Attributes inherited from CNORXZ::RangeBase | |
friend | RangeFactoryBase |
Static Public Attributes | |
static constexpr SizeT | NR = sizeof...(Ranges) |
Protected Member Functions | |
MRange ()=default | |
MRange (const MRange &in)=delete | |
MRange & | operator= (const MRange &in)=delete |
MRange (const Tuple< Sptr< Ranges >... > &rs) | |
virtual Vector< Uuid > | key () const override final |
Protected Member Functions inherited from CNORXZ::RangeInterface< MRange< Ranges... > > | |
RangeInterface ()=default | |
Protected Member Functions inherited from CNORXZ::RangeBase | |
RangeBase () | |
Protected Attributes | |
Tuple< Sptr< Ranges >... > | mRs |
Arr< RangePtr, NR > | mA |
Protected Attributes inherited from CNORXZ::RangeBase | |
Uuid | mId = {0,0} |
Wptr< RangeBase > | mThis |
Multi Range with compile-time fixed number of sub-ranges of compile-time fixed type.
typedef MIndex<typename Ranges::IndexType...> CNORXZ::MRange< Ranges >::IndexType |
typedef Tuple<typename Ranges::IndexType::MetaType...> CNORXZ::MRange< Ranges >::MetaType |
typedef RangeBase CNORXZ::MRange< Ranges >::RB |
|
protecteddefault |
Dafault constructor
|
protecteddelete |
|
protected |
Construct from sub-ranges
rs | Tuple of pointers to sub-ranges. |
Definition at line 682 of file mrange.cc.h.
|
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 720 of file mrange.cc.h.
|
finaloverridevirtual |
Create extended range. Creates a new range consisting of the meta data spaces of this range and the range r
r | shared pointer to range used for extension |
Implements CNORXZ::RangeBase.
Definition at line 763 of file mrange.cc.h.
const MRange< Ranges... >::MetaType CNORXZ::MRange< Ranges >::get | ( | SizeT | pos | ) | const |
SizeT CNORXZ::MRange< Ranges >::getMeta | ( | const MetaType & | metaPos | ) | const |
Get lexicographic position according to the given meta data value.
metaPos | Meta data value. |
Definition at line 756 of file mrange.cc.h.
|
finaloverrideprotectedvirtual |
Implements CNORXZ::RangeBase.
Definition at line 776 of file mrange.cc.h.
|
finaloverridevirtual |
The type of the range's meta data
Implements CNORXZ::RangeBase.
Definition at line 738 of file mrange.cc.h.
|
protecteddelete |
|
finaloverridevirtual |
decltype(auto) CNORXZ::MRange< Ranges >::space | ( | ) | const |
Get sub-ranges.
Definition at line 744 of file mrange.cc.h.
|
finaloverridevirtual |
Meta data in string format at lexicographic position pos.
pos | size type argument |
Implements CNORXZ::RangeBase.
Definition at line 726 of file mrange.cc.h.
|
finaloverridevirtual |
Access sub-ranges. In the case the range is multi-dimensional this function returns an array of all sub-ranges (empty is one-dimensional)
Reimplemented from CNORXZ::RangeBase.
Definition at line 695 of file mrange.cc.h.
|
finaloverridevirtual |
Access sub-ranges. In the case the range is multi-dimensional the num-th sub-range can be accessed through this function
num | size type argument |
Reimplemented from CNORXZ::RangeBase.
Definition at line 688 of file mrange.cc.h.
|
finaloverridevirtual |
|
protected |
friend CNORXZ::MRange< Ranges >::MRangeFactory< Ranges... > |
|
protected |
|
staticconstexpr |