libMesh
|
The definition of the const_node_iterator struct. More...
#include <mesh_base.h>
Public Types | |
using | iterator_category = std::forward_iterator_tag |
using | value_type = Type |
using | difference_type = std::ptrdiff_t |
using | pointer = PointerType |
using | reference = ReferenceType |
typedef variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType > | Iterator |
Shortcut name for the fully-qualified typename. More... | |
Public Member Functions | |
template<typename PredType , typename IterType > | |
const_node_iterator (const IterType &d, const IterType &e, const PredType &p) | |
Templated forwarding ctor – forwards to appropriate variant_filter_iterator ctor. More... | |
const_node_iterator (const MeshBase::node_iterator &rhs) | |
The conversion-to-const ctor. More... | |
ReferenceType | operator* () const |
unary op*() forwards on to Iter::op* () More... | |
PointerType | operator-> () const |
op->() More... | |
Iterator & | operator++ () |
op++() forwards on to Iter::op++ () More... | |
const Iterator | operator++ (int) |
postfix op++(), creates a temporary! More... | |
bool | equal (const variant_filter_iterator &other) const |
Forwards to the equal() function defined for the IterBase pointer. More... | |
void | swap (Iterator &lhs, Iterator &rhs) |
swap, used to implement op= More... | |
Public Attributes | |
std::unique_ptr< IterBase > | data |
Ideally this private member data should have protected access. More... | |
std::unique_ptr< IterBase > | end |
Also have a polymorphic pointer to the end object, this prevents iterating past the end. More... | |
std::unique_ptr< PredBase > | pred |
The predicate object. More... | |
The definition of the const_node_iterator struct.
It is similar to the regular iterator above, but also provides an additional conversion-to-const ctor.
Definition at line 2172 of file mesh_base.h.
|
inherited |
Definition at line 57 of file variant_filter_iterator.h.
|
inherited |
Shortcut name for the fully-qualified typename.
Definition at line 65 of file variant_filter_iterator.h.
|
inherited |
Definition at line 55 of file variant_filter_iterator.h.
|
inherited |
Definition at line 58 of file variant_filter_iterator.h.
|
inherited |
Definition at line 59 of file variant_filter_iterator.h.
|
inherited |
Definition at line 56 of file variant_filter_iterator.h.
|
inline |
Templated forwarding ctor – forwards to appropriate variant_filter_iterator ctor.
Definition at line 2179 of file mesh_base.h.
|
inline |
The conversion-to-const ctor.
Takes a regular iterator and calls the appropriate variant_filter_iterator copy constructor.
Definition at line 2190 of file mesh_base.h.
|
inlineinherited |
Forwards to the equal()
function defined for the IterBase pointer.
Definition at line 416 of file variant_filter_iterator.h.
|
inlineinherited |
unary op*() forwards on to Iter::op*
()
Definition at line 378 of file variant_filter_iterator.h.
|
inlineinherited |
op++() forwards on to Iter::op++
()
Definition at line 394 of file variant_filter_iterator.h.
|
inlineinherited |
postfix op++(), creates a temporary!
Definition at line 404 of file variant_filter_iterator.h.
|
inlineinherited |
|
inlineinherited |
swap, used to implement op=
Definition at line 424 of file variant_filter_iterator.h.
Referenced by variant_filter_iterator< Elem::Predicate, Elem *>::operator=().
|
inherited |
Ideally this private member data should have protected access.
However, if we want a const_iterator to be constructable from an non-const one, templated versions of the same class (not related by inheritance) will need to know about these private members. Thus, they have public access.
Polymorphic pointer to the object. Don't confuse with the data pointer located in the Iter!
Definition at line 301 of file variant_filter_iterator.h.
Referenced by variant_filter_iterator< Elem::Predicate, Elem *>::equal(), variant_filter_iterator< Elem::Predicate, Elem *>::operator*(), variant_filter_iterator< Elem::Predicate, Elem *>::operator++(), variant_filter_iterator< Elem::Predicate, Elem *>::satisfy_predicate(), and variant_filter_iterator< Elem::Predicate, Elem *>::swap().
|
inherited |
Also have a polymorphic pointer to the end object, this prevents iterating past the end.
Definition at line 307 of file variant_filter_iterator.h.
Referenced by variant_filter_iterator< Elem::Predicate, Elem *>::satisfy_predicate(), and variant_filter_iterator< Elem::Predicate, Elem *>::swap().
|
inherited |
The predicate object.
Must have op() capable of operating on IterBase * pointers. Therefore it has to follow the same paradigm as IterBase
.
Definition at line 314 of file variant_filter_iterator.h.
Referenced by variant_filter_iterator< Elem::Predicate, Elem *>::swap().