Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Bijection.h
Go to the documentation of this file.
1 
31 #pragma once
32 
33 #include <ogdf/basic/Graph.h>
34 #include <ogdf/basic/GraphList.h>
35 #include <ogdf/basic/List.h>
36 #include <ogdf/basic/basic.h>
37 #include <ogdf/basic/comparer.h>
39 
40 #include <functional>
41 #include <utility>
42 
43 namespace ogdf::sync_plan {
44 
45 using PipeBijIterator = ZipIterator<ogdf::internal::GraphObjectContainer<AdjElement>::iterator,
48 using PipeBijPair = std::pair<adjEntry, adjEntry>;
49 using FrozenPipeBijPair = std::pair<int, int>;
52 
53 OGDF_DECLARE_COMPARER(PipeBijCmp, PipeBijPair, int, x.first->theEdge()->index());
54 
55 OGDF_DECLARE_COMPARER(FrozenPipeBijCmp, FrozenPipeBijPair, int, x.first);
56 
58 
60 
62 
64 
66 
68 
69 OGDF_EXPORT std::pair<node, node> split(Graph& G, sync_plan::PipeBij& bij,
70  const EdgeArray<edge>* new_edges = nullptr, const EdgeArray<bool>* reverse_edges = nullptr,
71  node src = nullptr, node tgt = nullptr);
72 
73 OGDF_EXPORT void join(Graph& G, node u, node v, sync_plan::PipeBij& bij,
74  List<bool>* reverse_v = nullptr);
75 
76 OGDF_EXPORT void join(Graph& G, node u, node v, sync_plan::PipeBij& bij,
77  const std::function<void(node)>& deleteNode, const std::function<void(edge)>& deleteEdge,
78  List<bool>* reverse_v = nullptr);
79 
80 }
Graph.h
Includes declaration of graph class.
ogdf::sync_plan::OGDF_DECLARE_COMPARER
OGDF_DECLARE_COMPARER(PipeBijCmp, PipeBijPair, int, x.first->theEdge() ->index())
ogdf::sync_plan
Definition: clustering.h:44
ogdf::internal::GraphIteratorBase
Definition: graph_iterators.h:45
ogdf::sync_plan::getPipeBijection
PipeBijRange getPipeBijection(node u, node v)
ogdf::sync_plan::split
std::pair< node, node > split(Graph &G, sync_plan::PipeBij &bij, const EdgeArray< edge > *new_edges=nullptr, const EdgeArray< bool > *reverse_edges=nullptr, node src=nullptr, node tgt=nullptr)
ogdf::sync_plan::PipeBijPair
std::pair< adjEntry, adjEntry > PipeBijPair
Definition: Bijection.h:48
ogdf::sync_plan::FrozenPipeBijPair
std::pair< int, int > FrozenPipeBijPair
Definition: Bijection.h:49
ogdf::sync_plan::getFrozenPipeBijection
void getFrozenPipeBijection(node u, node v, FrozenPipeBij &out)
ogdf::sync_plan::PipeBijIterator
ZipIterator< ogdf::internal::GraphObjectContainer< AdjElement >::iterator, ogdf::internal::GraphObjectContainer< AdjElement >::reverse_iterator > PipeBijIterator
Definition: Bijection.h:46
ogdf::sync_plan::join
void join(Graph &G, node u, node v, sync_plan::PipeBij &bij, List< bool > *reverse_v=nullptr)
GraphList.h
Decralation of GraphElement and GraphList classes.
ogdf::List
Doubly linked lists (maintaining the length of the list).
Definition: DfsMakeBiconnected.h:40
ogdf::internal::GraphRegisteredArray
RegisteredArray for nodes, edges and adjEntries of a graph.
Definition: Graph_d.h:658
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:869
ogdf::Range
Simple before-C++20 version for std::ranges::ref_view.
Definition: Iterators.h:41
basic.h
Basic declarations, included by all source files.
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::EdgeElement
Class for the representation of edges.
Definition: Graph_d.h:363
List.h
Declaration of doubly linked lists and iterators.
ogdf::sync_plan::freezePipeBijection
void freezePipeBijection(const PipeBij &in, FrozenPipeBij &out)
comparer.h
Declarations for Comparer objects.
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:240
Iterators.h
Utilities for wrapping Iterators as long as we have no std::ranges. TODO should be moved to a central...
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:716