|
node | getNode (twosat_var var, bool sign) const |
|
int | getNodeIndex (twosat_var var, bool sign) const |
|
std::pair< node, node > | getNodes (twosat_var var, bool flip=false) const |
|
virtual void * | preInsert (bool copyEmbedding, bool copyIDs, bool notifyObservers, bool edgeFilter, NodeArray< node > &nodeMap, EdgeArray< edge > &edgeMap, int *newNodes, int *newEdges) |
| Callback notifying subclasses that some graph is about to be insert() -ed. More...
|
|
virtual void | nodeInserted (void *userData, node original, node copy) |
| Callback notifying subclasses that insert() copied a node. More...
|
|
virtual void | edgeInserted (void *userData, edge original, edge copy) |
| Callback notifying subclasses that insert() copied an edge. More...
|
|
virtual void | postInsert (void *userData, int newNodes, int newEdges) |
| Callback notifying subclasses that an insert() call has finished. More...
|
|
| Graph () |
| Constructs an empty graph. More...
|
|
| Graph (const Graph ©) |
| Constructs a graph that is a copy of G . More...
|
|
| Graph (Graph &&move)=delete |
|
virtual | ~Graph () |
| Destructor. More...
|
|
Graph & | operator= (const Graph ©) |
| Overwrites this graph to be a copy of G . More...
|
|
Graph & | operator= (Graph &&move)=delete |
|
bool | empty () const |
| Returns true iff the graph is empty, i.e., contains no nodes. More...
|
|
int | numberOfNodes () const |
| Returns the number of nodes in the graph. More...
|
|
int | numberOfEdges () const |
| Returns the number of edges in the graph. More...
|
|
int | maxNodeIndex () const |
| Returns the largest used node index. More...
|
|
int | maxEdgeIndex () const |
| Returns the largest used edge index. More...
|
|
int | maxAdjEntryIndex () const |
| Returns the largest used adjEntry index. More...
|
|
node | firstNode () const |
| Returns the first node in the list of all nodes. More...
|
|
node | lastNode () const |
| Returns the last node in the list of all nodes. More...
|
|
edge | firstEdge () const |
| Returns the first edge in the list of all edges. More...
|
|
edge | lastEdge () const |
| Returns the last edge in the list of all edges. More...
|
|
node | chooseNode (std::function< bool(node)> includeNode=[](node) { return true;}, bool isFastTest=true) const |
| Returns a random node. More...
|
|
edge | chooseEdge (std::function< bool(edge)> includeEdge=[](edge) { return true;}, bool isFastTest=true) const |
| Returns a random edge. More...
|
|
template<class CONTAINER > |
void | allNodes (CONTAINER &nodeContainer) const |
| Returns a container with all nodes of the graph. More...
|
|
template<class CONTAINER > |
void | allEdges (CONTAINER &edgeContainer) const |
| Returns a container with all edges of the graph. More...
|
|
node | newNode (int index=-1) |
| Creates a new node and returns it. More...
|
|
edge | newEdge (node v, node w, int index=-1) |
| Creates a new edge (v ,w ) and returns it. More...
|
|
edge | newEdge (node v, adjEntry adjTgt, int index=-1) |
| Creates a new edge at predefined positions in the adjacency lists. More...
|
|
edge | newEdge (adjEntry adjSrc, node w, int index=-1) |
| Creates a new edge at predefined positions in the adjacency lists. More...
|
|
edge | newEdge (adjEntry adjSrc, adjEntry adjTgt, Direction dir=Direction::after, int index=-1) |
| Creates a new edge at predefined positions in the adjacency lists. More...
|
|
template<typename S , typename T > |
edge | newEdge (S src, Direction dirSrc, T tgt, Direction dirTgt, int index=-1) |
| Creates a new edge at predefined positions in the adjacency lists. More...
|
|
virtual void | delNode (node v) |
| Removes node v and all incident edges from the graph. More...
|
|
virtual void | delEdge (edge e) |
| Removes edge e from the graph. More...
|
|
void | restoreAllEdges () |
| Restore all hidden edges and invalidate all HiddenEdgeSets. More...
|
|
virtual edge | split (edge e) |
| Splits edge e into two edges introducing a new node. More...
|
|
void | unsplit (node u) |
| Undoes a split operation. More...
|
|
virtual void | unsplit (edge eIn, edge eOut) |
| Undoes a split operation. More...
|
|
node | splitNode (adjEntry adjStartLeft, adjEntry adjStartRight) |
| Splits a node while preserving the order of adjacency entries. More...
|
|
node | contract (edge e, bool keepSelfLoops=false) |
| Contracts edge e while preserving the order of adjacency entries. More...
|
|
void | move (edge e, adjEntry adjSrc, Direction dirSrc, adjEntry adjTgt, Direction dirTgt) |
| Moves edge e to a different adjacency list. More...
|
|
void | moveTarget (edge e, node w) |
| Moves the target node of edge e to node w . More...
|
|
void | moveTarget (edge e, adjEntry adjTgt, Direction dir) |
| Moves the target node of edge e to a specific position in an adjacency list. More...
|
|
void | moveSource (edge e, node w) |
| Moves the source node of edge e to node w . More...
|
|
void | moveSource (edge e, adjEntry adjSrc, Direction dir) |
| Moves the source node of edge e to a specific position in an adjacency list. More...
|
|
edge | searchEdge (node v, node w, bool directed=false) const |
| Searches and returns an edge connecting nodes v and w in time O( min(deg(v ), deg(w ))). More...
|
|
void | reverseEdge (edge e) |
| Reverses the edge e , i.e., exchanges source and target node. More...
|
|
void | reverseAllEdges () |
| Reverses all edges in the graph. More...
|
|
template<class NODELIST > |
void | collapse (NODELIST &nodesToCollapse) |
| Collapses all nodes in the list nodesToCollapse to the first node in the list. More...
|
|
template<class ADJ_ENTRY_LIST > |
void | sort (node v, const ADJ_ENTRY_LIST &newOrder) |
| Sorts the adjacency list of node v according to newOrder . More...
|
|
template<class IT > |
void | sort (node v, IT begin, IT end) |
| Sorts the adjacency list of node v according to the range denoted by two iterators. More...
|
|
void | reverseAdjEdges (node v) |
| Reverses the adjacency list of v . More...
|
|
void | moveAdj (adjEntry adjMove, Direction dir, adjEntry adjPos) |
| Moves adjacency entry adjMove before or after adjPos . More...
|
|
void | moveAdjAfter (adjEntry adjMove, adjEntry adjAfter) |
| Moves adjacency entry adjMove after adjAfter . More...
|
|
void | moveAdjBefore (adjEntry adjMove, adjEntry adjBefore) |
| Moves adjacency entry adjMove before adjBefore . More...
|
|
void | reverseAdjEdges () |
| Reverses all adjacency lists. More...
|
|
void | swapAdjEdges (adjEntry adj1, adjEntry adj2) |
| Exchanges two entries in an adjacency list. More...
|
|
int | genus () const |
| Returns the genus of the graph's embedding. More...
|
|
bool | representsCombEmbedding () const |
| Returns true iff the graph represents a combinatorial embedding. More...
|
|
void | consistencyCheck () const |
| Asserts that this graph is consistent. More...
|
|
internal::GraphNodeRegistry & | nodeRegistry () |
| Returns a reference to the registry of node arrays associated with this graph. More...
|
|
const internal::GraphNodeRegistry & | nodeRegistry () const |
| Returns a const reference to the registry of node arrays associated with this graph. More...
|
|
| operator const internal::GraphNodeRegistry & () const |
|
internal::GraphEdgeRegistry & | edgeRegistry () |
| Returns a reference to the registry of edge arrays associated with this graph. More...
|
|
const internal::GraphEdgeRegistry & | edgeRegistry () const |
| Returns a const reference to the registry of edge arrays associated with this graph. More...
|
|
| operator const internal::GraphEdgeRegistry & () const |
|
internal::GraphAdjRegistry & | adjEntryRegistry () |
| Returns a reference to the registry of adjEntry arrays associated with this graph. More...
|
|
const internal::GraphAdjRegistry & | adjEntryRegistry () const |
| Returns a const reference to the registry of adjEntry arrays associated with this graph. More...
|
|
| operator const internal::GraphAdjRegistry & () const |
|
void | resetEdgeIdCount (int maxId) |
| Resets the edge id count to maxId . More...
|
|
void | resetNodeIdCount (int maxId) |
|
template<OGDF_NODE_ITER NI, OGDF_EDGE_ITER EI, bool copyEmbedding = true, bool copyIDs = false, bool notifyObservers = true> |
std::pair< int, int > | insert (const NI &nodesBegin, const NI &nodesEnd, const EI &edgesBegin, const EI &edgesEnd, NodeArray< node > &nodeMap, EdgeArray< edge > &edgeMap) |
| Inserts a copy of a given subgraph into this graph. More...
|
|
template<OGDF_NODE_ITER NI, OGDF_EDGE_FILTER EF, bool copyIDs = false, bool notifyObservers = true> |
std::pair< int, int > | insert (const NI &nodesBegin, const NI &nodesEnd, const EF &edgeFilter, NodeArray< node > &nodeMap, EdgeArray< edge > &edgeMap) |
| Inserts a copy of a given subgraph into this graph. More...
|
|
template<OGDF_NODE_LIST NL> |
std::pair< int, int > | insert (const NL &nodeList, const EdgeSet< true > &edgeSet, NodeArray< node > &nodeMap, EdgeArray< edge > &edgeMap) |
| Inserts a copy of a given subgraph into this graph. More...
|
|
template<OGDF_NODE_LIST NL> |
std::pair< int, int > | insert (const NL &nodeList, const EdgeSet< false > &edgeSet, NodeArray< node > &nodeMap, EdgeArray< edge > &edgeMap) |
| Inserts a copy of a given subgraph into this graph. More...
|
|
template<OGDF_NODE_LIST NL, OGDF_EDGE_LIST EL> |
std::pair< int, int > | insert (const NL &nodeList, const EL &edgeList, NodeArray< node > &nodeMap, EdgeArray< edge > &edgeMap) |
| Inserts a copy of a given subgraph into this graph. More...
|
|
std::pair< int, int > | insert (const CCsInfo &info, int cc, NodeArray< node > &nodeMap, EdgeArray< edge > &edgeMap) |
| Inserts a copy of a given connected component cc into this graph. More...
|
|
std::pair< int, int > | insert (const Graph &G, NodeArray< node > &nodeMap, EdgeArray< edge > &edgeMap) |
| Inserts a copy of a given Graph G into this graph. More...
|
|
std::pair< int, int > | insert (const Graph &G) |
| Inserts a copy of a given Graph G into this graph. More...
|
|
void | clearObservers () |
|
const ListPure< GraphObserver * > & | getObservers () const |
|
| Observable ()=default |
|
| Observable (const Observable ©)=delete |
| If you want to copy a subclass of Observable, call the default Observable() constructor. More...
|
|
| Observable (Observable &&move)=delete |
| If you want to move a subclass of Observable, call the default Observable() constructor. More...
|
|
virtual | ~Observable () |
|
Observable & | operator= (const Observable ©)=delete |
|
Observable & | operator= (Observable &&move)=delete |
|