|
OpenABF 2.1.0
|
Iterator that lazily flattens all face edges across all faces. 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 |
| using | FaceVecIter = typename std::vector< FacePtr >::const_iterator |
Public Member Functions | |
| EdgesIterator (FaceVecIter faceIt, FaceVecIter faceEnd) | |
| 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 EdgesIterator &other) const -> bool |
| auto | operator!= (const EdgesIterator &other) const -> bool |
| auto | operator++ () -> EdgesIterator & |
Private Member Functions | |
| void | advance_if_face_exhausted () |
Private Attributes | |
| FaceVecIter | faceIt_ {} |
| FaceVecIter | faceEnd_ {} |
| FaceIterator< true > | edgeIt_ {} |
Iterator that lazily flattens all face edges across all faces.
Provides a single flat sequence over all face (non-boundary) edges in the mesh without allocating a vector. Internally advances through faces_ and uses FaceIterator within each face.
| Const | If true, is a const iterator |
| using OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::EdgesIterator< Const >::difference_type = std::ptrdiff_t |
Difference type
| using OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::EdgesIterator< Const >::iterator_category = std::input_iterator_tag |
Iterator category
| using OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::EdgesIterator< Const >::pointer = std::conditional_t<Const, value_type const*, value_type*> |
Pointer type
| using OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::EdgesIterator< Const >::reference = std::conditional_t<Const, value_type const&, value_type&> |
Reference type
| using OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::EdgesIterator< Const >::value_type = EdgePtr |
Value type
|
inline |
Construct at position (begin or end depending on faceIt == faceEnd)
|
inline |
Inequality
|
inline |
Dereference
|
inline |
Increment
|
inline |
Equality