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

#include <aindex.h>

Inheritance diagram for CNORXZ::AIndex< T >:
CNORXZ::YIndex CNORXZ::IndexInterface< YIndex, Vector< DType > > CNORXZ::BIndex< T >

Public Types

typedef YIndex::IB IB
 
- Public Types inherited from CNORXZ::YIndex
typedef IndexInterface< YIndex, Vector< DType > > IB
 
typedef YRange RangeType
 
typedef Vector< DTypeMetaType
 

Public Member Functions

 DEFAULT_MEMBERS (AIndex)
 
 AIndex (const T *data, const RangePtr &range, SizeT lexpos=0)
 
 AIndex (const T *data, const YIndex &yindex)
 
 AIndex (const T *data, const AIndex< T > &aindex)
 
AIndex operator+ (Int n) const
 
AIndex operator- (Int n) const
 
const Toperator* () const
 
const Toperator-> () const
 
YIndexoperator= (YIndex &&i)=default
 
YIndexoperator= (const YIndex &i)
 
YIndexoperator= (SizeT lexpos)
 
- Public Member Functions inherited from CNORXZ::YIndex
 INDEX_RANDOM_ACCESS_ITERATOR_DEFS (MetaType)
 
 YIndex ()=default
 
 YIndex (YIndex &&i)=default
 
YIndexoperator= (YIndex &&i)=default
 
 YIndex (const YIndex &i)
 
YIndexoperator= (const YIndex &i)
 
 YIndex (const Vector< XIndexPtr > &is)
 
 YIndex (const YFormat &bs, const Vector< XIndexPtr > &is)
 
 YIndex (const RangePtr &range, SizeT lexpos=0)
 
 YIndex (const RangePtr &range, const YFormat &bs, SizeT lexpos=0)
 
YIndexoperator= (SizeT lexpos)
 
YIndexoperator++ ()
 
YIndexoperator-- ()
 
YIndex operator+ (Int n) const
 
YIndex operator- (Int n) const
 
SizeT operator- (const YIndex &i) const
 
YIndexoperator+= (Int n)
 
YIndexoperator-= (Int n)
 
SizeT lex () const
 
UPos pmax () const
 
UPos lmax () const
 
IndexId< 0 > id () const
 
Vector< DTypeoperator* () const
 
SizeT dim () const
 
Sptr< YRangerange () const
 
UPos stepSize (const IndexId< 0 > id) const
 
String stringMeta () const
 
Vector< DTypemeta () const
 
YIndexat (const Vector< DType > &meta)
 
RangePtr prange (const YIndex &last) const
 
Vector< SizeTdeepFormat () const
 
Vector< SizeTdeepMax () const
 
YIndexreformat (const Vector< SizeT > &f, const Vector< SizeT > &s)
 
DXpr< Noneifor (const DXpr< None > &xpr, NoF &&f) const
 
bool formatIsTrivial () const
 
YIndexoperator() (const Sptr< YIndex > &i)
 
YIndexoperator() ()
 
const DPackpack () const
 
const YFormatformat () const
 
const YFormatlexFormat () const
 
YIndexsetFormat (const YFormat &bs)
 
YIndexsetSub (SizeT ind, SizeT lex)
 
- Public Member Functions inherited from CNORXZ::IndexInterface< YIndex, Vector< DType > >
 ~IndexInterface ()=default
 
YIndexTHIS ()
 
const YIndexTHIS () const
 
YIndexoperator++ ()
 
YIndexoperator-- ()
 
YIndex operator+ (Int n) const
 
YIndex operator- (Int n) const
 
Int operator- (const IndexInterface &i) const
 
YIndexoperator+= (Int n)
 
YIndexoperator-= (Int n)
 
SizeT pos () const
 
SizeT lex () const
 
SizeT pmax () const
 
SizeT lmax () const
 
PtrId ptrId () const
 
decltype(auto) id () const
 
bool operator== (const IndexInterface &i) const
 
bool operator!= (const IndexInterface &i) const
 
bool operator< (const IndexInterface &i) const
 
bool operator> (const IndexInterface &i) const
 
bool operator<= (const IndexInterface &i) const
 
bool operator>= (const IndexInterface &i) const
 
decltype(auto) operator* () const
 
SizeT dim () const
 
decltype(auto) range () const
 
decltype(auto) stepSize (const IndexId< J > &id) const
 
String stringMeta () const
 
decltype(auto) meta () const
 
YIndexat (const Vector< DType > &meta)
 
RangePtr prange (const IndexInterface &end) const
 
decltype(auto) deepFormat () const
 
decltype(auto) deepMax () const
 
YIndexreformat (const Vector< SizeT > &f, const Vector< SizeT > &s)
 
decltype(auto) ifor (const Xpr &xpr, F &&f) const
 
bool formatIsTrivial () const
 

Protected Attributes

const TmCData = nullptr
 
- Protected Attributes inherited from CNORXZ::IndexInterface< YIndex, Vector< DType > >
SizeT mPos
 

Detailed Description

template<typename T>
class CNORXZ::AIndex< T >

Definition at line 25 of file aindex.h.

Member Typedef Documentation

◆ IB

Definition at line 28 of file aindex.h.

Constructor & Destructor Documentation

◆ AIndex() [1/3]

template<typename T >
CNORXZ::AIndex< T >::AIndex ( const T * data,
const RangePtr & range,
SizeT lexpos = 0 )

Definition at line 21 of file aindex.cc.h.

◆ AIndex() [2/3]

template<typename T >
CNORXZ::AIndex< T >::AIndex ( const T * data,
const YIndex & yindex )

Definition at line 27 of file aindex.cc.h.

◆ AIndex() [3/3]

template<typename T >
CNORXZ::AIndex< T >::AIndex ( const T * data,
const AIndex< T > & aindex )

Definition at line 33 of file aindex.cc.h.

Member Function Documentation

◆ DEFAULT_MEMBERS()

template<typename T >
CNORXZ::AIndex< T >::DEFAULT_MEMBERS ( AIndex< T > )

◆ operator*()

template<typename T >
const T & CNORXZ::AIndex< T >::operator* ( ) const

Definition at line 56 of file aindex.cc.h.

◆ operator+()

template<typename T >
AIndex< T > CNORXZ::AIndex< T >::operator+ ( Int n) const

Definition at line 40 of file aindex.cc.h.

◆ operator-()

template<typename T >
AIndex< T > CNORXZ::AIndex< T >::operator- ( Int n) const

Definition at line 48 of file aindex.cc.h.

◆ operator->()

template<typename T >
const T * CNORXZ::AIndex< T >::operator-> ( ) const

Definition at line 62 of file aindex.cc.h.

◆ operator=() [1/3]

template<typename T >
YIndex & CNORXZ::YIndex::operator= ( const YIndex & i)

Copy assigment. No default copy: Have to copy sub-index instances

Definition at line 59 of file yrange.cc.

◆ operator=() [2/3]

template<typename T >
YIndex & CNORXZ::YIndex::operator= ( SizeT lexpos)

Definition at line 86 of file yrange.cc.

◆ operator=() [3/3]

template<typename T >
YIndex & CNORXZ::YIndex::operator= ( YIndex && i)
default

Move assignment.

Member Data Documentation

◆ mCData

template<typename T >
const T* CNORXZ::AIndex< T >::mCData = nullptr
protected

Definition at line 43 of file aindex.h.


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