34 #ifndef GRAPH_GRAPH_EDGE_H 35 #define GRAPH_GRAPH_EDGE_H 43 #ifndef GRAPH_GRAPH_GRAPHOBJECT_H 127 virtual bool isDirected()
const = 0;
131 virtual bool isUndirected()
const = 0;
144 bool hasVertex(
const Vertex* vertex)
const;
146 size_t verticesSize()
const;
171 const_iterator begin()
const;
177 const_iterator end()
const;
184 reverse_iterator rbegin();
191 reverse_iterator rend();
198 const_reverse_iterator rbegin()
const;
205 const_reverse_iterator rend()
const;
232 virtual Edge* cloneEdge()
const = 0;
295 return _vertices[0] == vertex || _vertices[1] == vertex;
303 return _vertices.
begin();
311 return _vertices.
end();
319 return _vertices.
begin();
327 return _vertices.
end();
335 return _vertices.rbegin();
343 return _vertices.rend();
351 return _vertices.rbegin();
359 return _vertices.rend();
#define DECLARE_GENERIC_OBJECT_TYPE(T)
std::reverse_iterator< iterator > reverse_iterator
reverse_iterator rbegin()
Get the beginning of the reversed vertex collection of the graph.
iterator end()
Get the end of the edge collection.
void removeVertex(Vertex *vertex)
Delete and remove a vertex from the graph.
The base class for graphs.
iterator begin()
Get the beginning of the edge collection.
The abstract base class for all types of edges; edges are created and managed by Graphs.
VSet::const_iterator const_iterator
VSet::const_reference const_reference
VSet::const_reverse_iterator const_reverse_iterator
iterator end()
Get the end of the vertex collection of the graph.
VSet::reverse_iterator reverse_iterator
bool hasVertex(const Vertex *vertex) const
Does this edge contain a given vertex?
VSet::value_type value_type
reverse_iterator rend()
Get the end of the reversed vertex collection of the graph.
VSet::reference reference
std::reverse_iterator< const_iterator > const_reverse_iterator
The abstract base class for graphs, vertices and edges.
iterator begin()
Get the beginning of the vertex collection of the graph.
Vertices are created and managed by Graphs.