ztsdb
Public Member Functions | Public Attributes | List of all members
arr::NullIndex Struct Reference

#include <index.hpp>

Public Member Functions

bool getfirst (idx_type &val, idx_type &i) const
 
bool getnext (idx_type &val, idx_type &i) const
 
size_t trueSize () const
 
size_t size () const
 
template<typename T >
void subset (Vector< T > &rv, const Vector< T > &v) const
 Subset 'v' according to this index and put the result into 'rv'.
 
template<typename T , typename U >
void subassign (Vector< T > &rv, U &u, idx_type &vj) const
 
template<typename T , typename U >
void subassignScalar (Vector< T > &rv, U u) const
 
void selectNames (Dname &tonames, const Dname &fromnames) const
 

Public Attributes

const idx_type sz
 

Detailed Description

We define a series of classes that implement the various types of indices. We do not derive them from a base class and use virtual functions, instead we use them in a Variant for performance reasons. Note that the XyzIndex always holds all the information (via a const ref) to any data it needs in order to convert to indices of type idx_type. This is done by the inline functions getfirst and getnext.

Member Function Documentation

◆ subassign()

template<typename T , typename U >
void arr::NullIndex::subassign ( Vector< T > &  rv,
U &  u,
idx_type &  vj 
) const
inline

Subassign from 'v' into 'rv' according to index conceptually linked to 'rv'. i.e. this is taking 'v' and putting it into the places in 'rv' indicated by this index.

◆ subassignScalar()

template<typename T , typename U >
void arr::NullIndex::subassignScalar ( Vector< T > &  rv,
u 
) const
inline

Subassign the scalar 'u' to 'rv' according to index conceptually linked to 'rv'. i.e. this is taking 'u' and putting it into the places in 'rv' indicated by this index.


The documentation for this struct was generated from the following file: