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

#include <srange.h>

Inheritance diagram for CNORXZ::SRange< MetaT, S >:
CNORXZ::RangeInterface< SRange< MetaT, S > > CNORXZ::RangeBase

Public Types

typedef RangeBase RB
 
typedef SIndex< MetaT, SIndexType
 
typedef MetaT MetaType
 
- Public Types inherited from CNORXZ::RangeInterface< SRange< MetaT, S > >
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
 
const MetaTget (SizeT pos) const
 
const MetaTget () const
 
SizeT getMeta (const MetaT &metaPos) const
 
- Public Member Functions inherited from CNORXZ::RangeInterface< SRange< MetaT, S > >
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 SRangeFactory< MetaT, S >
 
- Public Attributes inherited from CNORXZ::RangeBase
friend RangeFactoryBase
 

Additional Inherited Members

- Protected Member Functions inherited from CNORXZ::RangeInterface< SRange< MetaT, S > >
 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<typename MetaT, SizeT S>
class CNORXZ::SRange< MetaT, S >

Static size range. The same as URange, but the range size is compile-time fixed.

Template Parameters
MetaTMeta data type.
SStatic range size.

Definition at line 183 of file srange.h.

Member Typedef Documentation

◆ IndexType

template<typename MetaT , SizeT S>
typedef SIndex<MetaT,S> CNORXZ::SRange< MetaT, S >::IndexType

Definition at line 187 of file srange.h.

◆ MetaType

template<typename MetaT , SizeT S>
typedef MetaT CNORXZ::SRange< MetaT, S >::MetaType

Definition at line 188 of file srange.h.

◆ RB

Definition at line 186 of file srange.h.

Member Function Documentation

◆ dim()

template<typename MetaType , SizeT S>
SizeT CNORXZ::SRange< MetaType, S >::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 281 of file srange.cc.h.

◆ extend()

template<typename MetaType , SizeT S>
RangePtr CNORXZ::SRange< MetaType, S >::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 305 of file srange.cc.h.

◆ get() [1/2]

template<typename MetaType , SizeT S>
const MetaType * CNORXZ::SRange< MetaType, S >::get ( ) const

Get underlying meta data array.

Returns
Pointer to first position of meta data array.

Definition at line 321 of file srange.cc.h.

◆ get() [2/2]

template<typename MetaType , SizeT S>
const MetaType & CNORXZ::SRange< MetaType, S >::get ( SizeT pos) const

return meta data at given position.

Parameters
posposition, size type

Definition at line 315 of file srange.cc.h.

◆ getMeta()

template<typename MetaType , SizeT S>
SizeT CNORXZ::SRange< MetaType, S >::getMeta ( const MetaT & metaPos) const

return position for given meta data.

Parameters
metaPosmeta data, size type

Definition at line 327 of file srange.cc.h.

◆ metaType()

template<typename MetaType , SizeT S>
const TypeInfo & CNORXZ::SRange< MetaType, S >::metaType ( ) const
finaloverridevirtual

The type of the range's meta data

Implements CNORXZ::RangeBase.

Definition at line 299 of file srange.cc.h.

◆ size()

template<typename MetaType , SizeT S>
SizeT CNORXZ::SRange< MetaType, S >::size ( ) const
finaloverridevirtual

Range size

Implements CNORXZ::RangeBase.

Definition at line 275 of file srange.cc.h.

◆ stringMeta()

template<typename MetaType , SizeT S>
String CNORXZ::SRange< MetaType, S >::stringMeta ( SizeT pos) const
finaloverridevirtual

Meta data in string format at lexicographic position pos.

Parameters
possize type argument

Implements CNORXZ::RangeBase.

Definition at line 287 of file srange.cc.h.

◆ type()

template<typename MetaType , SizeT S>
const TypeInfo & CNORXZ::SRange< MetaType, S >::type ( ) const
finaloverridevirtual

Range type

Implements CNORXZ::RangeBase.

Definition at line 293 of file srange.cc.h.

Member Data Documentation

◆ SRangeFactory< MetaT, S >

template<typename MetaT , SizeT S>
friend CNORXZ::SRange< MetaT, S >::SRangeFactory< MetaT, S >

Definition at line 190 of file srange.h.


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