#include <path.h>
Collaboration diagram for UndirPath::Builder:
You can push new edges to the front and to the back of the path in arbitrary order then you should commit these changes to the graph.
Fundamentally, for most "Paths" (classes fulfilling the PathConcept) while the builder is active (after the first modifying operation and until the commit()) the original Path is in a "transitional" state (operations ot it have undefined result). But in the case of UndirPath the original path is unchanged until the commit. However we don't recomend that you use this feature.
Definition at line 611 of file path.h.
Public Member Functions | |
Builder (UndirPath &_P) | |
void | setStartNode (const GraphNode &) |
Sets the starting node of the path. | |
void | pushFront (const GraphEdge &e) |
Push a new edge to the front of the path. | |
void | pushBack (const GraphEdge &e) |
Push a new edge to the back of the path. | |
void | commit () |
Commit the changes to the path. | |
void | reserveFront (size_t r) |
Reserve storage for the builder in advance. | |
void | reserveBack (size_t r) |
Reserve storage for the builder in advance. |
|
|
|
Sets the starting node of the path. Edge added to the path afterwards have to be incident to this node. It should be called if and only if the path is empty and before any call to pushFront() or pushBack() Definition at line 627 of file path.h. References UndirPath::GraphNode. |
|
Push a new edge to the front of the path.
References UndirPath::GraphEdge. |
|
Push a new edge to the back of the path.
References UndirPath::GraphEdge. |
|
If you know a reasonable upper bound of the number of the edges to add to the front, using this function you can speed up the building. Definition at line 665 of file path.h. |
|
If you know a reasonable upper bound of the number of the edges to add to the back, using this function you can speed up the building. Definition at line 672 of file path.h. |