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

#include <yrange.h>

Inheritance diagram for CNORXZ::YRange:
CNORXZ::RangeInterface< YRange > CNORXZ::RangeBase

Public Types

typedef RangeBase RB
 
typedef YIndex IndexType
 
- Public Types inherited from CNORXZ::RangeInterface< YRange >
typedef RangeBase RB
 
- Public Types inherited from CNORXZ::RangeBase
typedef DIndex IndexType
 

Public Member Functions

virtual RangePtr sub (SizeT i) const override final
 
virtual MArray< RangePtrsub () 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 TypeInfotype () const override final
 
virtual const TypeInfometaType () const override final
 
virtual RangePtr extend (const RangePtr &r) const override final
 
- Public Member Functions inherited from CNORXZ::RangeInterface< YRange >
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 YRangeFactory
 
- Public Attributes inherited from CNORXZ::RangeBase
friend RangeFactoryBase
 

Additional Inherited Members

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

Detailed Description


Dynamic multi-dimensional range

Dimension and sub-range types are determined at runtime The size of the range is given by the product of the sizes of all sub-ranges.

Definition at line 309 of file yrange.h.

Member Typedef Documentation

◆ IndexType

Definition at line 313 of file yrange.h.

◆ RB

Definition at line 312 of file yrange.h.

Member Function Documentation

◆ dim()

SizeT CNORXZ::YRange::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 599 of file yrange.cc.

◆ extend()

RangePtr CNORXZ::YRange::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 634 of file yrange.cc.

◆ metaType()

const TypeInfo & CNORXZ::YRange::metaType ( ) const
finaloverridevirtual

The type of the range's meta data

Implements CNORXZ::RangeBase.

Definition at line 629 of file yrange.cc.

◆ size()

SizeT CNORXZ::YRange::size ( ) const
finaloverridevirtual

Range size

Implements CNORXZ::RangeBase.

Definition at line 590 of file yrange.cc.

◆ stringMeta()

String CNORXZ::YRange::stringMeta ( SizeT pos) const
finaloverridevirtual

Meta data in string format at lexicographic position pos.

Parameters
possize type argument

Implements CNORXZ::RangeBase.

Definition at line 604 of file yrange.cc.

◆ sub() [1/2]

MArray< RangePtr > CNORXZ::YRange::sub ( ) const
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 582 of file yrange.cc.

◆ sub() [2/2]

RangePtr CNORXZ::YRange::sub ( SizeT num) const
finaloverridevirtual

Access sub-ranges. In the case the range is multi-dimensional the num-th sub-range can be accessed through this function

Parameters
numsize type argument

Reimplemented from CNORXZ::RangeBase.

Definition at line 577 of file yrange.cc.

◆ type()

const TypeInfo & CNORXZ::YRange::type ( ) const
finaloverridevirtual

Range type

Implements CNORXZ::RangeBase.

Definition at line 624 of file yrange.cc.

Member Data Documentation

◆ YRangeFactory

friend CNORXZ::YRange::YRangeFactory

Definition at line 315 of file yrange.h.


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