Alexandria 2.31.0
SDC-CH common library for the Euclid project
|
#include <NdArray.h>
Public Types | |
using | value_t = typename std::conditional< Const, const T, T >::type |
Public Member Functions | |
Iterator (const Iterator< false > &other) | |
Iterator & | operator++ () |
const Iterator | operator++ (int) |
bool | operator== (const Iterator &other) const |
bool | operator!= (const Iterator &other) const |
value_t & | operator* () |
value_t | operator* () const |
Iterator & | operator+= (size_t n) |
Iterator | operator+ (size_t n) const |
Iterator & | operator-= (size_t n) |
Iterator | operator- (size_t n) const |
difference_type | operator- (const Iterator &other) |
value_t & | operator[] (size_t i) |
value_t | operator[] (size_t i) const |
bool | operator< (const Iterator &other) |
bool | operator> (const Iterator &other) |
Private Member Functions | |
Iterator (ContainerInterface *container_ptr, size_t offset, const std::vector< size_t > &shape, const std::vector< size_t > &strides, size_t start) | |
Iterator (ContainerInterface *container_ptr, size_t offset, size_t row_size, size_t stride, size_t start) | |
Private Attributes | |
ContainerInterface * | m_container_ptr |
size_t | m_offset |
size_t | m_row_size |
size_t | m_stride |
size_t | m_i |
Friends | |
class | NdArray |
Iterator type
Const | If true, this defines a const iterator |
using Euclid::NdArray::NdArray< T >::Iterator< Const >::value_t = typename std::conditional<Const, const T, T>::type |
|
private |
|
private |
Euclid::NdArray::NdArray< T >::Iterator< Const >::Iterator | ( | const Iterator< false > & | other | ) |
Construct a const iterator from a non-const iterator
bool Euclid::NdArray::NdArray< T >::Iterator< Const >::operator!= | ( | const Iterator< Const > & | other | ) | const |
Two iterators are not equal if they point to different data, or to different positions on the same
value_t & Euclid::NdArray::NdArray< T >::Iterator< Const >::operator* | ( | ) |
De-reference operator
value_t Euclid::NdArray::NdArray< T >::Iterator< Const >::operator* | ( | ) | const |
De-reference operator
Iterator Euclid::NdArray::NdArray< T >::Iterator< Const >::operator+ | ( | size_t | n | ) | const |
Iterator & Euclid::NdArray::NdArray< T >::Iterator< Const >::operator++ | ( | ) |
Pre-increment
const Iterator Euclid::NdArray::NdArray< T >::Iterator< Const >::operator++ | ( | int | ) |
Post-increment
Iterator & Euclid::NdArray::NdArray< T >::Iterator< Const >::operator+= | ( | size_t | n | ) |
Increment the iterator n times in place
difference_type Euclid::NdArray::NdArray< T >::Iterator< Const >::operator- | ( | const Iterator< Const > & | other | ) |
Iterator Euclid::NdArray::NdArray< T >::Iterator< Const >::operator- | ( | size_t | n | ) | const |
Iterator & Euclid::NdArray::NdArray< T >::Iterator< Const >::operator-= | ( | size_t | n | ) |
Decrement the iterator n times in place
bool Euclid::NdArray::NdArray< T >::Iterator< Const >::operator< | ( | const Iterator< Const > & | other | ) |
bool Euclid::NdArray::NdArray< T >::Iterator< Const >::operator== | ( | const Iterator< Const > & | other | ) | const |
Two iterators are equal if they point to the same position on the same data
bool Euclid::NdArray::NdArray< T >::Iterator< Const >::operator> | ( | const Iterator< Const > & | other | ) |
value_t & Euclid::NdArray::NdArray< T >::Iterator< Const >::operator[] | ( | size_t | i | ) |
Equivalent to *(iterator + i)
value_t Euclid::NdArray::NdArray< T >::Iterator< Const >::operator[] | ( | size_t | i | ) | const |
Equivalent to *(iterator + i)
|
private |
|
private |
|
private |
|
private |
|
private |