DSC
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros
Public Types | Public Member Functions | Friends | List of all members
is_mesh::kernel_iterator< kernel_t_ > Class Template Reference

#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* ()
 
iteratoroperator++ ()
 
iterator operator++ (int)
 

Friends

bool operator== (const iterator &i, const iterator &j)
 
bool operator!= (const iterator &i, const iterator &j)
 

Detailed Description

template<class kernel_t_>
class is_mesh::kernel_iterator< kernel_t_ >

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.

See Also
kernel.

Constructor & Destructor Documentation

template<class kernel_t_ >
is_mesh::kernel_iterator< kernel_t_ >::kernel_iterator ( kernel_type const *const  kernel,
unsigned int const &  key 
)
inline

The only constructor. Creates a kernel iterator. Should only be created from the kernel.

Member Function Documentation

template<class kernel_t_ >
kernel_type* is_mesh::kernel_iterator< kernel_t_ >::kernel ( ) const
inline

Returns a pointer to the kernel that the iterator is bound to.

template<class kernel_t_ >
key_type is_mesh::kernel_iterator< kernel_t_ >::key ( ) const
inline

Converts the iterator to a handle or key.

template<class kernel_t_ >
value_type& is_mesh::kernel_iterator< kernel_t_ >::operator* ( )
inline

The dereference operator.

Returns
The element that is contained within the kernel cell.
template<class kernel_t_ >
iterator& is_mesh::kernel_iterator< kernel_t_ >::operator++ ( )
inline

The pre-increment operator.

Returns
The next iterator in the kernel sequence.
template<class kernel_t_ >
iterator is_mesh::kernel_iterator< kernel_t_ >::operator++ ( int  )
inline

The post-increment operator.

Returns
The iterator
template<class kernel_t_ >
value_type* is_mesh::kernel_iterator< kernel_t_ >::operator-> ( )
inline

The member access operator.

Returns
Pointer to the element contained within the kernel cell.

Friends And Related Function Documentation

template<class kernel_t_ >
bool operator!= ( const iterator i,
const iterator j 
)
friend

Compares two iterators for inequality.

template<class kernel_t_ >
bool operator== ( const iterator i,
const iterator j 
)
friend

Compares two iterators for equality.


The documentation for this class was generated from the following file: