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< 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
 
- 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< RangeBase > mThis
 

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: