Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
Bijection.h
Go to the documentation of this file.
1
31#pragma once
32
33#include <ogdf/basic/Graph.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
43namespace ogdf::sync_plan {
44
48using PipeBijPair = std::pair<adjEntry, adjEntry>;
49using FrozenPipeBijPair = std::pair<int, int>;
52
53OGDF_DECLARE_COMPARER(PipeBijCmp, PipeBijPair, int, x.first->theEdge()->index());
54
55OGDF_DECLARE_COMPARER(FrozenPipeBijCmp, FrozenPipeBijPair, int, x.first);
56
58
60
62
64
66
68
69OGDF_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
74 List<bool>* reverse_v = nullptr);
75
77 const std::function<void(node)>& deleteNode, const std::function<void(edge)>& deleteEdge,
78 List<bool>* reverse_v = nullptr);
79
80}
Includes declaration of graph class.
Decralation of GraphElement and GraphList classes.
Declaration of doubly linked lists and iterators.
Basic declarations, included by all source files.
Class for the representation of edges.
Definition Graph_d.h:364
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:866
Class for the representation of nodes.
Definition Graph_d.h:241
Simple before-C++20 version for std::ranges::ref_view.
Definition Iterators.h:41
Simple before-C++20 version for std::ranges::zip_view.
Definition Iterators.h:59
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition Graph_d.h:717
RegisteredArray for nodes, edges and adjEntries of a graph.
Definition Graph_d.h:659
Utilities for wrapping Iterators as long as we have no std::ranges.
Declarations for Comparer objects.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
Definition config.h:117
#define OGDF_DECLARE_COMPARER(NAME, TYPE, NUMBER, GET_X_ATTR)
Declares a class NAME that extends from ogdf::GenericComparer.
Definition comparer.h:438
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)
PipeBijRange getPipeBijection(node u, node v)
std::pair< adjEntry, adjEntry > PipeBijPair
Definition Bijection.h:48
void join(Graph &G, node u, node v, sync_plan::PipeBij &bij, List< bool > *reverse_v=nullptr)
void getFrozenPipeBijection(node u, node v, FrozenPipeBij &out)
void freezePipeBijection(const PipeBij &in, FrozenPipeBij &out)
std::pair< int, int > FrozenPipeBijPair
Definition Bijection.h:49