cartobase  5.0.5
carto::NDIterator_base Class Reference

Base class for N-dimensional array iterators. More...

#include <cartobase/containers/nditerator.h>

Inheritance diagram for carto::NDIterator_base:
Collaboration diagram for carto::NDIterator_base:

Public Member Functions

 NDIterator_base (const std::vector< int > &dims)
 
 NDIterator_base (const std::vector< int > &dims, const std::vector< int > &strides)
 
 NDIterator_base (const std::vector< int > &dims, const std::vector< size_t > &strides)
 
 NDIterator_base (const std::vector< int > &dims, const std::vector< long > &strides)
 
const std::vector< int > & position () const
 
uint64_t offset () const
 
NDIterator_baseoperator++ ()
 
bool ended () const
 
void reset ()
 

Static Protected Member Functions

template<typename T >
static std::vector< size_t > to_int_v (const std::vector< T > &v)
 

Protected Attributes

std::vector< int > _dims
 
std::vector< size_t > _strides
 
std::vector< int > _position
 
uint64_t _offset
 
bool _ended
 

Detailed Description

Base class for N-dimensional array iterators.

See NDIterator, const_NDIterator, line_NDIterator, and const_line_NDIterator.

Definition at line 49 of file nditerator.h.

Constructor & Destructor Documentation

◆ NDIterator_base() [1/4]

carto::NDIterator_base::NDIterator_base ( const std::vector< int > &  dims)
inline

Definition at line 225 of file nditerator.h.

References _ended.

◆ NDIterator_base() [2/4]

carto::NDIterator_base::NDIterator_base ( const std::vector< int > &  dims,
const std::vector< int > &  strides 
)
inline

Definition at line 233 of file nditerator.h.

References _ended.

◆ NDIterator_base() [3/4]

carto::NDIterator_base::NDIterator_base ( const std::vector< int > &  dims,
const std::vector< size_t > &  strides 
)
inline

Definition at line 244 of file nditerator.h.

References _ended.

◆ NDIterator_base() [4/4]

carto::NDIterator_base::NDIterator_base ( const std::vector< int > &  dims,
const std::vector< long > &  strides 
)
inline

Definition at line 254 of file nditerator.h.

References _ended.

Member Function Documentation

◆ ended()

bool carto::NDIterator_base::ended ( ) const
inline

Definition at line 277 of file nditerator.h.

References _ended.

◆ offset()

uint64_t carto::NDIterator_base::offset ( ) const
inline

Definition at line 271 of file nditerator.h.

References _offset.

◆ operator++()

NDIterator_base & carto::NDIterator_base::operator++ ( )
inline

Definition at line 302 of file nditerator.h.

References _dims, _ended, _offset, _position, and _strides.

◆ position()

const std::vector< int > & carto::NDIterator_base::position ( ) const
inline

Definition at line 265 of file nditerator.h.

References _position.

◆ reset()

void carto::NDIterator_base::reset ( )
inline

Definition at line 283 of file nditerator.h.

References _dims, _offset, and _position.

◆ to_int_v()

template<typename T >
std::vector< size_t > carto::NDIterator_base::to_int_v ( const std::vector< T > &  v)
inlinestaticprotected

Definition at line 291 of file nditerator.h.

Member Data Documentation

◆ _dims

std::vector<int> carto::NDIterator_base::_dims
protected

Definition at line 72 of file nditerator.h.

Referenced by operator++(), carto::line_NDIterator_base::operator++(), and reset().

◆ _ended

bool carto::NDIterator_base::_ended
protected

◆ _offset

◆ _position

std::vector<int> carto::NDIterator_base::_position
protected

Definition at line 74 of file nditerator.h.

Referenced by operator++(), carto::line_NDIterator_base::operator++(), position(), and reset().

◆ _strides

std::vector<size_t> carto::NDIterator_base::_strides
protected

Definition at line 73 of file nditerator.h.

Referenced by operator++(), and carto::line_NDIterator_base::operator++().


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