Wraps the iterator of arbitrary cells to provide a common interface. More...
#include <CellIterator.h>
Public Types | |
| using | IteratorType = std::conditional_t< modifiable, typename StorageType::iterator, typename StorageType::const_iterator > |
| Type of the wrapped iterator. | |
| using | ParticleType = std::remove_pointer_t< typename StorageType::value_type > |
| Type of the Particles in the storage. | |
| using | difference_type = typename IteratorType::difference_type |
| Type trait to be compatible with std::iterator. | |
| using | value_type = typename IteratorType::value_type |
| Type trait to be compatible with std::iterator. | |
| using | pointer = typename IteratorType::pointer |
| Type trait to be compatible with std::iterator. | |
| using | reference = typename IteratorType::reference |
| Type trait to be compatible with std::iterator. | |
| using | iterator_category = typename IteratorType::iterator_category |
| Type trait to be compatible with std::iterator. | |
Public Member Functions | |
| CellIterator (IteratorType iterator) | |
| Constructor. | |
| std::conditional_t< modifiable, ParticleType &, const ParticleType & > | operator* () const |
| Dereference operator. | |
| std::conditional_t< modifiable, ParticleType *, const ParticleType * > | operator-> () const |
| Dereference operator. | |
| CellIterator< StorageType, modifiable > & | operator++ () |
| Increment the iterator. | |
| CellIterator< StorageType, modifiable > & | operator-- () |
| Decrement the iterator. | |
| bool | operator== (const CellIterator &rhs) const |
| Equality operator. | |
| bool | operator!= (const CellIterator &rhs) const |
| Not equality operator. | |
| difference_type | operator- (const CellIterator &rhs) const |
| Distance between two iterators. | |
| bool | operator< (const CellIterator &rhs) const |
| Comparison operator. | |
Wraps the iterator of arbitrary cells to provide a common interface.
Particle_T and others Particle_T *. | StorageType | Type of the cell, used to derive the particle type. |
| modifiable | If false, this is a const iterator, meaning, the underlying particle can not be modified. |
| using CellIterator< StorageType, modifiable >::ParticleType = std::remove_pointer_t<typename StorageType::value_type> |
Type of the Particles in the storage.
Should always be the actual type and not a pointer.
|
inlineexplicit |
Constructor.
| iterator |
|
inline |
Not equality operator.
| rhs |
|
inline |
Dereference operator.
|
inline |
Increment the iterator.
|
inline |
Distance between two iterators.
| rhs |
|
inline |
Decrement the iterator.
|
inline |
Dereference operator.
|
inline |
Comparison operator.
| rhs |
|
inline |
Equality operator.
| rhs |