|
OpenABF 2.1.0
|
Iterator for the edges of a vertex's wheel. More...
Public Types | |
| using | difference_type = std::ptrdiff_t |
| using | value_type = EdgePtr |
| using | pointer = std::conditional_t< Const, value_type const *, value_type * > |
| using | reference = std::conditional_t< Const, value_type const &, value_type & > |
| using | iterator_category = std::input_iterator_tag |
Public Member Functions | |
| WheelIterator ()=default | |
| WheelIterator (const EdgePtr &head) | |
| template<bool C = Const> | |
| auto | operator* () const -> std::enable_if_t< C, reference > |
| template<bool C = Const> | |
| auto | operator* () -> std::enable_if_t<!C, reference > |
| auto | operator== (const WheelIterator &other) const -> bool |
| auto | operator!= (const WheelIterator &other) const -> bool |
| auto | operator++ () -> WheelIterator & |
Private Member Functions | |
| void | advance_to_non_boundary () |
Private Attributes | |
| EdgePtr | head_ {} |
| EdgePtr | current_ {} |
Iterator for the edges of a vertex's wheel.
Walks the half-edge linked-list around a vertex (edge->pair->next), yielding only non-boundary edges. Multi-pass safe: constructing a new WheelIterator from the same vertex edge always starts at the beginning.
| Const | If true, is a const iterator |
| using OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::WheelIterator< Const >::difference_type = std::ptrdiff_t |
Difference type
| using OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::WheelIterator< Const >::iterator_category = std::input_iterator_tag |
Iterator category
| using OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::WheelIterator< Const >::pointer = std::conditional_t<Const, value_type const*, value_type*> |
Pointer type
| using OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::WheelIterator< Const >::reference = std::conditional_t<Const, value_type const&, value_type&> |
Reference type
| using OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::WheelIterator< Const >::value_type = EdgePtr |
Value type
|
default |
Default constructor == End iterator (current_ == nullptr)
|
inlineexplicit |
Construct from the vertex's stored edge
|
inline |
Inequality
|
inline |
Dereference
|
inline |
Increment
|
inline |
Equality