|
cartobase 6.0.6
|
const variant of the line_NDIterator More...
#include <cartobase/containers/nditerator.h>


Public Member Functions | |
| const_line_NDIterator (const T *buffer, const std::vector< int > &dims) | |
| const_line_NDIterator (const T *buffer, const std::vector< int > &dims, const std::vector< int > &strides, bool optimize_direction=false) | |
| the optional "optimize_direction" parameter allows the iterator to find a contiguous direction (with a stride == 1) and use it as the line dimension. | |
| const_line_NDIterator (const T *buffer, const std::vector< int > &dims, const std::vector< std::size_t > &strides, bool optimize_direction=false) | |
| const_line_NDIterator (const T *buffer, const std::vector< int > &dims, const std::vector< std::ptrdiff_t > &strides, bool optimize_direction=false) | |
| const T & | operator* () const |
| const T * | operator-> () const |
| void | inc_line_ptr (const T *&p) const |
| increment a "line" pointer (advancing through the line) | |
| std::ptrdiff_t | line_length () const |
| line_size * line stride: end of line | |
Public Member Functions inherited from carto::line_NDIterator_base | |
| line_NDIterator_base (const std::vector< int > &dims) | |
| line_NDIterator_base (const std::vector< int > &dims, const std::vector< int > &strides, bool optimize_direction=false) | |
| line_NDIterator_base (const std::vector< int > &dims, const std::vector< std::size_t > &strides, bool optimize_direction=false) | |
| line_NDIterator_base (const std::vector< int > &dims, const std::vector< std::ptrdiff_t > &strides, bool optimize_direction=false) | |
| NDIterator_base & | operator++ () |
| int | line_size () const |
| int | line_direction () const |
| bool | is_contiguous () const |
Public Member Functions inherited from carto::NDIterator_base | |
| 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< std::size_t > &strides) | |
| NDIterator_base (const std::vector< int > &dims, const std::vector< std::ptrdiff_t > &strides) | |
| const std::vector< int > & | position () const |
| std::ptrdiff_t | offset () const |
| NDIterator_base & | operator++ () |
| bool | ended () const |
| void | reset () |
Protected Attributes | |
| const T * | _buffer |
Protected Attributes inherited from carto::line_NDIterator_base | |
| int | _line_directon |
| std::ptrdiff_t | _line_stride |
| bool | _contiguous |
Protected Attributes inherited from carto::NDIterator_base | |
| std::vector< int > | _dims |
| std::vector< std::ptrdiff_t > | _strides |
| std::vector< int > | _position |
| std::ptrdiff_t | _offset |
| bool | _ended |
Additional Inherited Members | |
Protected Member Functions inherited from carto::line_NDIterator_base | |
| void | set_optimized_direction (bool optimize_direction=false) |
Static Protected Member Functions inherited from carto::NDIterator_base | |
| template<typename T> | |
| static std::vector< std::ptrdiff_t > | to_ptrdiff_v (const std::vector< T > &v) |
const variant of the line_NDIterator
Definition at line 236 of file nditerator.h.
|
inline |
Definition at line 667 of file nditerator.h.
References _buffer, and carto::line_NDIterator_base::line_NDIterator_base().
|
inline |
the optional "optimize_direction" parameter allows the iterator to find a contiguous direction (with a stride == 1) and use it as the line dimension.
This way a line pointer can be incremented instead of adding strides. In many cases it does not change much in performance.
Definition at line 675 of file nditerator.h.
References _buffer, and carto::line_NDIterator_base::line_NDIterator_base().
|
inline |
Definition at line 685 of file nditerator.h.
References _buffer, and carto::line_NDIterator_base::line_NDIterator_base().
|
inline |
Definition at line 695 of file nditerator.h.
References _buffer, and carto::line_NDIterator_base::line_NDIterator_base().
|
inline |
increment a "line" pointer (advancing through the line)
Definition at line 719 of file nditerator.h.
References carto::line_NDIterator_base::_contiguous, and carto::line_NDIterator_base::_line_stride.
|
inline |
line_size * line stride: end of line
Definition at line 729 of file nditerator.h.
References carto::line_NDIterator_base::_line_directon, carto::NDIterator_base::_strides, carto::line_NDIterator_base::is_contiguous(), and carto::line_NDIterator_base::line_size().
|
inline |
Definition at line 705 of file nditerator.h.
References _buffer, and carto::NDIterator_base::_offset.
|
inline |
Definition at line 712 of file nditerator.h.
References _buffer, and carto::NDIterator_base::_offset.
|
protected |
Definition at line 265 of file nditerator.h.
Referenced by const_line_NDIterator(), const_line_NDIterator(), const_line_NDIterator(), const_line_NDIterator(), operator*(), and operator->().