ug4
ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator > Class Template Reference

#include <selector_multi_grid.h>

Public Types

typedef size_t difference_type
 
typedef std::forward_iterator_tag iterator_category
 
typedef TElem ** pointer
 
typedef value_typereference
 
typedef MGSelectionIterator this_type
 
typedef TElem * value_type
 

Public Member Functions

 MGSelectionIterator ()
 
 MGSelectionIterator (const MGSelectionIterator< TElem, MGSelector, typename geometry_traits< TElem >::iterator > &iter)
 copy constructor that allows creation of const-iterators from non-const iterators More...
 
bool operator!= (const this_type &iter) const
 
value_type operator* ()
 
value_type operator* () const
 
this_type operator++ ()
 
this_type operator++ (int unused)
 
bool operator== (const this_type &iter) const
 

Private Types

typedef TLevelIterator level_iterator
 

Private Member Functions

value_type dereference () const
 dereference More...
 
bool equal (const this_type &other) const
 
void increment ()
 returns next valid iterator More...
 
 MGSelectionIterator (TMGSelector *sel, int lvl, level_iterator iter)
 

Private Attributes

level_iterator m_iter
 
size_t m_lvl
 
TMGSelector * m_sel
 

Friends

class MGSelector
 

Detailed Description

template<class TElem, class TMGSelector, class TLevelIterator>
class ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >

This iterator is used by MGSelector to provide iteration across all levels. The TMGSelector and TLevelIterator template argument allows to use this iterator for const and non-const use.

Member Typedef Documentation

◆ difference_type

template<class TElem , class TMGSelector , class TLevelIterator >
typedef size_t ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::difference_type

◆ iterator_category

template<class TElem , class TMGSelector , class TLevelIterator >
typedef std::forward_iterator_tag ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::iterator_category

◆ level_iterator

template<class TElem , class TMGSelector , class TLevelIterator >
typedef TLevelIterator ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::level_iterator
private

◆ pointer

template<class TElem , class TMGSelector , class TLevelIterator >
typedef TElem** ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::pointer

◆ reference

template<class TElem , class TMGSelector , class TLevelIterator >
typedef value_type& ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::reference

◆ this_type

template<class TElem , class TMGSelector , class TLevelIterator >
typedef MGSelectionIterator ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::this_type

◆ value_type

template<class TElem , class TMGSelector , class TLevelIterator >
typedef TElem* ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::value_type

Constructor & Destructor Documentation

◆ MGSelectionIterator() [1/3]

template<class TElem , class TMGSelector , class TLevelIterator >
ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::MGSelectionIterator ( )
inline

◆ MGSelectionIterator() [2/3]

template<class TElem , class TMGSelector , class TLevelIterator >
ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::MGSelectionIterator ( const MGSelectionIterator< TElem, MGSelector, typename geometry_traits< TElem >::iterator > &  iter)
inline

copy constructor that allows creation of const-iterators from non-const iterators

◆ MGSelectionIterator() [3/3]

template<class TElem , class TMGSelector , class TLevelIterator >
ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::MGSelectionIterator ( TMGSelector *  sel,
int  lvl,
level_iterator  iter 
)
inlineprivate

Member Function Documentation

◆ dereference()

template<class TElem , class TMGSelector , class TLevelIterator >
value_type ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::dereference ( ) const
inlineprivate

dereference

◆ equal()

template<class TElem , class TMGSelector , class TLevelIterator >
bool ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::equal ( const this_type other) const
inlineprivate

◆ increment()

template<class TElem , class TMGSelector , class TLevelIterator >
void ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::increment ( )
inlineprivate

returns next valid iterator

◆ operator!=()

template<class TElem , class TMGSelector , class TLevelIterator >
bool ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::operator!= ( const this_type iter) const
inline

◆ operator*() [1/2]

template<class TElem , class TMGSelector , class TLevelIterator >
value_type ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::operator* ( )
inline

◆ operator*() [2/2]

template<class TElem , class TMGSelector , class TLevelIterator >
value_type ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::operator* ( ) const
inline

◆ operator++() [1/2]

template<class TElem , class TMGSelector , class TLevelIterator >
this_type ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::operator++ ( )
inline

◆ operator++() [2/2]

template<class TElem , class TMGSelector , class TLevelIterator >
this_type ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::operator++ ( int  unused)
inline

◆ operator==()

template<class TElem , class TMGSelector , class TLevelIterator >
bool ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::operator== ( const this_type iter) const
inline

Friends And Related Function Documentation

◆ MGSelector

template<class TElem , class TMGSelector , class TLevelIterator >
friend class MGSelector
friend

Member Data Documentation

◆ m_iter

template<class TElem , class TMGSelector , class TLevelIterator >
level_iterator ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::m_iter
private

◆ m_lvl

template<class TElem , class TMGSelector , class TLevelIterator >
size_t ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::m_lvl
private

◆ m_sel

template<class TElem , class TMGSelector , class TLevelIterator >
TMGSelector* ug::MGSelector::MGSelectionIterator< TElem, TMGSelector, TLevelIterator >::m_sel
private

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