IODA Bundle
odc::api::StridedDataT< value_type > Class Template Reference

#include <StridedData.h>

Public Types

using const_value_type = typename std::add_const< value_type >::type
 
using iterator = StridedDataT< value_type >
 
using const_iterator = StridedDataT< const_value_type >
 

Public Member Functions

 StridedDataT (void_arg_t data, size_t nelem, size_t dataSize, size_t stride)
 
 StridedDataT ()
 
 ~StridedDataT ()
 
 StridedDataT (const StridedDataT< value_type > &rhs)=default
 
StridedDataT< value_type > & operator= (const StridedDataT< value_type > &rhs)=default
 
StridedDataT< value_type > slice (size_t rowOffset, size_t nrows)
 
StridedDataT< value_type > slice (size_t rowOffset, size_t nrows) const
 
size_t nelem () const
 
size_t dataSize () const
 
size_t stride () const
 
value_type * get (int i)
 
const_value_typeget (int i) const
 
value_type * operator[] (int i)
 
const_value_typeoperator[] (int i) const
 
value_type * operator* ()
 
const_value_typeoperator* () const
 
void fill (int sourceRow, int finalRow)
 
bool isNewValue (size_t row) const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
StridedDataT< value_type > & operator++ ()
 
StridedDataT< value_type > operator++ (int)
 
bool operator== (const StridedDataT< value_type > &rhs) const
 
bool operator!= (const StridedDataT< value_type > &rhs) const
 

Private Types

using void_arg_t = typename std::conditional< std::is_const< value_type >::value, const void *, void * >::type
 

Private Attributes

value_type * data_
 
size_t nelem_
 
size_t dataSize_
 
size_t stride_
 

Friends

std::ostream & operator<< (std::ostream &o, const StridedDataT< value_type > &s)
 

Detailed Description

template<typename value_type>
class odc::api::StridedDataT< value_type >

Definition at line 31 of file StridedData.h.

Member Typedef Documentation

◆ const_iterator

template<typename value_type >
using odc::api::StridedDataT< value_type >::const_iterator = StridedDataT<const_value_type>

Definition at line 38 of file StridedData.h.

◆ const_value_type

template<typename value_type >
using odc::api::StridedDataT< value_type >::const_value_type = typename std::add_const<value_type>::type

Definition at line 35 of file StridedData.h.

◆ iterator

template<typename value_type >
using odc::api::StridedDataT< value_type >::iterator = StridedDataT<value_type>

Definition at line 37 of file StridedData.h.

◆ void_arg_t

template<typename value_type >
using odc::api::StridedDataT< value_type >::void_arg_t = typename std::conditional<std::is_const<value_type>::value, const void*, void*>::type
private

Definition at line 42 of file StridedData.h.

Constructor & Destructor Documentation

◆ StridedDataT() [1/3]

template<typename value_type >
odc::api::StridedDataT< value_type >::StridedDataT ( void_arg_t  data,
size_t  nelem,
size_t  dataSize,
size_t  stride 
)
inline

Definition at line 48 of file StridedData.h.

◆ StridedDataT() [2/3]

template<typename value_type >
odc::api::StridedDataT< value_type >::StridedDataT ( )
inline

Definition at line 51 of file StridedData.h.

◆ ~StridedDataT()

template<typename value_type >
odc::api::StridedDataT< value_type >::~StridedDataT ( )
inline

Definition at line 53 of file StridedData.h.

◆ StridedDataT() [3/3]

template<typename value_type >
odc::api::StridedDataT< value_type >::StridedDataT ( const StridedDataT< value_type > &  rhs)
default

Member Function Documentation

◆ begin() [1/2]

template<typename value_type >
iterator odc::api::StridedDataT< value_type >::begin ( )
inline

Definition at line 98 of file StridedData.h.

◆ begin() [2/2]

template<typename value_type >
const_iterator odc::api::StridedDataT< value_type >::begin ( ) const
inline

Definition at line 101 of file StridedData.h.

◆ dataSize()

template<typename value_type >
size_t odc::api::StridedDataT< value_type >::dataSize ( ) const
inline

Definition at line 73 of file StridedData.h.

◆ end() [1/2]

template<typename value_type >
iterator odc::api::StridedDataT< value_type >::end ( )
inline

Definition at line 99 of file StridedData.h.

◆ end() [2/2]

template<typename value_type >
const_iterator odc::api::StridedDataT< value_type >::end ( ) const
inline

