Class to provide an adaptor for the edge iterator.An edge iterator allows traversal of all (out)edges in the graph. It does this by iterating over all adjacent edges of one vertex, moves to the next vertex and so on. There is no guaranteed order of edge traversal. In undirected graphs only one edge of a pair of sibling edges will be traversed.
More...
|
| edge_iterator_adaptor (edge_iterator_adaptor const &other, bool is_directed) |
| Constructor used by the UG class to signal the fact that the iterator needs to skip sibling edges. E.g., if there is an edge from 1->2 the edge iterator will not report the edge from 2->1.
|
|
| edge_iterator_adaptor (n_edge_iterator_type iterator, VertexIterator b, VertexIterator c, VertexIterator e, bool is_directed=true) |
| Constructs an edge iterator based on the specified iterators. More...
|
|
template<class Other > |
| edge_iterator_adaptor (edge_iterator_adaptor< Other > const &other) |
|
void | increment () |
| Increments the iterator, skipping over vertices with no edges, and skipping over siblings-edges (where target < source) for undirected graphs.
|
|
void | decrement () |
| Increments the iterator, skipping over vertices with no edges, and skipping over siblings-edges (where target < source) for undirected graphs.
|
|
void | advance (typename base_t::difference_type n) |
| Advances the iterator by the specified number of steps. Used to provide random-access behavior.
|
|
value_type | operator* () const |
|
n_edge_iterator_type | operator-> () |
|
|
typedef n_edge_iterator_type::edge_descriptor | edge_descriptor |
|
typedef n_edge_iterator_type::property_type | property_type |
|
typedef n_edge_iterator_type::property_reference | property_reference |
|
typedef edge_descriptor::vertex_descriptor | vertex_descriptor |
|
typedef base_t::value_type | value_type |
|
|
template<class > |
class | edge_iterator_adaptor |
|
template<typename VertexIterator>
class stapl::sequential::edge_iterator_adaptor< VertexIterator >
Class to provide an adaptor for the edge iterator.
An edge iterator allows traversal of all (out)edges in the graph. It does this by iterating over all adjacent edges of one vertex, moves to the next vertex and so on. There is no guaranteed order of edge traversal. In undirected graphs only one edge of a pair of sibling edges will be traversed.
- Template Parameters
-
VertexIterator | The type of the vertex iterator. |
◆ edge_iterator_adaptor()
template<typename VertexIterator >
Constructs an edge iterator based on the specified iterators.
- Parameters
-
iterator | The native edge iterator. |
b | A vertex iterator to the beginning of the graph. |
c | A vertex iterator to the current vertex whose edges are being currently traversed. |
e | A vertex iterator to the end of the graph. |
is_directed | True for directed graph, false for undirected graph. |
The documentation for this class was generated from the following file: