libMesh
|
The definition of the struct used for iterating over sides. More...
#include <elem.h>
Public Types | |
using | iterator_category = std::forward_iterator_tag |
using | value_type = Elem * |
using | difference_type = std::ptrdiff_t |
using | pointer = Elem * * |
using | reference = Elem * & |
typedef variant_filter_iterator< Elem::Predicate, Elem *, Elem * &, Elem * *, const Elem *, const Elem * &, const Elem * * > | Iterator |
Shortcut name for the fully-qualified typename. More... | |
Public Member Functions | |
template<typename PredType , typename IterType > | |
side_iterator (const IterType &d, const IterType &e, const PredType &p) | |
Elem * & | operator* () const |
unary op*() forwards on to Iter::op* () More... | |
Elem * * | 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... | |
|
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 |
Definition at line 3317 of file elem.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.
References variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::data, and variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::satisfy_predicate().
|
inlineinherited |
postfix op++(), creates a temporary!
Definition at line 404 of file variant_filter_iterator.h.
References variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::data, and variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::satisfy_predicate().
|
inlineinherited |
|
inlineinherited |
swap, used to implement op=
Definition at line 424 of file variant_filter_iterator.h.
References variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::data, variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::end, and variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::pred.
|
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.
|
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.
|
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.