Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

AcyclicSubgraphModule.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/Graph.h>
35 #include <ogdf/basic/basic.h>
36 #include <ogdf/basic/memory.h>
37 
38 namespace ogdf {
39 template<class E>
40 class List;
41 
48 public:
51 
53  virtual ~AcyclicSubgraphModule() { }
54 
63  virtual void call(const Graph& G, List<edge>& arcSet) = 0;
64 
71  void operator()(const Graph& G, List<edge>& arcSet) { call(G, arcSet); }
72 
81  void callAndReverse(Graph& G, List<edge>& reversed);
82 
83  // makes G acyclic (except for self-loops!) by reversing edges
92  void callAndReverse(Graph& G);
93 
94  // makes G acyclic by deleting edges
101  void callAndDelete(Graph& G);
102 
104 };
105 
106 }
ogdf
The namespace for all OGDF objects.
Definition: multilevelmixer.cpp:39
Graph.h
Includes declaration of graph class.
OGDF_MALLOC_NEW_DELETE
#define OGDF_MALLOC_NEW_DELETE
Makes the class use malloc for memory allocation.
Definition: memory.h:92
ogdf::List< edge >
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:869
ogdf::AcyclicSubgraphModule::AcyclicSubgraphModule
AcyclicSubgraphModule()
Initializes an acyclic subgraph module.
Definition: AcyclicSubgraphModule.h:50
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::AcyclicSubgraphModule
Base class of algorithms for computing a maximal acyclic subgraph.
Definition: AcyclicSubgraphModule.h:47
ogdf::AcyclicSubgraphModule::operator()
void operator()(const Graph &G, List< edge > &arcSet)
Computes the set of edges arcSet which have to be removed for obtaining an acyclic subgraph of G.
Definition: AcyclicSubgraphModule.h:71
memory.h
Declaration of memory manager for allocating small pieces of memory.
ogdf::AcyclicSubgraphModule::~AcyclicSubgraphModule
virtual ~AcyclicSubgraphModule()
Destruction.
Definition: AcyclicSubgraphModule.h:53