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

#include <urange.h>

Inheritance diagram for CNORXZ::URange< MetaT >:
CNORXZ::RangeInterface< URange< MetaT > > CNORXZ::RangeBase

Public Types

typedef RangeBase RB
 
typedef UIndex< MetaTIndexType
 
typedef MetaT MetaType
 
- Public Types inherited from CNORXZ::RangeInterface< URange< MetaT > >
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 MetaTypeget (SizeT pos) const
 
const MetaTypeget () const
 
SizeT getMeta (const MetaType &metaPos) const
 
- Public Member Functions inherited from CNORXZ::RangeInterface< URange< MetaT > >
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 URangeFactory< MetaType >
 
- Public Attributes inherited from CNORXZ::RangeBase
friend RangeFactoryBase
 

Additional Inherited Members

- Protected Member Functions inherited from CNORXZ::RangeInterface< URange< MetaT > >
 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>
class CNORXZ::URange< MetaT >

Uni-(1-)dimensional range with non-trivial meta data space i.e. the parameter space can be arbitrary.

Template Parameters
MetaTMeta data type.

Definition at line 169 of file urange.h.

Member Typedef Documentation

◆ IndexType

template<typename MetaT >
typedef UIndex<MetaT> CNORXZ::URange< MetaT >::IndexType

Definition at line 173 of file urange.h.

◆ MetaType

template<typename MetaT >
typedef MetaT CNORXZ::URange< MetaT >::MetaType

Definition at line 174 of file urange.h.

◆ RB

Definition at line 172 of file urange.h.

Member Function Documentation

◆ dim()

template<typename MetaT >
SizeT CNORXZ::URange< MetaT >::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 314 of file urange.cc.h.

◆ extend()

template<typename MetaT >
RangePtr CNORXZ::URange< MetaT >::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 338 of file urange.cc.h.

◆ get() [1/2]

template<typename MetaT >
const MetaT * CNORXZ::URange< MetaT >::get ( ) const

Get meta data array.

Returns
Pointer to first element of the underlying meta data array.

Definition at line 291 of file urange.cc.h.

◆ get() [2/2]

template<typename MetaT >
const MetaT & CNORXZ::URange< MetaT >::get ( SizeT pos) const

Get meta data at given range position.

Parameters
posInteger indicating requested position.
Returns
Meta data at given postion.

Definition at line 285 of file urange.cc.h.

◆ getMeta()

template<typename MetaT >
SizeT CNORXZ::URange< MetaT >::getMeta ( const MetaType & metaPos) const

Get range position for given meta data.

Parameters
metaPosMeta data.
Returns
Position of the given meta data if it is contained by the range.

Definition at line 297 of file urange.cc.h.

◆ metaType()

template<typename MetaT >
const TypeInfo & CNORXZ::URange< MetaT >::metaType ( ) const
finaloverridevirtual

The type of the range's meta data

Implements CNORXZ::RangeBase.

Definition at line 332 of file urange.cc.h.

◆ size()

template<typename MetaT >
SizeT CNORXZ::URange< MetaT >::size ( ) const
finaloverridevirtual

Range size

Implements CNORXZ::RangeBase.

Definition at line 308 of file urange.cc.h.

◆ stringMeta()

template<typename MetaT >
String CNORXZ::URange< MetaT >::stringMeta ( SizeT pos) const
finaloverridevirtual

Meta data in string format at lexicographic position pos.

Parameters
possize type argument

Implements CNORXZ::RangeBase.

Definition at line 320 of file urange.cc.h.

◆ type()

template<typename MetaT >
const TypeInfo & CNORXZ::URange< MetaT >::type ( ) const
finaloverridevirtual

Range type

Implements CNORXZ::RangeBase.

Definition at line 326 of file urange.cc.h.

Member Data Documentation

◆ URangeFactory< MetaType >

template<typename MetaT >
friend CNORXZ::URange< MetaT >::URangeFactory< MetaType >

Definition at line 176 of file urange.h.


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