43template<
class E1,
class E2>
82 int width()
const {
return m_w; }
96 _int_set() : m_array(nullptr), m_length(0), m_index(0) { }
98 explicit _int_set(
int len) : m_array(nullptr), m_length(len), m_index(len) {
100 m_array =
new int[m_length];
108 if ((m_length = len) == 0) {
111 m_array =
new int[m_length];
120 void insert(
int x) { m_array[--m_index] = x; }
122 bool ready()
const {
return m_index == 0; }
Declaration of interface for acyclic subgraph algorithms.
Includes declaration of graph class.
Declaration of interface for ranking algorithms.
Basic declarations, included by all source files.
Base class of algorithms for computing a maximal acyclic subgraph.
int operator[](int i) const
The coffman graham ranking algorithm.
CoffmanGrahamRanking()
Creates an instance of coffman graham ranking.
void setSubgraph(AcyclicSubgraphModule *pSubgraph)
Sets the module for the computation of the acyclic subgraph.
void width(int w)
Set for the with.
int width() const
Get for the with.
std::unique_ptr< AcyclicSubgraphModule > m_subgraph
NodeArray< _int_set > m_s
void insert(node u, List< Tuple2< node, int > > &ready_nodes)
void insert(node u, List< node > &ready, const NodeArray< int > &pi)
void removeTransitiveEdges(Graph &G)
virtual void call(const Graph &G, NodeArray< int > &rank) override
Computes a node ranking of G in rank.
Data type for general directed graphs (adjacency list representation).
Doubly linked lists (maintaining the length of the list).
Class for the representation of nodes.
Interface of algorithms for computing a node ranking.
Tuples of two elements (2-tuples).
RegisteredArray for nodes, edges and adjEntries of a graph.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
The namespace for all OGDF objects.