#include <kernel_iterator.h>
Public Types | |
using | kernel_type = kernel_t_ |
using | iterator = kernel_iterator< kernel_type > |
using | kernel_element = typename kernel_type::kernel_element |
using | value_type = typename element_type::value_type |
using | key_type = typename kernel_t_::kernel_key_type |
Public Member Functions | |
kernel_iterator (kernel_type const *const kernel, unsigned int const &key) | |
key_type | key () const |
kernel_type * | kernel () const |
value_type * | operator-> () |
value_type & | operator* () |
iterator & | operator++ () |
iterator | operator++ (int) |
Friends | |
bool | operator== (const iterator &i, const iterator &j) |
bool | operator!= (const iterator &i, const iterator &j) |
An iterator class used by the is_mesh::kernel. The kernel wraps a kernel handle and uses indirect access to the kernel. Iterators are valid through out their existence - only if an element pointed to by an iterator is it invalidated, but if the delete is undone the iterator will be valid again after the undo operation.
The garbage collect routine in the kernel might change the ordering of elements in the kernel and provide different results is one iterates through the kernel before and after a garbage collect. The undo operation is guaranteed to keep the ordering before and after a mark/undo pair of operations.
|
inline |
The only constructor. Creates a kernel iterator. Should only be created from the kernel.
|
inline |
Returns a pointer to the kernel that the iterator is bound to.
|
inline |
Converts the iterator to a handle or key.
|
inline |
The dereference operator.
|
inline |
The pre-increment operator.
|
inline |
The post-increment operator.
|
inline |
The member access operator.
Compares two iterators for inequality.
Compares two iterators for equality.