Definition at line 102 of file StridedData.h.

◆ fill()

template<typename value_type >
void odc::api::StridedDataT< value_type >::fill ( int  sourceRow,
int  finalRow 
)
inline

Definition at line 145 of file StridedData.h.

◆ get() [1/2]

template<typename value_type >
value_type* odc::api::StridedDataT< value_type >::get ( int  i)
inline

Definition at line 76 of file StridedData.h.

Here is the caller graph for this function:

◆ get() [2/2]

template<typename value_type >
const_value_type* odc::api::StridedDataT< value_type >::get ( int  i) const
inline

Definition at line 79 of file StridedData.h.

Here is the caller graph for this function:

◆ isNewValue()

template<typename value_type >
bool odc::api::StridedDataT< value_type >::isNewValue ( size_t  row) const
inline

Definition at line 91 of file StridedData.h.

Here is the call graph for this function:

◆ nelem()

template<typename value_type >
size_t odc::api::StridedDataT< value_type >::nelem ( ) const
inline

Definition at line 72 of file StridedData.h.

◆ operator!=()

template<typename value_type >
bool odc::api::StridedDataT< value_type >::operator!= ( const StridedDataT< value_type > &  rhs) const
inline

Definition at line 122 of file StridedData.h.

◆ operator*() [1/2]

template<typename value_type >
value_type* odc::api::StridedDataT< value_type >::operator* ( )
inline

Definition at line 86 of file StridedData.h.

◆ operator*() [2/2]

template<typename value_type >
const_value_type* odc::api::StridedDataT< value_type >::operator* ( ) const
inline

Definition at line 87 of file StridedData.h.

◆ operator++() [1/2]

template<typename value_type >
StridedDataT<value_type>& odc::api::StridedDataT< value_type >::operator++ ( )
inline

Definition at line 104 of file StridedData.h.

◆ operator++() [2/2]

template<typename value_type >
StridedDataT<value_type> odc::api::StridedDataT< value_type >::operator++ ( int  )
inline

Definition at line 110 of file StridedData.h.

◆ operator=()

template<typename value_type >
StridedDataT<value_type>& odc::api::StridedDataT< value_type >::operator= ( const StridedDataT< value_type > &  rhs)
default

◆ operator==()

template<typename value_type >
bool odc::api::StridedDataT< value_type >::operator== ( const StridedDataT< value_type > &  rhs) const
inline

Definition at line 116 of file StridedData.h.

◆ operator[]() [1/2]

template<typename value_type >
value_type* odc::api::StridedDataT< value_type >::operator[] ( int  i)
inline

Definition at line 83 of file StridedData.h.

Here is the call graph for this function:

◆ operator[]() [2/2]

template<typename value_type >
const_value_type* odc::api::StridedDataT< value_type >::operator[] ( int  i) const
inline

Definition at line 84 of file StridedData.h.

Here is the call graph for this function:

◆ slice() [1/2]

template<typename value_type >
StridedDataT<value_type> odc::api::StridedDataT< value_type >::slice ( size_t  rowOffset,
size_t  nrows 
)
inline

Definition at line 60 of file StridedData.h.

Here is the call graph for this function:

◆ slice() [2/2]

template<typename value_type >
StridedDataT<value_type> odc::api::StridedDataT< value_type >::slice ( size_t  rowOffset,
size_t  nrows 
) const
inline

Definition at line 65 of file StridedData.h.

Here is the call graph for this function:

◆ stride()

template<typename value_type >
size_t odc::api::StridedDataT< value_type >::stride ( ) const
inline

Definition at line 74 of file StridedData.h.

Friends And Related Function Documentation

◆ operator<<

template<typename value_type >
std::ostream& operator<< ( std::ostream &  o,
const StridedDataT< value_type > &  s 
)
friend

Definition at line 128 of file StridedData.h.

Member Data Documentation

◆ data_

template<typename value_type >
value_type* odc::api::StridedDataT< value_type >::data_
private

Definition at line 135 of file StridedData.h.

◆ dataSize_

template<typename value_type >
size_t odc::api::StridedDataT< value_type >::dataSize_
private

Definition at line 138 of file StridedData.h.

◆ nelem_

template<typename value_type >
size_t odc::api::StridedDataT< value_type >::nelem_
private

Definition at line 137 of file StridedData.h.

◆ stride_

template<typename value_type >
size_t odc::api::StridedDataT< value_type >::stride_
private

Definition at line 139 of file StridedData.h.


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