|
DGtal 1.4.2
|
#include <DGtal/graph/ObjectBoostGraphInterface.h>
Public Member Functions | |
| out_edge_iterator () | |
| Default, invalid, constructor. | |
| out_edge_iterator (typename OutEdgeContainer::const_iterator it, const DGtal::CountedPtr< OutEdgeContainer > &out_edges) | |
Private Member Functions | |
| const Edge & | dereference () const |
| bool | equal (const out_edge_iterator &other) const |
| void | increment () |
| void | decrement () |
Private Attributes | |
| OutEdgeContainer::const_iterator | myIterator |
| The iterator pointing in the container of out edges. | |
| DGtal::CountedPtr< OutEdgeContainer > | myOutEdges |
Friends | |
| class | iterator_core_access |
| Requirement for boost::iterator_facade. | |
Iterator for visiting out edges. We use an iterator facade to create a STL-compliant iterator with as little effort as possible.
In this case, vp1 and vp2 are not pointing on the same structure, hence the address pointed by vp1 is different from the address pointed by vp2. They are then not comparable a priori. The out_edge_iterator is written so that vp1 (.first or .second) and vp2 (.first or .second) are comparable, using value comparison and out-of-range check.
Definition at line 282 of file ObjectBoostGraphInterface.h.
|
inline |
Default, invalid, constructor.
Definition at line 291 of file ObjectBoostGraphInterface.h.
|
inline |
Valid constructor from instance of OutEdgeContainer. The iterator shares the container of out edges (a std::vector) with other (potentially) iterators, through a DGtal::CountedPtr.
| it | const_iterator of OutEdgeContainer. |
| out_edges | CountedPtr of an OutEdgeContainer |
Definition at line 303 of file ObjectBoostGraphInterface.h.
References boost::out_edges().
|
inlineprivate |
Decrement iterator. Required to implement Bidirectional Traversal Iterator Concept.
Definition at line 346 of file ObjectBoostGraphInterface.h.
|
inlineprivate |
Definition at line 312 of file ObjectBoostGraphInterface.h.
|
inlineprivate |
Predicate to compare equal value of iterators. Required to implement Single Pass Iterator Concept.
| other | out_edge_iterator to compare with. |
Definition at line 327 of file ObjectBoostGraphInterface.h.
References myIterator, and myOutEdges.
|
inlineprivate |
Increment iterator. Required to implement Incrementable Iterator Concept.
Definition at line 340 of file ObjectBoostGraphInterface.h.
|
friend |
Requirement for boost::iterator_facade.
Definition at line 357 of file ObjectBoostGraphInterface.h.
|
private |
The iterator pointing in the container of out edges.
Definition at line 349 of file ObjectBoostGraphInterface.h.
Referenced by equal().
|
private |
A counted pointer to the dynamically allocated container of out edges. Will be automatically deallocated when there is no more iterators pointing on it.
Definition at line 354 of file ObjectBoostGraphInterface.h.
Referenced by equal().