BlockArray< T, BLOCK_SIZE_EXPONENT, MEMFLAGS, ALLOCATOR >::IteratorTemplate< CONSTITERATOR > Class Template Reference
#include <blockarray.h>
The BlockArray iterator uses several tricks to make iteration faster than using a for loop with operator []. Therefore you should use it (or the C++11 range based for loop) to iterate over the array or parts of it.
You can use an iterator almost like a pointer, e.g.
it++; // go to the next element it--; // go to the previous element it += 5; // advance by 5 elements it -= 3; // go back 3 elements cnt = itB - itA; // number of elements from itA to itB it = array. Begin (); // iterator to the first element of the array *it = value; // assign value to the elements referenced by the iterator value = *value; // get value of the element referenced by the iterator
Public Types |
|
| using | CollectionType = typename ConstIf < BlockArray , CONSTITERATOR >:: type |
| using | 类型 = typename ConstIf < T, CONSTITERATOR >:: type |
静态公共属性 |
|
| static const Bool | isLinearIterator |
Private Types |
|
| using | BlockIterator = typename std::conditional< CONSTITERATOR, typename ArrayBlock::ConstIterator , typename ArrayBlock::Iterator >:: type |
| using | BlockType = typename ConstIf < ArrayBlock , CONSTITERATOR >:: type |
Private Attributes |
|
| CollectionType * | _array |
| BlockType * | _block |
| BlockIterator | _iterator |
| BlockIterator | _end |
|
private |
|
private |
| using CollectionType = typename ConstIf < BlockArray , CONSTITERATOR>:: type |
| using 类型 = typename ConstIf <T, CONSTITERATOR>:: type |
|
explicit |
|
explicit |
|
explicit |
| IteratorTemplate | ( | const IteratorTemplate < CONSTITERATOR > & | src | ) |
| IteratorTemplate & operator= | ( | const IteratorTemplate < CONSTITERATOR > & | src | ) |
| operator ConstIterator & | ( | ) |
| MAXON_ATTRIBUTE_FORCE_INLINE IteratorTemplate GetBlock | ( | Block < 类型 , STRIDED > & | block | ) | const |
Determines a contiguous block of array elements to which the iterator points.
| [out] | block | Block which contains the element.. |
| Int GetBlockIndexAndLocalIndex | ( | Int & | localIdx | ) | const |
|
explicit |
| 类型 * GetPtr | ( | ) | const |
| 类型 & operator* | ( | ) | const |
| 类型 * operator-> | ( | ) | const |
| Bool operator== | ( | const IteratorTemplate < CONSTITERATOR > & | b | ) | const |
| Bool operator< | ( | const IteratorTemplate < CONSTITERATOR > & | b | ) | const |
| MAXON_OPERATOR_COMPARISON | ( | IteratorTemplate < CONSTITERATOR > | ) |
| IteratorTemplate & operator++ | ( | ) |
| const IteratorTemplate operator++ | ( | int | ) |
| IteratorTemplate & operator+= | ( | Int | i | ) |
| IteratorTemplate operator+ | ( | Int | i | ) | const |
| IteratorTemplate & operator-- | ( | ) |
| const IteratorTemplate operator-- | ( | int | ) |
| IteratorTemplate & operator-= | ( | Int | i | ) |
| IteratorTemplate operator- | ( | Int | i | ) | const |
| Int operator- | ( | const IteratorTemplate < CONSTITERATOR > & | b | ) | const |
|
|
private |
|
private |
|
private |
|
private |