Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
ogdf Namespace Reference

The namespace for all OGDF objects. More...

Namespaces

namespace  booth_lueker
 
namespace  boyer_myrvold
 
namespace  cluster_planarity
 
namespace  davidson_harel
 
namespace  disjoint_sets
 
namespace  dot
 
namespace  edge_router
 
namespace  embedder
 
namespace  embedding_inserter
 
namespace  energybased
 
namespace  fast_multipole_embedder
 
namespace  gdf
 
namespace  gexf
 
namespace  gml
 
namespace  graphics
 
namespace  graphml
 
namespace  internal
 
namespace  Matching
 Simple algorithms for matchings.
 
namespace  Math
 
namespace  planar_separator
 
namespace  planar_separators
 
namespace  planarization_layout
 
namespace  pq_internal
 This namespace contains helper classes to keep the code dry.
 
namespace  spring_embedder
 
namespace  sse
 
namespace  steiner_tree
 
namespace  tlp
 
namespace  topology_module
 

Classes

class  AcyclicSubgraphModule
 Base class of algorithms for computing a maximal acyclic subgraph. More...
 
class  AdjacencyOracle
 Tells you in constant time if two nodes are adjacent. More...
 
class  AdjElement
 Class for adjacency list elements. More...
 
class  AdjEntryArray
 Dynamic arrays indexed with adjacency entries. More...
 
class  AdjEntryArrayBase
 Abstract base class for adjacency entry arrays. More...
 
class  AdjHypergraphElement
 Class for adjacency list elements. More...
 
class  AlgorithmFailureException
 Exception thrown when an algorithm realizes an internal bug that prevents it from continuing. More...
 
class  Array
 The parameterized class Array implements dynamic arrays of type E. More...
 
class  Array2D
 The parameterized class Array2D implements dynamic two-dimensional arrays. More...
 
class  ArrayBuffer
 An array that keeps track of the number of inserted elements; also usable as an efficient stack. More...
 
class  ArrayLevel
 The simple implementation of LevelBase interface. More...
 
class  ArrayReverseIteratorBase
 Random-access reverse iterator based on a pointer to an array element. More...
 
class  AStarSearch
 A-Star informed search algorithm. More...
 
class  AugmentationModule
 The base class for graph augmentation algorithms. More...
 
class  BalloonLayout
 
class  Barrier
 Representation of a barrier. More...
 
class  BarycenterHeuristic
 The barycenter heuristic for 2-layer crossing minimization. More...
 
class  BarycenterPlacer
 The barycenter placer for multilevel layout. More...
 
class  BasicPageRank
 Basic page rank calculation. More...
 
class  BCTree
 Static BC-trees. More...
 
class  BendString
 Represents the bends on an edge e consisting of vertical and horizontal segments. More...
 
class  BertaultLayout
 
class  BiconnectedShellingOrder
 Computation of the shelling order for biconnected graphs. More...
 
class  BinaryHeap
 Heap realized by a data array. More...
 
class  BinaryHeapSimple
 Dynamically growing binary heap tuned for efficiency on a small interface (compared to BinaryHeap). More...
 
class  BinomialHeap
 Binomial heap implementation. More...
 
struct  BinomialHeapNode
 Binomial heap node. More...
 
class  BitonicOrdering
 
class  Block
 Class representing idea of Blocks used in GlobalSifting and GridSifting algorithms. More...
 
class  BlockOrder
 Hierarchical graph representation used by GlobalSifting and GridSifting algorithms. More...
 
class  BoothLueker
 Booth-Lueker planarity test. More...
 
class  BoundedQueue
 The parameterized class BoundedQueue implements queues with bounded size. More...
 
class  BoyerMyrvold
 Wrapper class used for preprocessing and valid invocation of the planarity test. More...
 
class  BoyerMyrvoldPlanar
 This class implements the extended BoyerMyrvold planarity embedding algorithm. More...
 
class  BucketEdgeArray
 Bucket function for edges. More...
 
class  BucketFunc
 Abstract base class for bucket functions. More...
 
class  BucketSourceIndex
 Bucket function using the index of an edge's source node as bucket. More...
 
class  BucketTargetIndex
 Bucket function using the index of an edge's target node as bucket. More...
 
class  CCLayoutPackModule
 Base class of algorithms that arrange/pack layouts of connected components. More...
 
class  CconnectClusterPlanar
 C-planarity test by Cohen, Feng and Eades. More...
 
class  CconnectClusterPlanarEmbed
 C-planarity test and embedding by Cohen, Feng and Eades. More...
 
class  CirclePlacer
 The circle placer for multilevel layout. More...
 
class  CircularLayout
 The circular layout algorithm. More...
 
class  CliqueFinderHeuristic
 Finds cliques and dense subgraphs using a heuristic. More...
 
class  CliqueFinderModule
 Finds cliques. More...
 
class  CliqueFinderSPQR
 Finds cliques using SPQR trees. More...
 
class  ClusterAnalysis
 
class  ClusterArray
 Dynamic arrays indexed with clusters. More...
 
class  ClusterArrayBase
 Abstract base class for cluster arrays. More...
 
class  ClusterElement
 Representation of clusters in a clustered graph. More...
 
class  Clusterer
 Clustering is determined based on the threshold values (connectivity thresholds determine edges to be deleted) and stopped if average clustering index drops below m_stopIndex. More...
 
class  ClustererModule
 Interface for algorithms that compute a clustering for a given graph. More...
 
class  ClusterGraph
 Representation of clustered graphs. More...
 
class  ClusterGraphAttributes
 Stores additional attributes of a clustered graph (like layout information). More...
 
class  ClusterGraphCopy
 
class  ClusterGraphCopyAttributes
 Manages access on copy of an attributed clustered graph. More...
 
class  ClusterGraphObserver
 Abstract base class for cluster graph observers. More...
 
class  ClusterOrthoLayout
 Represents a planar orthogonal drawing algorithm for c-planar, c-connected clustered graphs. More...
 
class  ClusterOrthoShaper
 Computes the orthogonal representation of a clustered graph. More...
 
class  ClusterPlanarity
 C-planarity testing via completely connected graph extension. More...
 
class  ClusterPlanarizationLayout
 The cluster planarization layout algorithm. More...
 
class  ClusterPlanarModule
 
class  ClusterPlanRep
 Planarized representations for clustered graphs. More...
 
class  ClusterSet
 Cluster sets. More...
 
class  ClusterSetPure
 Cluster sets. More...
 
class  ClusterSetSimple
 Simple cluster sets. More...
 
class  CoffmanGrahamRanking
 The coffman graham ranking algorithm. More...
 
class  CoinManager
 If you use COIN-OR, you should use this class. More...
 
class  Color
 Colors represented as RGBA values. More...
 
class  CombinatorialEmbedding
 Combinatorial embeddings of planar graphs with modification functionality. More...
 
class  CommonCompactionConstraintGraphBase
 Base class for ogdf::CompactionConstraintGraphBase. More...
 
class  CompactionConstraintGraph
 Represents a constraint graph used for compaction. More...
 
class  CompactionConstraintGraphBase
 Class implementing template-parameter-independent behaviour of ogdf::CompactionConstraintGraph. More...
 
class  ComponentSplitterLayout
 
class  Configuration
 Provides information about how OGDF has been configured. More...
 
class  ConnectivityTester
 Naive implementation for testing the connectivity of a graph. More...
 
class  ConstCombinatorialEmbedding
 Combinatorial embeddings of planar graphs. More...
 
class  ConvexHull
 Computes the convex hull of a set of points or a layout. More...
 
class  CPlanarEdgeInserter
 Edge insertion algorithm for clustered graphs. More...
 
class  CPlanarSubClusteredGraph
 Constructs a c-planar subclustered graph of the input based on a spanning tree. More...
 
class  CPlanarSubgraphModule
 Interface of algorithms for the computation of c-planar subgraphs. More...
 
class  CrossingMinimalPosition
 Compute a crossing minimal position for a vertex. More...
 
class  CrossingMinimalPositionApx
 
class  CrossingMinimalPositionApxWeighted
 
class  CrossingMinimizationModule
 Base class for crossing minimization algorithms. More...
 
class  CrossingsMatrix
 Implements crossings matrix which is used by some TwoLayerCrossingMinimization heuristics (e.g. split) More...
 
class  CrossingVertexOrder
 
class  DavidsonHarel
 The Davidson-Harel approach for drawing graphs. More...
 
class  DavidsonHarelLayout
 The Davidson-Harel layout algorithm. More...
 
class  DefHashFunc
 Default hash functions. More...
 
class  DefHashFunc< double >
 Specialized default hash function for double. More...
 
class  DefHashFunc< IPoint >
 
class  DefHashFunc< string >
 Specialized default hash function for string. More...
 
class  DefHashFunc< void * >
 Specialized default hash function for pointer types. More...
 
class  DeletingTop10Heap
 A variant of Top10Heap which deletes the elements that get rejected from the heap. More...
 
class  DfsAcyclicSubgraph
 DFS-based algorithm for computing a maximal acyclic subgraph. More...
 
class  DfsMakeBiconnected
 Implementation of a DFS-based algorithm for biconnectivity augmentation. More...
 
class  Dijkstra
 Dijkstra's single source shortest path algorithm. More...
 
class  DIntersectableRect
 Rectangles with real coordinates. More...
 
class  DisjointSets
 A Union/Find data structure for maintaining disjoint sets. More...
 
class  DLParser
 
class  DominanceLayout
 
class  DPolygon
 Polygons with real coordinates. More...
 
class  DRect
 Rectangles with real coordinates. More...
 
class  DTreeMultilevelEmbedder
 
class  DTreeMultilevelEmbedder2D
 
class  DTreeMultilevelEmbedder3D
 
class  DualGraphBase
 A dual graph including its combinatorial embedding of an embedded graph. More...
 
class  DynamicBCTree
 Dynamic BC-trees. More...
 
class  DynamicCastFailedException
 Exception thrown when result of cast is 0. More...
 
class  DynamicPlanarSPQRTree
 SPQR-trees of planar graphs. More...
 
class  DynamicSkeleton
 Skeleton graphs of nodes in a dynamic SPQR-tree. More...
 
class  DynamicSPQRForest
 Dynamic SPQR-forest. More...
 
class  DynamicSPQRTree
 Linear-time implementation of dynamic SPQR-trees. More...
 
class  EdgeArray
 Dynamic arrays indexed with edges. More...
 
class  EdgeArrayBase
 Abstract base class for edge arrays. More...
 
class  EdgeComparer
 Compares adjacency entries based on the position of the nodes given by GraphAttribute layout information. More...
 
class  EdgeComparerSimple
 Compares incident edges of a node based on the position of the last bend point or the position of the adjacent node given by the layout information of the graph. More...
 
class  EdgeCoverMerger
 The edge cover merger for multilevel layout. More...
 
class  EdgeElement
 Class for the representation of edges. More...
 
class  EdgeIndependentSpanningTrees
 Calculates k edge-independent spanning trees of a graph. More...
 
class  EdgeInsertionModule
 Interface for edge insertion algorithms. More...
 
class  EdgeLabel
 
class  EdgeOrderComparer
 Orders edges such that they do not cross each other when embeddded as insertion paths. More...
 
class  EdgeRouter
 Places node boxes in replacement areas of orthogonal drawing step and route edges to minimize bends. More...
 
class  EdgeStandardRep
 Edge standard representation of hypergraphs. More...
 
class  EdgeWeightedGraph
 
class  EdgeWeightedGraphCopy
 
class  ELabelInterface
 
class  ELabelPosSimple
 
class  EmbedderMaxFace
 Embedder that maximizes the external face. More...
 
class  EmbedderMaxFaceBiconnectedGraphs
 Embedder that maximizing the external face. More...
 
class  EmbedderMaxFaceBiconnectedGraphsLayers
 Embedder that maximizes the external face (plus layers approach). More...
 
class  EmbedderMaxFaceLayers
 Embedder that maximizes the external face and optimizes the position of blocks afterwards. More...
 
class  EmbedderMinDepth
 Embedder that minimizes block-nesting depth. More...
 
class  EmbedderMinDepthMaxFace
 Embedding that minimizes block-nesting depth and maximizes the external face. More...
 
class  EmbedderMinDepthMaxFaceLayers
 Planar graph embedding that minimizes block-nesting depth and maximizes the external face and optimizes the position of blocks afterwards. More...
 
class  EmbedderMinDepthPiTa
 Embedder that minimizes block-nesting depth for given embedded blocks. More...
 
class  EmbedderModule
 Base class for embedder algorithms. More...
 
class  EmbedderOptimalFlexDraw
 The algorithm computes a planar embedding with minimum cost. More...
 
class  ENGLayer
 Represents layer in an extended nesting graph. More...
 
class  EpsilonTest
 
class  Exception
 Base class of all ogdf exceptions. More...
 
class  ExpansionGraph
 Represents expansion graph of each biconnected component of a given digraph, i.e., each vertex v with in- and outdegree greater than 1 is expanded into two vertices x and y connected by an edge x->y such that all incoming edges are moved from v to x and all outgoing edges from v to y. More...
 
class  ExtendedNestingGraph
 
struct  ExternE
 List of externally active nodes strictly between x and y for minortypes B and E More...
 
class  ExtractKuratowskis
 Extracts multiple Kuratowski Subdivisions. More...
 
class  FaceArray
 Dynamic arrays indexed with faces of a combinatorial embedding. More...
 
class  FaceArrayBase
 Abstract base class for face arrays. More...
 
class  FaceElement
 Faces in a combinatorial embedding. More...
 
class  FaceSet
 Face sets. More...
 
class  FaceSinkGraph
 
class  FastHierarchyLayout
 Coordinate assignment phase for the Sugiyama algorithm by Buchheim et al. More...
 
class  FastMultipoleEmbedder
 The fast multipole embedder approach for force-directed layout. More...
 
class  FastMultipoleMultilevelEmbedder
 The fast multipole multilevel embedder approach for force-directed multilevel layout. More...
 
class  FastSimpleHierarchyLayout
 Coordinate assignment phase for the Sugiyama algorithm by Ulrik Brandes and Boris Köpf. More...
 
class  FibonacciHeap
 Fibonacci heap implementation. More...
 
struct  FibonacciHeapNode
 Fibonacci heap node. More...
 
struct  Fill
 Properties of fills. More...
 
class  FindKuratowskis
 This class collects information about Kuratowski Subdivisions which is used for extraction later. More...
 
class  FixedEmbeddingInserter
 Inserts edges optimally into an embedding. More...
 
class  FixedEmbeddingInserterUML
 Edge insertion module that inserts each edge optimally into a fixed embedding. More...
 
class  FixedEmbeddingUpwardEdgeInserter
 Edge insertion module that inserts each edge optimally into a fixed embedding. More...
 
class  FixEdgeInserterCore
 
class  FixEdgeInserterUMLCore
 
class  FlowCompaction
 represents compaction algorithm using min-cost flow in the dual of the constraint graph More...
 
class  FMMMLayout
 The fast multipole multilevel layout algorithm. More...
 
class  FMMMOptions
 
class  ForceLayoutModule
 Interface of general layout algorithms. More...
 
class  FPPLayout
 The class FPPLayout represents the layout algorithm by de Fraysseix, Pach, Pollack [DPP90]. More...
 
class  FUPSModule
 Interface for feasible upward planar subgraph algorithms. More...
 
class  FUPSSimple
 
class  GEMLayout
 The energy-based GEM layout algorithm. More...
 
struct  GenericComparer
 Compare elements based on a single comparable attribute. More...
 
class  GenericLine
 Infinite lines. More...
 
class  GenericPoint
 Parameterized base class for points. More...
 
class  GenericPolyline
 Polylines with PointType points. More...
 
class  GenericSegment
 Finite line segments. More...
 
class  GeometricEdgeInsertion
 
class  GeometricVertexInsertion
 
class  GF2Solver
 
class  GlobalSifting
 The global sifting heuristic for crossing minimization. More...
 
class  GlueMap
 This is a helper class to make the glueing of two edges simpler. More...
 
class  Graph
 Data type for general directed graphs (adjacency list representation). More...
 
class  GraphAttributes
 Stores additional attributes of a graph (like layout information). More...
 
class  GraphCopy
 Copies of graphs supporting edge splitting. More...
 
class  GraphCopySimple
 Copies of graphs with mapping between nodes and edges. More...
 
class  GraphIO
 Utility class providing graph I/O in various exchange formats. More...
 
class  GraphMLParser
 
class  GraphObserver
 Abstract Base class for graph observers. More...
 
class  GraphReduction
 Creates a reduced graph by removing leaves, self-loops, and reducing chains. More...
 
class  GreedyCycleRemoval
 Greedy algorithm for computing a maximal acyclic subgraph. More...
 
class  GreedyInsertHeuristic
 The greedy-insert heuristic for 2-layer crossing minimization. More...
 
class  GreedySwitchHeuristic
 The greedy-switch heuristic for 2-layer crossing minimization. More...
 
class  GridLayout
 Representation of a graph's grid layout. More...
 
class  GridLayoutMapped
 Extends GridLayout by a grid mapping mechanism. More...
 
class  GridLayoutModule
 Base class for grid layout algorithms. More...
 
class  GridLayoutPlanRepModule
 Base class for grid layout algorithms operating on a PlanRep. More...
 
class  GridSifting
 The grid sifting heuristic for crossing minimization. More...
 
class  HananiTutteCPlanarity
 C-planarity testing via Hanani-Tutte approach. More...
 
class  HashArray
 Indexed arrays using hashing for element access. More...
 
class  HashArray2D
 Indexed 2-dimensional arrays using hashing for element access. More...
 
class  HashConstIterator
 Iterators for hash tables. More...
 
class  HashConstIterator2D
 Const-iterator for 2D-hash arrays. More...
 
class  HashElement
 Representation of elements in a hash table. More...
 
class  HashElementBase
 Base class for elements within a hash table. More...
 
class  HashFuncTuple
 
class  Hashing
 Hashing with chaining and table doubling. More...
 
class  HashingBase
 Base class for hashing with chaining and table doubling. More...
 
class  HeapBase
 Common interface for all heap classes. More...
 
class  Hierarchy
 Representation of proper hierarchies used by Sugiyama-layout. More...
 
class  HierarchyClusterLayoutModule
 Interface of hierarchy layout algorithms for cluster graphs. More...
 
class  HierarchyLayoutModule
 Interface of hierarchy layout algorithms. More...
 
class  HierarchyLevels
 Representation of proper hierarchies used by Sugiyama-layout. More...
 
class  HierarchyLevelsBase
 
class  HotQueue
 Heap-on-Top queue implementation. More...
 
struct  HotQueueHandle
 Heap-on-Top handle to inserted items. More...
 
struct  HotQueueNode
 Heap-on-Top bucket element. More...
 
class  HyperedgeArray
 Dynamic arrays indexed with nodes. More...
 
class  HyperedgeElement
 Class for the representation of hyperedges. More...
 
class  Hypergraph
 
class  HypergraphArrayBase
 Abstract base class for hypergraph arrays. More...
 
class  HypergraphAttributes
 Stores additional attributes of a hypergraph. More...
 
class  HypergraphAttributesES
 Stores additional attributes of edge standard representation of a hypergraph. More...
 
class  HypergraphLayoutES
 
class  HypergraphLayoutModule
 Interface of hypergraph layout algorithms. More...
 
class  HypergraphObserver
 
class  HypernodeArray
 Dynamic arrays indexed with hypernodes. More...
 
class  HypernodeElement
 Class for the representation of hypernodes. More...
 
class  IncNodeInserter
 
class  IndependentSetMerger
 The independent set merger for multilevel layout. More...
 
class  Initialization
 The class Initialization is used for initializing global variables. More...
 
class  InitialPlacer
 Base class for placer modules. More...
 
struct  InOutPoint
 Representation of an in- or outpoint. More...
 
class  InsufficientMemoryException
 Exception thrown when not enough memory is available to execute an algorithm. More...
 
class  IOPoints
 Representation of in- and outpoint lists. More...
 
class  KuratowskiStructure
 A Kuratowski Structure is a special graph structure containing severals subdivisions. More...
 
class  KuratowskiSubdivision
 
class  KuratowskiWrapper
 Wrapper-class for Kuratowski Subdivisions containing the minortype and edgelist. More...
 
class  LayerBasedUPRLayout
 
class  LayerByLayerSweep
 Interface of two-layer crossing minimization algorithms. More...
 
class  LayeredCrossMinModule
 Interface of crossing minimization algorithms for layered graphs. More...
 
class  Layout
 Stores a layout of a graph (coordinates of nodes, bend points of edges). More...
 
class  LayoutClusterPlanRepModule
 Interface for planar cluster layout algorithms. More...
 
class  LayoutModule
 Interface of general layout algorithms. More...
 
class  LayoutPlanRepModule
 Interface for planar layout algorithms (used in the planarization approach). More...
 
class  LayoutPlanRepUMLModule
 Interface for planar UML layout algorithms. More...
 
class  LayoutStandards
 Standard values for graphical attributes and layouts. More...
 
class  LayoutStatistics
 Computes statistical information about a layout. More...
 
class  LCA
 Implements the <O(n log n), O(1)>-time "sparse table" algorithm by Bender and Farach-Colton to compute lowest common ancestors (LCAs) in arborescences (not arbitrary directed acyclic graphs). More...
 
class  LeftistOrdering
 
class  Level
 Representation of levels in hierarchies. More...
 
class  LevelBase
 Representation of levels in hierarchies. More...
 
class  LHTreeNode
 
class  LibraryNotSupportedException
 Exception thrown when an external library shall be used which is not supported. More...
 
class  LinearLayout
 Layout the graph with nodes next to each other with natural or custom order and draw the edges as semicircular bows above them. More...
 
class  List
 Doubly linked lists (maintaining the length of the list). More...
 
class  ListContainer
 
class  ListElement
 Structure for elements of doubly linked lists. More...
 
class  ListIteratorBase
 Encapsulates a pointer to a list element. More...
 
class  ListPure
 Doubly linked lists. More...
 
class  LocalBiconnectedMerger
 The local biconnected merger for multilevel layout. More...
 
class  Logger
 Centralized global and local logging facility working on streams like std::cout. More...
 
class  LongestPathCompaction
 Compaction algorithm using longest paths in the constraint graph. More...
 
class  LongestPathRanking
 The longest-path ranking algorithm. More...
 
class  LPSolver
 
class  MallocMemoryAllocator
 Implements a simple memory manager using malloc() and free(). More...
 
class  MatchingMerger
 The matching merger for multilevel layout. More...
 
class  MaxAdjOrdering
 Calculate one or all Maximum Adjacency Ordering(s) of a given simple undirected graph. More...
 
class  MaxFlowEdmondsKarp
 Computes a max flow via Edmonds-Karp. More...
 
class  MaxFlowGoldbergTarjan
 Computes a max flow via Preflow-Push (global relabeling and gap relabeling heuristic). More...
 
class  MaxFlowModule
 
class  MaxFlowSTPlanarDigraph
 Computes a max flow in s-t-planar network via dual shortest paths. More...
 
class  MaxFlowSTPlanarItaiShiloach
 Computes a max flow in s-t-planar network via uppermost paths. More...
 
class  MaximalFUPS
 
class  MaximalPlanarSubgraphSimple< TCost, typename std::enable_if< std::is_floating_point< TCost >::value >::type >
 
class  MaximalPlanarSubgraphSimple< TCost, typename std::enable_if< std::is_integral< TCost >::value >::type >
 Naive maximal planar subgraph approach that extends a configurable non-maximal subgraph heuristic. More...
 
class  MaximumCPlanarSubgraph
 Exact computation of a maximum c-planar subgraph. More...
 
class  MaximumPlanarSubgraph
 Exact computation of a maximum planar subgraph. More...
 
class  MaxSequencePQTree
 The class template MaxSequencePQTree is designed to compute a maximal consecutive sequence of pertinent leaves in a PQ-tree. More...
 
class  MedianHeuristic
 The median heuristic for 2-layer crossing minimization. More...
 
class  MedianPlacer
 The median placer for multilevel layout. More...
 
class  MinCostFlowModule
 Interface for min-cost flow algorithms. More...
 
class  MinCostFlowReinelt
 Computes a min-cost flow using a network simplex method. More...
 
class  MinimumCutModule
 Serves as an interface for various methods to compute minimum cuts with or without edge weights. More...
 
class  MinimumCutNagamochiIbaraki
 Calculate minimum cut value for a given Graph. More...
 
struct  MinimumCutStoerWagner
 Computes a minimum cut in a graph. More...
 
class  MinimumEdgeDistances
 Maintains input sizes for improvement compaction (deltas and epsilons) More...
 
class  MinSTCutBFS
 Min-st-cut algorithm, that calculates the cut by doing a depth first search over the dual graph of of an st-planar input graph. More...
 
class  MinSTCutDijkstra
 Min-st-cut algorithm, that calculates the cut by calculating the shortest path between the faces adjacent to an edge between s and t, via the algorithm by Dijkstra on the dual graph. More...
 
class  MinSTCutMaxFlow
 Min-st-cut algorithm, that calculates the cut via maxflow. More...
 
class  MinSTCutModule
 
class  MinSteinerTreeDirectedCut
 This class implements the Directed Cut Integer Linear Program for the Steiner tree problem. More...
 
class  MinSteinerTreeDualAscent
 Dual ascent heuristic for the minimum Steiner tree problem. More...
 
class  MinSteinerTreeGoemans139
 This class implements the (1.39+epsilon)-approximation algorithm for the Steiner tree problem by Goemans et. More...
 
class  MinSteinerTreeKou
 This class implements the Minimum Steiner Tree 2-approximation algorithm by Kou et al. More...
 
class  MinSteinerTreeMehlhorn
 This class implements the Minimum Steiner Tree 2-approximation algorithm by Mehlhorn. More...
 
class  MinSteinerTreeModule
 Serves as an interface for various methods to compute or approximate minimum Steiner trees on undirected graphs with edge costs. More...
 
class  MinSteinerTreePrimalDual
 Primal-Dual approximation algorithm for Steiner tree problems. More...
 
class  MinSteinerTreeRZLoss
 This class implements the loss-contracting (1.55+epsilon)-approximation algorithm for the Steiner tree problem by Robins and Zelikovsky. More...
 
class  MinSteinerTreeShore
 Implementation of Shore, Foulds and Gibbons exact branch and bound algorithm for solving Steiner tree problems. More...
 
class  MinSteinerTreeTakahashi
 This class implements the minimum Steiner tree 2-approximation algorithm by Takahashi and Matsuyama with improvements proposed by Poggi de Aragao et al. More...
 
class  MinSteinerTreeZelikovsky
 This class implements the 11/6-approximation algorithm by Zelikovsky for the minimum Steiner tree problem along with variants and practical improvements. More...
 
class  MixedModelBase
 
class  MixedModelCrossingsBeautifierModule
 The base class for Mixed-Model crossings beautifier algorithms. More...
 
class  MixedModelLayout
 Implementation of the Mixed-Model layout algorithm. More...
 
class  MMCBBase
 common base class for MMCBDoubleGrid and MMCBLocalStretch. More...
 
class  MMCBDoubleGrid
 Crossings beautifier using grid doubling. More...
 
class  MMCBLocalStretch
 Crossings beautifier using a local stretch strategy. More...
 
class  MMCrossingMinimizationModule
 Interface for minor-monotone crossing minimization algorithms. More...
 
class  MMDummyCrossingsBeautifier
 Dummy implementation of Mixed-Model crossings beautifier. More...
 
class  MMEdgeInsertionModule
 Interface for minor-monotone edge insertion algorithms. More...
 
class  MMFixedEmbeddingInserter
 Minor-monotone edge insertion with fixed embedding. More...
 
class  MMOrder
 
class  MMSubgraphPlanarizer
 Planarization approach for minor-monotone crossing minimization. More...
 
class  MMVariableEmbeddingInserter
 Minor-monotone edge insertion with variable embedding. More...
 
class  ModifiedNibbleClusterer
 The modified nibble clustering algorithm. More...
 
class  ModularMultilevelMixer
 Modular multilevel graph layout. More...
 
class  Module
 Base class for modules. More...
 
class  MultiEdgeApproxInserter
 Multi edge inserter with approximation guarantee. More...
 
class  MultilevelBuilder
 Base class for merger modules. More...
 
class  MultilevelGraph
 
class  MultilevelLayout
 The multilevel drawing framework. More...
 
class  MultilevelLayoutModule
 Interface of general layout algorithms that also allow a MultilevelGraph as call parameter, extending the interface of a simple LayoutModule. More...
 
class  NearestRectangleFinder
 Finds in a given set of rectangles for each point in a given set of points the nearest rectangle. More...
 
class  NodeArray
 Dynamic arrays indexed with nodes. More...
 
class  NodeArrayBase
 Abstract base class for node arrays. More...
 
class  NodeElement
 Class for the representation of nodes. More...
 
struct  NodeMerge
 
struct  NodePair
 
class  NodeRespecterLayout
 The NodeRespecterLayout layout algorithm. More...
 
class  NodeSet
 Node sets. More...
 
class  NonPlanarCore
 Non-planar core reduction. More...
 
class  NoStdComparerException
 Exception thrown when a required standard comparer has not been specialized. More...
 
class  OptimalHierarchyClusterLayout
 The LP-based hierarchy cluster layout algorithm. More...
 
class  OptimalHierarchyLayout
 The LP-based hierarchy layout algorithm. More...
 
class  OptimalRanking
 The optimal ranking algorithm. More...
 
class  OrderComparer
 
class  OrthoLayout
 The Orthogonal layout algorithm for planar graphs. More...
 
class  OrthoLayoutUML
 Represents planar orthogonal drawing algorithm for mixed-upward planar embedded graphs (UML-diagrams) More...
 
class  OrthoRep
 Orthogonal representation of an embedded graph. More...
 
class  OrthoShaper
 
class  PairingHeap
 Pairing heap implementation. More...
 
struct  PairingHeapNode
 Pairing heap node. More...
 
class  PALabel
 auxiliary class for the planar augmentation algorithm More...
 
class  PertinentGraph
 Pertinent graphs of nodes in an SPQR-tree. More...
 
class  PivotMDS
 The Pivot MDS (multi-dimensional scaling) layout algorithm. More...
 
class  PlanarAugmentation
 The algorithm for planar biconnectivity augmentation (Mutzel, Fialko). More...
 
class  PlanarAugmentationFix
 The algorithm for biconnectivity augmentation with fixed combinatorial embedding. More...
 
class  PlanarDrawLayout
 Implementation of the Planar-Draw layout algorithm. More...
 
class  PlanarGridLayoutModule
 Base class for planar grid layout algorithms. More...
 
class  PlanarityModule
 Module for planarity testing and planar embeddings. More...
 
class  PlanarizationGridLayout
 The planarization grid layout algorithm. More...
 
class  PlanarizationLayout
 The planarization approach for drawing graphs. More...
 
class  PlanarizationLayoutUML
 The planarization layout algorithm. More...
 
class  PlanarizerChordlessCycle
 Starts with a chordless cycle of the graph and then inserts each original node that is adjacent to already inserted ones via the StarInserter. More...
 
class  PlanarizerMixedInsertion
 Computes a planar subgraph of the graph and then re-inserts each original node that is incident to at least one edge not in the subgraph via the StarInserter. More...
 
class  PlanarizerStarReinsertion
 The star (re-)insertion approach for crossing minimization. More...
 
class  PlanarSeparatorModule
 Abstract description of all planar separator algorithms. More...
 
class  PlanarSPQRTree
 SPQR-trees of planar graphs. More...
 
class  PlanarStraightLayout
 Implementation of the Planar-Straight layout algorithm. More...
 
class  PlanarSubgraphBoyerMyrvold
 Maximum planar subgraph heuristic based on the Boyer-Myrvold planarity test. More...
 
class  PlanarSubgraphCactus
 Maximum planar subgraph approximation algorithm by Calinescu et al. More...
 
class  PlanarSubgraphEmpty
 Dummy implementation for maximum planar subgraph that returns an empty graph. More...
 
class  PlanarSubgraphFast
 Computation of a planar subgraph using PQ-trees. More...
 
class  PlanarSubgraphModule
 Interface for planar subgraph algorithms. More...
 
class  PlanarSubgraphPQTree
 
class  PlanarSubgraphTree
 Maximum planar subgraph heuristic that yields a spanning tree. More...
 
class  PlanarSubgraphTriangles
 Maximum planar subgraph approximation algorithms by Chalermsook/Schmid and Calinescu et al. More...
 
class  PlanRep
 Planarized representations (of a connected component) of a graph. More...
 
class  PlanRepExpansion
 Planarized representations (of a connected component) of a graph. More...
 
class  PlanRepInc
 This class is only an adaption of PlanRep for the special incremental drawing case. More...
 
class  PlanRepLight
 Light-weight version of a planarized representation, associated with a PlanRep. More...
 
class  PlanRepUML
 Planarized representation (of a connected component) of a UMLGraph; allows special handling of hierarchies in the graph. More...
 
class  PoolMemoryAllocator
 Allocates memory in large chunks for better runtime. More...
 
class  PQBasicKey
 
class  PQBasicKeyRoot
 The class PQBasicKeyRoot is used as a base class of the class template basicKey. More...
 
class  PQInternalKey
 The class template PQInternalKey is a derived class of class template PQBasicKey. More...
 
class  PQInternalNode
 The class template PQInternalNode is used to present P-nodes and Q-nodes in the PQ-Tree. More...
 
class  PQLeaf
 The datastructure PQ-tree was designed to present a set of permutations on an arbitrary set of elements. More...
 
class  PQLeafKey
 The class template PQLeafKey is a derived class of class template PQBasicKey. More...
 
class  PQNode
 The class template PQBasicKey is an abstract base class. More...
 
class  PQNodeKey
 The class template PQNodeKey is a derived class of class template PQBasicKey. More...
 
class  PQNodeRoot
 The class PQNodeRoot is used as a base class of the class PQNode. More...
 
class  PQTree
 
class  PreprocessorLayout
 The PreprocessorLayout removes multi-edges and self-loops. More...
 
class  Prioritized
 Augments any data elements of type X with keys of type Priority. This class is also its own Comparer. More...
 
class  PrioritizedMapQueue
 Prioritized queue interface wrapper for heaps. More...
 
class  PrioritizedMapQueue< edge, P, C, Impl, HashFunc >
 Specialization for edge elements. More...
 
class  PrioritizedMapQueue< node, P, C, Impl, HashFunc >
 Specialization for node elements. More...
 
class  PriorityQueue
 Priority queue interface wrapper for heaps. More...
 
class  ProcrustesPointSet
 
class  ProcrustesSubLayout
 Simple procrustes analysis. More...
 
class  Queue
 The parameterized class Queue<E> implements list-based queues. More...
 
struct  QueueEntry
 
class  QueuePure
 Implementation of list-based queues. More...
 
class  RadialTreeLayout
 The radial tree layout algorithm. More...
 
class  RadixHeap
 Radix heap data structure implementation. More...
 
class  RadixHeapNode
 
class  RandomMerger
 The random merger for multilevel layout. More...
 
class  RandomPlacer
 The random placer for multilevel layout. More...
 
class  RandomVertexPosition
 Interface for computing a good / optimal vertex position. More...
 
class  RankingModule
 Interface of algorithms for computing a node ranking. More...
 
struct  RCCrossings
 
class  Reverse
 A wrapper class to easily iterate through a container in reverse. More...
 
class  RMHeap
 Randomized meldable heap implementation. More...
 
struct  RMHeapNode
 Randomized meldable heap node. More...
 
class  RoutingChannel
 Maintains input sizes for constructive compaction (size of routing channels, separation, cOverhang) More...
 
class  ScalingLayout
 Scales a graph layout and calls a secondary layout algorithm. More...
 
class  SchnyderLayout
 The class SchnyderLayout represents the layout algorithm by Schnyder [Sch90]. More...
 
class  SeparatorDual
 Computes planar separators using the Dual of the graph. More...
 
class  SeparatorDualFC
 Computes planar separators by applying the Fundamental Cycle Lemma directly, without trying tree levels first. More...
 
class  SeparatorHarPeled
 Computes planar separators according to Har-Peled. More...
 
class  SeparatorLiptonTarjan
 Computes planar separators according to Lipton and Tarjan 1979. More...
 
class  SeparatorLiptonTarjanFC
 Computes planar separators using Fundamental Cycles. More...
 
class  ShellingOrder
 The shelling order of a graph. More...
 
class  ShellingOrderModule
 Base class for modules that compute a shelling order of a graph. More...
 
class  ShellingOrderSet
 The node set in a shelling order of a graph. More...
 
class  ShortestPathModule
 
class  ShortestPathWithBFM
 Computes single-source shortest-paths with Bellman-Ford-Moore's algorithm. More...
 
class  SiftingHeuristic
 The sifting heuristic for 2-layer crossing minimization. More...
 
class  SimDraw
 The Base class for simultaneous graph drawing. More...
 
class  SimDrawCaller
 Calls modified algorithms for simdraw instances. More...
 
class  SimDrawColorizer
 Adds color to a graph. More...
 
class  SimDrawCreator
 Creates variety of possible SimDraw creations. More...
 
class  SimDrawCreatorSimple
 Offers predefined SimDraw creations. More...
 
class  SimDrawManipulatorModule
 Interface for simdraw manipulators. More...
 
class  SimpleCCPacker
 Splits and packs the components of a Graph. More...
 
class  SimpleCluster
 
class  SimpleEmbedder
 Embedder that chooses a largest face as the external one. More...
 
class  SimpleIncNodeInserter
 
class  Skeleton
 Skeleton graphs of nodes in an SPQR-tree. More...
 
class  Skiplist
 A randomized skiplist. More...
 
class  SkiplistIterator
 Forward-Iterator for Skiplists. More...
 
class  SList
 Singly linked lists (maintaining the length of the list). More...
 
class  SListElement
 Structure for elements of singly linked lists. More...
 
class  SListIteratorBase
 Encapsulates a pointer to an ogdf::SList element. More...
 
class  SListPure
 Singly linked lists. More...
 
class  SolarMerger
 The solar merger for multilevel layout. More...
 
class  SolarPlacer
 The solar placer for multilevel layout. More...
 
class  SortedSequence
 Maintains a sequence of (key,info) pairs sorted by key. More...
 
class  SortedSequenceIteratorBase
 Iterators for sorted sequences. More...
 
class  SpannerBasicGreedy
 Multiplicative spanner by greedily adding edges. More...
 
class  SpannerBaswanaSen
 Randomized multiplicative spanner calculation by forming clusters. More...
 
class  SpannerBaswanaSenIterated
 Use the ogdf::SpannerIteratedWrapper to execute the ogdf::SpannerBaswanaSen algorithm up to 1000 times. More...
 
class  SpannerBerman
 Approximation algorithm for calculating spanners. More...
 
class  SpannerBermanDisconnected
 Wrapper around SpannerBerman: For each component of the graph, the algorithm will be called. More...
 
class  SpannerElkinNeiman
 Randomized multiplicative spanner calculation by propagating random messages through the graph. More...
 
class  SpannerElkinNeimanIterated
 Use the ogdf::SpannerIteratedWrapper to execute the ogdf::SpannerElkinNeiman algorithm up to 200 times. More...
 
class  SpannerIteratedWrapper
 A implementation-independed wrapper class to execute a spanner algorithm multiple times. More...
 
class  SpannerKortsarzPeleg
 Approximation multiplicative 2-spanner calculation. More...
 
class  SpannerModule
 Interface for spanner algorithms. More...
 
class  SplitHeuristic
 The split heuristic for 2-layer crossing minimization. More...
 
class  SPQRTree
 Linear-time implementation of static SPQR-trees. More...
 
class  SpringEmbedderFRExact
 Fruchterman-Reingold algorithm with (exact) layout. More...
 
class  SpringEmbedderGridVariant
 The spring-embedder layout algorithm with force approximation using hte grid variant approach. More...
 
class  SpringEmbedderKK
 The spring-embedder layout algorithm by Kamada and Kawai. More...
 
class  StarInserter
 Inserts a star (a vertex and its incident edges) optimally into an embedding. More...
 
class  StaticPlanarSPQRTree
 SPQR-trees of planar graphs. More...
 
class  StaticSkeleton
 Skeleton graphs of nodes in a static SPQR-tree. More...
 
class  StaticSPQRTree
 Linear-time implementation of static SPQR-trees. More...
 
class  StdComparer
 Standard comparer (valid as a static comparer). More...
 
class  StdComparer< bool >
 Generates a specialization of the standard static comparer for booleans. More...
 
class  StdComparer< Prioritized< X, Priority > >
 
class  SteinerTreeLowerBoundDualAscent
 Implementation of a dual-ascent-based lower bound heuristic for Steiner tree problems. More...
 
class  SteinerTreePreprocessing
 This class implements preprocessing strategies for the Steiner tree problem. More...
 
class  StlGreater
 Template for converting any StdComparer into a STL compatible compare functor. More...
 
class  StlLess
 Template for converting any StdComparer into a STL compatible compare functor. More...
 
class  Stopwatch
 Realizes a stopwatch for measuring elapsed time. More...
 
class  StopwatchCPU
 Implements a stopwatch measuring CPU time. More...
 
class  StopwatchWallClock
 Implements a stopwatch measuring wall-clock time. More...
 
class  StressMinimization
 Energy-based layout using stress minimization. More...
 
struct  Stroke
 Properties of strokes. More...
 
class  SubgraphPlanarizer
 The planarization approach for crossing minimization. More...
 
class  SubgraphPlanarizerUML
 The planarization approach for UML crossing minimization. More...
 
class  SubgraphUpwardPlanarizer
 Takes an acyclic connected non-upward-planar graph and planarizes it, i.e., we obtain an upward-planar graph where crossings are represented via dummy vertices. More...
 
class  SubsetEnumerator
 Enumerator for k-subsets of a given type. More...
 
class  SugiyamaLayout
 Sugiyama's layout algorithm. More...
 
class  SvgPrinter
 SVG Writer. More...
 
class  System
 System specific functionality. More...
 
class  TargetComparer
 A static comparer which compares the target of pointers ("content"), instead of the pointer's adresses. More...
 
class  Thread
 Threads supporting OGDF's memory management. More...
 
class  TikzWriter
 LaTeX+TikZ Writer. More...
 
class  TileToRowsCCPacker
 The tile-to-rows algorithm for packing drawings of connected components. More...
 
class  Timeouter
 class for timeout funtionality. More...
 
class  TokenIgnorer
 
class  Top10Heap
 A variant of BinaryHeapSimple which always holds only the 10 elements with the highest keys. More...
 
class  TopologyModule
 Constructs embeddings from given layout. More...
 
class  TreeLayout
 The tree layout algorithm. More...
 
class  TriconnectedShellingOrder
 Computation of a shelling order for a triconnected and simple (no multi-edges, no self-loops) planar graph. More...
 
class  Triconnectivity
 realizes Hopcroft/Tarjan algorithm for finding the triconnected components of a biconnected multi-graph More...
 
class  TsplibXmlParser
 Parses tsplib files in xml format. More...
 
class  Tuple2
 Tuples of two elements (2-tuples). More...
 
class  TutteLayout
 Tutte's layout algorithm. More...
 
class  TwoLayerCrossMinSimDraw
 
class  TypeNotSupportedException
 Exception thrown when a data type is not supported by a generic function. More...
 
class  UMLCrossingMinimizationModule
 Base class for UML crossing minimization algorithms. More...
 
class  UmlDiagramGraph
 Contains the class UmlDiagramGraph which represents one particular diagram of the complete UML Model. More...
 
class  UMLEdgeInsertionModule
 Interface for UML edge insertion algorithms. More...
 
class  UMLGraph
 
class  UMLLayoutModule
 Interface of UML layout algorithms. More...
 
class  UmlModelGraph
 This class represents the complete UML Model in a graph-like data structure. More...
 
class  UPRLayoutModule
 Interface of hierarchy layout algorithms. More...
 
class  UpSAT
 
class  UpwardEdgeInserterModule
 
class  UpwardPlanarity
 Upward planarity testing and embedding. More...
 
class  UpwardPlanarityEmbeddedDigraph
 
class  UpwardPlanaritySingleSource
 Performs upward planarity testing and embedding for single-source digraphs. More...
 
class  UpwardPlanarizationLayout
 
class  UpwardPlanarizerModule
 Interface for upward planarization algorithms. More...
 
class  UpwardPlanarSubgraphModule
 Interface for algorithms for computing an upward planar subgraph. More...
 
class  UpwardPlanarSubgraphSimple
 A maximal planar subgraph algorithm using planarity testing. More...
 
class  UpwardPlanRep
 Upward planarized representations (of a connected component) of a graph. More...
 
class  VarEdgeInserterCore
 
class  VarEdgeInserterDynCore
 
class  VarEdgeInserterDynUMLCore
 
class  VarEdgeInserterUMLCore
 
class  VariableEmbeddingInserter
 Optimal edge insertion module. More...
 
class  VariableEmbeddingInserterBase
 Common parameter functionality for ogdf::VariableEmbeddingInserter and ogdf::VariableEmbeddingInserterDyn. More...
 
class  VariableEmbeddingInserterDyn
 Optimal edge insertion module. More...
 
class  VariableEmbeddingInserterDynUML
 Optimal edge insertion module. More...
 
class  VariableEmbeddingInserterUML
 Optimal edge insertion module. More...
 
class  VComparer
 Abstract base class for comparer classes. More...
 
class  VertexMovement
 
class  VertexPositionModule
 Interface for computing a good / optimal vertex position. More...
 
class  VisibilityLayout
 
class  Voronoi
 Computes Voronoi regions in an edge-weighted graph. More...
 
class  WeightComparer
 
class  whaInfo
 
struct  WInfo
 Saves information about a pertinent node w between two stopping vertices. More...
 
class  ZeroPlacer
 The zero placer for multilevel layout. More...
 

Typedefs

using adjEntry = AdjElement *
 The type of adjacency entries.
 
using adjHypergraphEntry = AdjHypergraphElement *
 The type of adjacency entries.
 
template<class E >
using ArrayConstIterator = const E *
 
template<class E >
using ArrayConstReverseIterator = ArrayReverseIteratorBase< E, true >
 
template<class E >
using ArrayIterator = E *
 
template<class E >
using ArrayReverseIterator = ArrayReverseIteratorBase< E, false >
 
using cluster = ClusterElement *
 The type of clusters.
 
using CrossingMinimalPositionFast = CrossingMinimalPosition< double >
 
using DLine = GenericLine< DPoint >
 Lines with real coordinates.
 
using DPoint = GenericPoint< double >
 Representing two-dimensional point with real coordinates.
 
using DPolyline = GenericPolyline< DPoint >
 Polylines with DPoint points.
 
using DSegment = GenericSegment< DPoint >
 Segments with real coordinates.
 
using DualGraph = DualGraphBase< true >
 
using DynamicDualGraph = DualGraphBase< false >
 
using edge = EdgeElement *
 The type of edges.
 
using edgeType = long long
 
using face = FaceElement *
 
using hyperedge = HyperedgeElement *
 The type of hyperedges.
 
using hypernode = HypernodeElement *
 The type of hypernodes.
 
using IPoint = GenericPoint< int >
 Representing a two-dimensional point with integer coordinates.
 
using IPolyline = GenericPolyline< IPoint >
 Polylines with IPoint points.
 
template<class E >
using ListConstIterator = ListIteratorBase< E, true, false >
 
template<class E >
using ListConstReverseIterator = ListIteratorBase< E, true, true >
 
template<class E >
using ListIterator = ListIteratorBase< E, false, false >
 
template<class E >
using ListReverseIterator = ListIteratorBase< E, false, true >
 
using node = NodeElement *
 The type of nodes.
 
using nodeType = long long
 
using pa_label = PALabel *
 
using PredecessorMap = std::unordered_map< node, std::unique_ptr< NodeArray< edge > > >
 
template<typename E , typename P , class C = std::less<P>, template< typename, class > class Impl = PairingHeap>
using PrioritizedQueue = pq_internal::PrioritizedQueue< E, P, C, Impl >
 Prioritized queue interface wrapper for heaps.
 
template<class E >
using SListConstIterator = SListIteratorBase< E, true >
 
template<class E >
using SListIterator = SListIteratorBase< E, false >
 
template<class KEY , class INFO , class CMP >
using SortedSequenceConstIterator = SortedSequenceIteratorBase< KEY, INFO, CMP, true, false >
 
template<class KEY , class INFO , class CMP >
using SortedSequenceConstReverseIterator = SortedSequenceIteratorBase< KEY, INFO, CMP, true, true >
 
template<class KEY , class INFO , class CMP >
using SortedSequenceIterator = SortedSequenceIteratorBase< KEY, INFO, CMP, false, false >
 
template<class KEY , class INFO , class CMP >
using SortedSequenceReverseIterator = SortedSequenceIteratorBase< KEY, INFO, CMP, false, true >
 

Enumerations

enum class  AlgorithmFailureCode {
  AlgorithmFailureCode::Unknown , AlgorithmFailureCode::IllegalParameter , AlgorithmFailureCode::NoFlow , AlgorithmFailureCode::Sort , AlgorithmFailureCode::Label , AlgorithmFailureCode::ExternalFace , AlgorithmFailureCode::ForbiddenCrossing , AlgorithmFailureCode::TimelimitExceeded , AlgorithmFailureCode::NoSolutionFound , AlgorithmFailureCode::IndexOutOfBounds , AlgorithmFailureCode::PrimalBound , AlgorithmFailureCode::DualBound , AlgorithmFailureCode::NotInteger , AlgorithmFailureCode::Buffer ,
  AlgorithmFailureCode::AddVar , AlgorithmFailureCode::Sorter , AlgorithmFailureCode::Phase , AlgorithmFailureCode::Active , AlgorithmFailureCode::NoSolution , AlgorithmFailureCode::MakeFeasible , AlgorithmFailureCode::Guarantee , AlgorithmFailureCode::BranchingVariable , AlgorithmFailureCode::Strategy , AlgorithmFailureCode::CloseHalf , AlgorithmFailureCode::StandardPool , AlgorithmFailureCode::Variable , AlgorithmFailureCode::LpIf , AlgorithmFailureCode::Lp ,
  AlgorithmFailureCode::Bstack , AlgorithmFailureCode::LpStatus , AlgorithmFailureCode::BranchingRule , AlgorithmFailureCode::FixSet , AlgorithmFailureCode::LpSub , AlgorithmFailureCode::String , AlgorithmFailureCode::Constraint , AlgorithmFailureCode::Pool , AlgorithmFailureCode::Global , AlgorithmFailureCode::FsVarStat , AlgorithmFailureCode::LpVarStat , AlgorithmFailureCode::OsiIf , AlgorithmFailureCode::ConBranchRule , AlgorithmFailureCode::Timer ,
  AlgorithmFailureCode::Array , AlgorithmFailureCode::Csense , AlgorithmFailureCode::BPrioQueue , AlgorithmFailureCode::FixCand , AlgorithmFailureCode::BHeap , AlgorithmFailureCode::Poolslot , AlgorithmFailureCode::SparVec , AlgorithmFailureCode::Convar , AlgorithmFailureCode::Ostream , AlgorithmFailureCode::Hash , AlgorithmFailureCode::Paramaster , AlgorithmFailureCode::InfeasCon , AlgorithmFailureCode::STOP
}
 Code for an internal failure condition. More...
 
enum class  BoyerMyrvoldEdgeType { Undefined = 0 , Selfloop = 1 , Back = 2 , Dfs = 3 , DfsParallel = 4 , BackDeleted = 5 }
 Type of edge. More...
 
enum class  CompressionOptions { PathCompression = 0 , PathSplitting = 1 , PathHalving = 2 , Type1Reversal = 4 , Collapsing = 5 , Disabled = 6 }
 Defines options for compression search paths. More...
 
enum class  ConstraintEdgeType { BasicArc , VertexSizeArc , VisibilityArc , FixToZeroArc , ReducibleArc , MedianArc }
 Types of edges in the constraint graph. More...
 
enum class  CPUFeature { CPUFeature::MMX , CPUFeature::SSE , CPUFeature::SSE2 , CPUFeature::SSE3 , CPUFeature::SSSE3 , CPUFeature::SSE4_1 , CPUFeature::SSE4_2 , CPUFeature::VMX , CPUFeature::SMX , CPUFeature::EST , CPUFeature::MONITOR }
 Special features supported by a x86/x64 CPU. More...
 
enum class  CPUFeatureMask : unsigned int { CPUFeatureMask::MMX = 1 << static_cast<int>(CPUFeature::MMX) , CPUFeatureMask::SSE = 1 << static_cast<int>(CPUFeature::SSE) , CPUFeatureMask::SSE2 = 1 << static_cast<int>(CPUFeature::SSE2) , CPUFeatureMask::SSE3 = 1 << static_cast<int>(CPUFeature::SSE3) , CPUFeatureMask::SSSE3 = 1 << static_cast<int>(CPUFeature::SSSE3) , CPUFeatureMask::SSE4_1 = 1 << static_cast<int>(CPUFeature::SSE4_1) , CPUFeatureMask::SSE4_2 = 1 << static_cast<int>(CPUFeature::SSE4_2) , CPUFeatureMask::VMX = 1 << static_cast<int>(CPUFeature::VMX) , CPUFeatureMask::SMX = 1 << static_cast<int>(CPUFeature::SMX) , CPUFeatureMask::EST = 1 << static_cast<int>(CPUFeature::EST) , CPUFeatureMask::MONITOR = 1 << static_cast<int>(CPUFeature::MONITOR) }
 Bit mask for CPU features. More...
 
enum class  Direction { before , after }
 
enum class  EdgeArrow { EdgeArrow::None , EdgeArrow::Last , EdgeArrow::First , EdgeArrow::Both , EdgeArrow::Undefined }
 Types for edge arrows. More...
 
enum class  EdgeStandardType { clique = 0x0001 , star = 0x0002 , tree = 0x0003 }
 Enumeration class of possible edge standard representations. More...
 
enum class  FillPattern {
  FillPattern::None , FillPattern::Solid , FillPattern::Dense1 , FillPattern::Dense2 , FillPattern::Dense3 , FillPattern::Dense4 , FillPattern::Dense5 , FillPattern::Dense6 , FillPattern::Dense7 , FillPattern::Horizontal , FillPattern::Vertical , FillPattern::Cross , FillPattern::BackwardDiagonal , FillPattern::ForwardDiagonal ,
  FillPattern::DiagonalCross
}
 Fill patterns. More...
 
enum class  InterleavingOptions { Disabled = 0 , Rem = 1 , Tarjan = 2 , Type0Reversal = 3 , SplittingCompression }
 Defines options for interleaving find/link operations in quickUnion. More...
 
enum class  IntersectionType { None , SinglePoint , Overlapping }
 Determines the type of intersection of two geometric objects. More...
 
enum class  LabelType { End1 = 0 , Mult1 , Name , End2 , Mult2 , NumLabels }
 
enum class  LibraryNotSupportedCode { LibraryNotSupportedCode::Unknown , LibraryNotSupportedCode::Coin , LibraryNotSupportedCode::Abacus , LibraryNotSupportedCode::Cgal , LibraryNotSupportedCode::FunctionNotImplemented , LibraryNotSupportedCode::MissingCallbackImplementation , LibraryNotSupportedCode::STOP }
 Code for the library which was intended to get used, but its use is not supported. More...
 
enum class  LinkOptions { Naive = 0 , Index = 1 , Size = 2 , Rank = 3 }
 Defines options for linking two sets. More...
 
enum class  MeasureEnum { zero , log , sum , squared }
 
enum class  OrderEnum { asc , desc , rnd }
 
enum class  Orientation { topToBottom , bottomToTop , leftToRight , rightToLeft }
 Determines the orientation in hierarchical layouts. More...
 
enum class  OrthoBendType : char { convexBend = '0' , reflexBend = '1' }
 
enum class  OrthoDir { North = 0 , East = 1 , South = 2 , West = 3 , Undefined = 4 }
 
enum class  RemoveReinsertType { RemoveReinsertType::None , RemoveReinsertType::Inserted , RemoveReinsertType::MostCrossed , RemoveReinsertType::All , RemoveReinsertType::Incremental , RemoveReinsertType::IncInserted }
 The postprocessing method for edge insertion algorithms. More...
 
enum class  Shape { Shape::Rect , Shape::RoundedRect , Shape::Ellipse , Shape::Triangle , Shape::Pentagon , Shape::Hexagon , Shape::Octagon , Shape::Rhomb , Shape::Trapeze , Shape::Parallelogram , Shape::InvTriangle , Shape::InvTrapeze , Shape::InvParallelogram , Shape::Image }
 Types for node shapes. More...
 
enum class  SpringForceModel { SpringForceModel::FruchtermanReingold , SpringForceModel::FruchtermanReingoldModAttr , SpringForceModel::FruchtermanReingoldModRep , SpringForceModel::Eades , SpringForceModel::Hachul , SpringForceModel::Gronemann }
 The force model used for computing forces on nodes. More...
 
enum class  StrokeLineCap : unsigned char { StrokeLineCap::Butt , StrokeLineCap::Round , StrokeLineCap::Square }
 Line cap types of strokes. More...
 
enum class  StrokeLineJoin : unsigned char { StrokeLineJoin::Miter , StrokeLineJoin::Round , StrokeLineJoin::Bevel }
 Line join types of strokes. More...
 
enum class  StrokeType : unsigned char { StrokeType::None , StrokeType::Solid , StrokeType::Dash , StrokeType::Dot , StrokeType::Dashdot , StrokeType::Dashdotdot }
 Line types of strokes. More...
 
enum class  UMLEdgeTypeConstants {
  PrimAssociation = 0x1 , PrimGeneralization = 0x2 , PrimDependency = 0x4 , SecExpansion = 0x1 , SecDissect = 0x2 , SecFaceSplitter = 0x3 , SecCluster = 0x4 , SecClique , Merger = 0x1 , Vertical = 0x2 , Align = 0x3 , AssClass = 0x8 , Brother = 0x1 , HalfBrother = 0x2 ,
  Cousin = 0x3 , FifthToMerger = 0x1 , FifthFromMerger = 0x2
}
 
enum class  UMLEdgeTypeOffsets { Primary = 0 , Secondary = 4 , Tertiary = 8 , Fourth = 12 , Fifth = 16 , User = 24 }
 
enum class  UMLEdgeTypePatterns : edgeType { Primary = 0x0000000f , Secondary = 0x000000f0 , Tertiary = 0x00000f00 , Fourth = 0x0000f000 , User = 0xff000000 , All = 0xffffffff }
 
enum class  UMLNodeTypeConstants { PrimOriginal = 0x1 , PrimCopy = 0x2 , SecStructural = 0x1 , SecNonStructural = 0x2 , TerCrossing = 0x1 , TerExpander = 0x2 , TerHDExpander = 0x6 , TerLDExpander = 0xA , FourFlow = 0x1 , FourLabel = 0x2 , FourType = 0x3 , FourCorner = 0x4 }
 
enum class  UMLNodeTypeOffsets { Primary = 0 , Secondary = 4 , Tertiary = 8 , Fourth = 12 , Fifth = 16 , User = 24 }
 
enum class  UMLNodeTypePatterns : nodeType { Primary = 0x0000000f , Secondary = 0x000000f0 , Tertiary = 0x00000f00 , Fourth = 0x0000f000 , User = 0xff000000 , All = 0xffffffff }
 
enum class  UMLOpt { OpAlign = 0x0001 , OpScale = 0x0002 , OpProg = 0x0004 }
 
enum class  UsedLabels { End1 = (1 << static_cast<int>(LabelType::End1)) , Mult1 = (1 << static_cast<int>(LabelType::Mult1)) , Name = (1 << static_cast<int>(LabelType::Name)) , End2 = (1 << static_cast<int>(LabelType::End2)) , Mult2 = (1 << static_cast<int>(LabelType::Mult2)) , lAll = (1 << static_cast<int>(LabelType::NumLabels)) - 1 }
 
enum class  whaType { W , B , H , A }
 The definitions for W, B, H and A describe the type of a node during the computation of the maximal pertinent sequence. More...
 

Functions

template<typename TCost >
void bfs_SPAP (const Graph &G, NodeArray< NodeArray< TCost > > &distance, TCost edgeCosts)
 Computes all-pairs shortest paths in G using breadth-first serach (BFS).
 
template<typename TCost >
void bfs_SPSS (node s, const Graph &G, NodeArray< TCost > &distanceArray, TCost edgeCosts)
 Computes single-source shortest paths from s in G using breadth-first search (BFS).
 
template<class E >
void bucketSort (Array< E > &a, int min, int max, BucketFunc< E > &f)
 Bucket-sort array a using bucket assignment f; the values of f must be in the interval [min,max].
 
template<typename CONTAINER , typename TYPE >
CONTAINER::const_iterator chooseIteratorFrom (const CONTAINER &container, std::function< bool(const TYPE &)> includeElement=[](const TYPE &) { return true;}, bool isFastTest=true)
 Returns an iterator to a random element in the container.
 
template<typename CONTAINER , typename TYPE >
CONTAINER::iterator chooseIteratorFrom (CONTAINER &container, std::function< bool(const TYPE &)> includeElement=[](const TYPE &) { return true;}, bool isFastTest=true)
 Returns an iterator to a random element in the container.
 
int computeSTNumbering (const Graph &G, NodeArray< int > &numbering, node s=nullptr, node t=nullptr, bool randomized=false)
 Computes an st-Numbering of G.
 
void degreeDistribution (const Graph &G, Array< int > &degdist)
 Fills degdist with the degree distribution of graph G.
 
bool dfsGenTree (UMLGraph &UG, List< edge > &fakedGens, bool fakeTree)
 
bool dfsGenTreeRec (UMLGraph &UG, EdgeArray< bool > &used, NodeArray< int > &hierNumber, int hierNum, node v, List< edge > &fakedGens, bool fakeTree)
 
template<typename TCost >
void dijkstra_SPAP (const Graph &G, NodeArray< NodeArray< TCost > > &shortestPathMatrix, const EdgeArray< TCost > &edgeCosts)
 Computes all-pairs shortest paths in graph G using Dijkstra's algorithm.
 
template<typename TCost >
double dijkstra_SPAP (const GraphAttributes &GA, NodeArray< NodeArray< TCost > > &shortestPathMatrix)
 Computes all-pairs shortest paths in GA using Dijkstra's algorithm.
 
template<typename TCost >
void dijkstra_SPSS (node s, const Graph &G, NodeArray< TCost > &shortestPathMatrix, const EdgeArray< TCost > &edgeCosts)
 Computes single-source shortest paths from node s in G using Disjkstra's algorithm.
 
bool equalIgnoreCase (const string &str1, const string &str2)
 Compares the two strings str1 and str2, ignoring the case of characters.
 
edge firstOutGen (UMLGraph &UG, node v, EdgeArray< bool > &)
 
template<typename TCost >
void floydWarshall_SPAP (NodeArray< NodeArray< TCost > > &shortestPathMatrix, const Graph &G)
 Computes all-pairs shortest paths in graph G using Floyd-Warshall's algorithm.
 
template<class ToClass >
ToClass fromString (string key)
 
void initFillPatternHashing ()
 
FillPattern intToFillPattern (int i)
 Converts integer i to fill pattern.
 
StrokeType intToStrokeType (int i)
 Converts integer i to stroke type.
 
bool isBipartite (const Graph &G)
 Checks whether a graph is bipartite.
 
bool isBipartite (const Graph &G, NodeArray< bool > &color)
 Checks whether a graph is bipartite.
 
template<typename T >
bool isinf (T value)
 
bool isPlanar (const Graph &G)
 Returns true, if G is planar, false otherwise.
 
bool isRegular (const Graph &G)
 Checks if a graph is regular.
 
bool isRegular (const Graph &G, int d)
 Checks if a graph is d-regular.
 
bool isSTNumbering (const Graph &G, NodeArray< int > &st_no, int max)
 Tests, whether a numbering of the nodes is an st-numbering.
 
bool isSTPlanar (const Graph &graph, const node s, const node t)
 Returns whether G is s-t-planar (i.e.
 
bool maximumDensitySubgraph (Graph &G, NodeSet< true > &subgraphNodes, std::function< node(node)> resultNodeMap=[](node v) { return v;}, int64_t timelimit=-1)
 Calculates the maximum density subgraph of G.
 
void nodeDistribution (const Graph &G, Array< int > &degdist, std::function< int(node)> func)
 Fills dist with the distribution given by a function func in graph G.
 
template<class E1 , class E2 >
bool operator!= (const Tuple2< E1, E2 > &t1, const Tuple2< E1, E2 > &t2)
 Inequality operator for 2-tuples.
 
bool operator!= (int lhs, BoyerMyrvoldPlanar::EmbeddingGrade rhs)
 
edgeType operator& (edgeType lhs, UMLEdgeTypeConstants rhs)
 
edgeType operator& (edgeType lhs, UMLEdgeTypePatterns rhs)
 
int operator& (int i, TopologyModule::Options b)
 
int operator& (int lhs, UMLOpt rhs)
 
int operator& (int lhs, WInfo::MinorType rhs)
 
edgeType operator& (UMLEdgeTypePatterns lhs, edgeType rhs)
 
int operator+= (int &lhs, UMLOpt rhs)
 
edgeType operator<< (edgeType lhs, UMLEdgeTypeOffsets rhs)
 
edgeType operator<< (edgeType lhs, UMLEdgeTypePatterns rhs)
 
std::ostream & operator<< (std::ostream &os, cluster c)
 
std::ostream & operator<< (std::ostream &os, Configuration::LPSolver lps)
 Output operator for Configuration::LPSolver (uses Configuration::toString(Configuration::LPSolver)).
 
std::ostream & operator<< (std::ostream &os, Configuration::MemoryManager mm)
 Output operator for Configuration::MemoryManager (uses Configuration::toString(Configuration::MemoryManager)).
 
std::ostream & operator<< (std::ostream &os, Configuration::System sys)
 Output operator for Configuration::System (uses Configuration::toString(Configuration::System)).
 
std::ostream & operator<< (std::ostream &os, const BalloonLayout::RootSelection &rs)
 
template<class E , class INDEX >
std::ostream & operator<< (std::ostream &os, const BoundedQueue< E, INDEX > &Q)
 Prints BoundedQueue Q to output stream os.
 
std::ostream & operator<< (std::ostream &os, const DPolygon &dop)
 Output operator for polygons.
 
std::ostream & operator<< (std::ostream &os, const EdgeArrow &ea)
 Output operator.
 
std::ostream & operator<< (std::ostream &os, const FillPattern &fp)
 Output operator.
 
template<class PointType >
std::ostream & operator<< (std::ostream &os, const GenericLine< PointType > &line)
 Output operator for lines.
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const GenericPoint< T > &p)
 Output operator for generic points.
 
template<class PointType >
std::ostream & operator<< (std::ostream &os, const GenericSegment< PointType > &dl)
 Output operator for line segments.
 
std::ostream & operator<< (std::ostream &os, const Graph::EdgeType &et)
 
std::ostream & operator<< (std::ostream &os, const KuratowskiWrapper::SubdivisionType &obj)
 
template<class E >
std::ostream & operator<< (std::ostream &os, const List< E > &L)
 Prints list L to output stream os.
 
template<class E >
std::ostream & operator<< (std::ostream &os, const ListPure< E > &L)
 Prints list L to output stream os.
 
std::ostream & operator<< (std::ostream &os, const Module::ReturnType &r)
 
std::ostream & operator<< (std::ostream &os, const NodePair &np)
 
template<class E , class INDEX >
std::ostream & operator<< (std::ostream &os, const ogdf::Array< E, INDEX > &a)
 Prints array a to output stream os.
 
template<class E , class INDEX >
std::ostream & operator<< (std::ostream &os, const ogdf::ArrayBuffer< E, INDEX > &a)
 Prints ArrayBuffer a to output stream os.
 
template<class E >
std::ostream & operator<< (std::ostream &os, const Queue< E > &Q)
 
template<class E >
std::ostream & operator<< (std::ostream &os, const QueuePure< E > &Q)
 
std::ostream & operator<< (std::ostream &os, const RCCrossings &cr)
 
std::ostream & operator<< (std::ostream &os, const Shape &shape)
 Output operator.
 
template<class E >
std::ostream & operator<< (std::ostream &os, const SList< E > &L)
 Output operator.
 
template<class E >
std::ostream & operator<< (std::ostream &os, const SListPure< E > &L)
 Output operator.
 
std::ostream & operator<< (std::ostream &os, const StrokeType &st)
 Output operator.
 
template<class T >
std::ostream & operator<< (std::ostream &os, const SubsetEnumerator< T > &subset)
 
template<class E1 , class E2 >
std::ostream & operator<< (std::ostream &os, const Tuple2< E1, E2 > &t2)
 Output operator for 2-tuples.
 
std::ostream & operator<< (std::ostream &os, const UmlModelGraph &modelGraph)
 Output operator for UmlModelGraph.
 
std::ostream & operator<< (std::ostream &os, Logger::Level level)
 
std::ostream & operator<< (std::ostream &os, ogdf::adjEntry adj)
 Output operator for adjacency entries; prints node and twin indices (or "nil").
 
std::ostream & operator<< (std::ostream &os, ogdf::edge e)
 Output operator for edges; prints source and target indices (or "nil").
 
std::ostream & operator<< (std::ostream &os, ogdf::face f)
 Output operator for faces; prints face index (or "nil").
 
std::ostream & operator<< (std::ostream &os, ogdf::node v)
 Output operator for nodes; prints node index (or "nil").
 
edgeType operator<< (UMLEdgeTypeConstants lhs, UMLEdgeTypeOffsets rhs)
 
int operator<< (UMLNodeTypeConstants lhs, UMLNodeTypeOffsets rhs)
 
bool operator<= (int lhs, BoyerMyrvoldPlanar::EmbeddingGrade rhs)
 
template<class E1 , class E2 >
bool operator== (const Tuple2< E1, E2 > &t1, const Tuple2< E1, E2 > &t2)
 Equality operator for 2-tuples.
 
bool operator== (edgeType lhs, UMLEdgeTypeConstants rhs)
 
bool operator== (int lhs, BoyerMyrvoldPlanar::EmbeddingGrade rhs)
 
bool operator> (int lhs, BoyerMyrvoldPlanar::EmbeddingGrade rhs)
 
edgeType operator>> (edgeType lhs, UMLEdgeTypeOffsets rhs)
 
std::istream & operator>> (std::istream &is, TokenIgnorer token)
 
int operator| (int i, TopologyModule::Options b)
 
int operator| (int lhs, UMLOpt rhs)
 
int operator| (TopologyModule::Options a, TopologyModule::Options b)
 
int operator|= (int &lhs, WInfo::MinorType rhs)
 
unsigned int operator|= (unsigned int &i, CPUFeatureMask fm)
 
int operator~ (UMLOpt rhs)
 
int orientation (const DPoint &p, const DPoint &q, const DPoint &r)
 
int orientation (const DSegment &s, const DPoint &p)
 
bool planarEmbed (Graph &G)
 Returns true, if G is planar, false otherwise. If true is returned, G will be planarly embedded.
 
bool planarEmbedPlanarGraph (Graph &G)
 Constructs a planar embedding of G. It assumes that G is planar!
 
bool planarSTEmbed (Graph &graph, node s, node t)
 s-t-planarly embeds a graph.
 
bool prefixIgnoreCase (const string &prefix, const string &str)
 Tests if prefix is a prefix of str, ignoring the case of characters.
 
template<class E , class INDEX >
void print (std::ostream &os, const Array< E, INDEX > &a, char delim=' ')
 Prints array a to output stream os using delimiter delim.
 
template<class E , class INDEX >
void print (std::ostream &os, const ArrayBuffer< E, INDEX > &a, char delim=' ')
 Prints ArrayBuffer a to output stream os using delimiter delim.
 
template<class E >
void print (std::ostream &os, const List< E > &L, char delim=' ')
 Prints list L to output stream os using delimiter delim.
 
template<class E >
void print (std::ostream &os, const ListPure< E > &L, char delim=' ')
 Prints list L to output stream os using delimiter delim.
 
template<class E >
void print (std::ostream &os, const Queue< E > &Q, char delim=' ')
 
template<class E >
void print (std::ostream &os, const QueuePure< E > &Q, char delim=' ')
 
template<class E >
void print (std::ostream &os, const SList< E > &L, char delim=' ')
 Prints list L to output stream os using delimiter delim.
 
template<class E >
void print (std::ostream &os, const SListPure< E > &L, char delim=' ')
 Prints list L to output stream os using delimiter delim.
 
template<class LIST >
void quicksortTemplate (LIST &L)
 
template<class LIST , class COMPARER >
void quicksortTemplate (LIST &L, const COMPARER &comp)
 
double randomDouble (double low, double high)
 Returns a random double value from the interval [low, high).
 
double randomDoubleExponential (double beta)
 Returns a random double value from the exponential distribution.
 
double randomDoubleNormal (double m, double sd)
 Returns a random double value from the normal distribution with mean m and standard deviation sd.
 
int randomNumber (int low, int high)
 Returns random integer between low and high (including).
 
long unsigned int randomSeed ()
 Returns a random value suitable as initial seed for a random number engine.
 
void removeTrailingWhitespace (string &str)
 Removes trailing space, horizontal and vertical tab, feed, newline, and carriage return from str.
 
template<typename T >
Reverse< T > reverse (T &container)
 Provides iterators for container to make it easily iterable in reverse.
 
template<typename CONTAINER >
void safeForEach (CONTAINER &container, std::function< void(typename CONTAINER::value_type)> func)
 Calls (possibly destructive) func for each element of container.
 
template<typename CONTAINER >
bool safeTestForEach (CONTAINER &container, std::function< bool(typename CONTAINER::value_type)> func)
 Like ogdf::safeForEach() but aborts if func returns false.
 
template<typename CONTAINER , typename T >
int searchPos (const CONTAINER &C, const T &x)
 Searches for the position of x in container C; returns -1 if not found.
 
void setSeed (int val)
 Sets the seed for functions like randomSeed(), randomNumber(), randomDouble().
 
template<typename E >
statictoEnum (const std::string &str, std::string toString(const E &), const E first, const E last, const E def)
 
template<class FromClass >
string toString (FromClass key)
 
double usedTime (double &T)
 Returns used CPU time from T to current time and assigns current time to T.
 
Methods for induced subgraphs
template<class LISTITERATOR >
void inducedSubGraph (const Graph &G, LISTITERATOR start, Graph &subGraph)
 Computes the subgraph induced by a list of nodes.
 
template<class LISTITERATOR >
void inducedSubGraph (const Graph &G, LISTITERATOR start, Graph &subGraph, NodeArray< node > &nodeTableOrig2New)
 Computes the subgraph induced by a list of nodes (plus a mapping from original nodes to new copies).
 
template<class LISTITERATOR >
void inducedSubGraph (const Graph &G, LISTITERATOR start, Graph &subGraph, NodeArray< node > &nodeTableOrig2New, EdgeArray< edge > &edgeTableOrig2New)
 Computes the subgraph induced by a list of nodes (plus mappings from original nodes and edges to new copies).
 
template<class LISTITERATOR >
void inducedSubGraph (const Graph &G, LISTITERATOR start, GraphCopySimple &subGraph)
 Computes the subgraph induced by a list of nodes.
 
template<class NODELISTITERATOR , class EDGELIST >
void inducedSubgraph (Graph &G, NODELISTITERATOR &it, EDGELIST &E)
 Computes the edges in a node-induced subgraph.
 
Methods for clustered graphs
bool isCConnected (const ClusterGraph &C)
 Returns true iff cluster graph C is c-connected.
 
void makeCConnected (ClusterGraph &C, Graph &G, List< edge > &addedEdges, bool simple=true)
 Makes a cluster graph c-connected by adding edges.
 
Methods for minimum spanning tree computation
template<typename T >
computeMinST (const Graph &G, const EdgeArray< T > &weight, EdgeArray< bool > &isInTree)
 Computes a minimum spanning tree using Prim's algorithm.
 
template<typename T >
computeMinST (const Graph &G, const EdgeArray< T > &weight, NodeArray< edge > &pred, EdgeArray< bool > &isInTree)
 Computes a minimum spanning tree (MST) using Prim's algorithm.
 
template<typename T >
void computeMinST (const Graph &G, const EdgeArray< T > &weight, NodeArray< edge > &pred)
 Computes a minimum spanning tree (MST) using Prim's algorithm.
 
template<typename T >
void computeMinST (node s, const Graph &G, const EdgeArray< T > &weight, NodeArray< edge > &pred)
 Computes a minimum spanning tree (MST) using Prim's algorithm.
 
template<typename T >
computeMinST (node s, const Graph &G, const EdgeArray< T > &weight, NodeArray< edge > &pred, EdgeArray< bool > &isInTree)
 Computes a minimum spanning tree (MST) using Prim's algorithm.
 
template<typename T >
makeMinimumSpanningTree (Graph &G, const EdgeArray< T > &weight)
 Reduce a graph to its minimum spanning tree (MST) using Kruskal's algorithm.
 
Deterministic graph generators
void customGraph (Graph &G, int n, List< std::pair< int, int > > edges, Array< node > &nodes)
 Creates a custom graph using a list of pairs to determine the graph's edges.
 
void customGraph (Graph &G, int n, List< std::pair< int, int > > edges)
 Creates a custom graph using a list of pairs to determine the graph's edges.
 
void circulantGraph (Graph &G, int n, Array< int > jumps)
 Creates a circulant graph.
 
void regularLatticeGraph (Graph &G, int n, int k)
 Creates a regular lattice graph.
 
void regularTree (Graph &G, int n, int children)
 Creates a regular tree.
 
void completeGraph (Graph &G, int n)
 Creates the complete graph K_n.
 
void completeKPartiteGraph (Graph &G, const Array< int > &signature)
 Creates the complete k-partite graph K_{k1,k2,...,kn}.
 
void completeBipartiteGraph (Graph &G, int n, int m)
 Creates the complete bipartite graph K_{n,m}.
 
void wheelGraph (Graph &G, int n)
 Creates the graph W_n: A wheel graph.
 
void cubeGraph (Graph &G, int n)
 Creates the graph Q^n: A n-cube graph.
 
void globeGraph (Graph &G, int meridians, int latitudes)
 Creates a globe graph with a given number of meridians and latitudes.
 
void suspension (Graph &G, int s)
 Modifies G by adding its s-th suspension.
 
void gridGraph (Graph &G, int n, int m, bool loopN, bool loopM)
 Creates a (toroidal) grid graph on n x m nodes.
 
void petersenGraph (Graph &G, int n=5, int m=2)
 Creates a generalized Petersen graph.
 
void emptyGraph (Graph &G, int nodes)
 Creates a graph with nodes nodes and no edges.
 
Randomized graph generators
template<typename D >
void randomGeographicalThresholdGraph (Graph &G, Array< int > &weights, D &dist, double threshold, std::function< double(double)> h, int dimension=2)
 Creates a random geometric graph where edges are created based on their distance and the weight of nodes.
 
template<typename D >
void randomGeographicalThresholdGraph (Graph &G, Array< int > &weights, D &dist, double threshold, int alpha=2, int dimension=2)
 Creates a random geometric graph where edges are created based on their distance and the weight of nodes.
 
void randomHierarchy (Graph &G, int n, int m, bool planar, bool singleSource, bool longEdges)
 Creates a random hierarchical graph.
 
void randomRegularGraph (Graph &G, int n, int d)
 Creates a random d-regular graph.
 
void randomGraph (Graph &G, int n, int m)
 Creates a random graph.
 
bool randomSimpleGraph (Graph &G, int n, int m)
 Creates a random simple graph.
 
bool randomSimpleGraphByProbability (Graph &G, int n, double pEdge)
 Creates a random simple graph.
 
bool randomSimpleConnectedGraph (Graph &G, int n, int m)
 Creates a random simple and connected graph.
 
void randomBiconnectedGraph (Graph &G, int n, int m)
 Creates a random biconnected graph.
 
void randomPlanarConnectedGraph (Graph &G, int n, int m)
 Creates a random connected (simple) planar (embedded) graph.
 
void randomPlanarBiconnectedGraph (Graph &G, int n, int m, bool multiEdges=false)
 Creates a random planar biconnected (embedded) graph.
 
void randomPlanarBiconnectedDigraph (Graph &G, int n, int m, double p=0, bool multiEdges=false)
 Creates a random planar biconnected acyclic (embedded) digraph.
 
void randomUpwardPlanarBiconnectedDigraph (Graph &G, int n, int m)
 Creates a random upward planar biconnected (embedded) digraph.
 
void randomPlanarCNBGraph (Graph &G, int n, int m, int b)
 Creates a random planar graph, that is connected, but not biconnected.
 
void randomTriconnectedGraph (Graph &G, int n, double p1, double p2)
 Creates a random triconnected (and simple) graph.
 
void randomPlanarTriconnectedGraph (Graph &G, int n, int m)
 Creates a random planar triconnected (and simple) graph.
 
void randomPlanarTriconnectedGraph (Graph &G, int n, double p1, double p2)
 Creates a random planar triconnected (and simple) graph.
 
void randomTree (Graph &G, int n)
 Creates a random tree (simpler version.
 
void randomTree (Graph &G, int n, int maxDeg, int maxWidth)
 Creates a random tree.
 
void randomClusterPlanarGraph (ClusterGraph &C, Graph &G, int cNum)
 Assigns random clusters to a given graph G.
 
void randomClusterGraph (ClusterGraph &C, Graph &G, int cNum)
 Assigns random clusters to a given graph G.
 
void randomClusterGraph (ClusterGraph &C, const Graph &G, const node root, int moreInLeaves)
 Assigns a specified cluster structure to a given graph G, and assigns vertices to clusters.
 
void randomDigraph (Graph &G, int n, double p)
 Creates a random (simple) directed graph.
 
void randomSeriesParallelDAG (Graph &G, int edges, double p=0.5, double flt=0.0)
 Creates a random (simple, biconnected) series parallel DAG.
 
void randomGeometricCubeGraph (Graph &G, int nodes, double threshold, int dimension=2)
 Creates a random geometric graph by laying out nodes in a unit n-cube. Nodes with a distance < threshold are connected, 0 <= threshold <= sqrt(dimension). The graph is simple.
 
void randomWaxmanGraph (Graph &G, int nodes, double alpha, double beta, double width=1.0, double height=1.0)
 Generates a Waxman graph where nodes are uniformly randomly placed in a grid, then edges are inserted based on nodes' euclidean distances.
 
void preferentialAttachmentGraph (Graph &G, int nodes, int minDegree)
 Creates a graph where new nodes are more likely to connect to nodes with high degree.
 
void randomWattsStrogatzGraph (Graph &G, int n, int k, double probability)
 Creates a "small world" graph as described by Watts & Strogatz.
 
void randomChungLuGraph (Graph &G, Array< int > expectedDegreeDistribution)
 Creates a graph where edges are inserted based on given weights.
 
void randomEdgesGraph (Graph &G, std::function< double(node, node)> probability)
 Inserts edges into the given graph based on probabilities given by a callback function.
 
Methods for loops
void removeSelfLoops (Graph &graph, node v)
 Removes all self-loops for a given node v in graph.
 
bool isLoopFree (const Graph &G)
 Returns true iff G contains no self-loop.
 
template<class NODELIST >
void makeLoopFree (Graph &G, NODELIST &L)
 Removes all self-loops from G and returns all nodes with self-loops in L.
 
bool hasNonSelfLoopEdges (const Graph &G)
 Returns whether G has edges which are not self-loops.
 
void makeLoopFree (Graph &G)
 Removes all self-loops from G.
 
Methods for parallel edges
void parallelFreeSort (const Graph &G, SListPure< edge > &edges)
 Sorts the edges of G such that parallel edges come after each other in the list.
 
bool isParallelFree (const Graph &G)
 Returns true iff G contains no parallel edges.
 
template<bool ONLY_ONCE = false>
int numParallelEdges (const Graph &G)
 Returns the number of parallel edges in G.
 
template<class EDGELIST >
void makeParallelFree (Graph &G, EDGELIST &parallelEdges)
 Removes all but one of each bundle of parallel edges.
 
void makeParallelFree (Graph &G)
 Removes all but one edge of each bundle of parallel edges in G.
 
void parallelFreeSortUndirected (const Graph &G, SListPure< edge > &edges, EdgeArray< int > &minIndex, EdgeArray< int > &maxIndex)
 Sorts the edges of G such that undirected parallel edges come after each other in the list.
 
bool isParallelFreeUndirected (const Graph &G)
 Returns true iff G contains no undirected parallel edges.
 
template<bool ONLY_ONCE = false>
int numParallelEdgesUndirected (const Graph &G)
 Returns the number of undirected parallel edges in G.
 
template<class EDGELIST >
void getParallelFreeUndirected (const Graph &G, EdgeArray< EDGELIST > &parallelEdges)
 Computes the bundles of undirected parallel edges in G.
 
template<class EDGELIST = SListPure<edge>>
void makeParallelFreeUndirected (Graph &G, EDGELIST *parallelEdges=nullptr, EdgeArray< int > *cardPositive=nullptr, EdgeArray< int > *cardNegative=nullptr)
 Removes all but one edge of each bundle of undirected parallel edges.
 
template<class EDGELIST >
void makeParallelFreeUndirected (Graph &G, EDGELIST &parallelEdges)
 
template<class EDGELIST >
void makeParallelFreeUndirected (Graph &G, EDGELIST &parallelEdges, EdgeArray< int > &cardPositive, EdgeArray< int > &cardNegative)
 
Methods for simple graphs
bool isSimple (const Graph &G)
 Returns true iff G contains neither self-loops nor parallel edges.
 
void makeSimple (Graph &G)
 Removes all self-loops and all but one edge of each bundle of parallel edges.
 
bool isSimpleUndirected (const Graph &G)
 Returns true iff G contains neither self-loops nor undirected parallel edges.
 
void makeSimpleUndirected (Graph &G)
 Removes all self-loops and all but one edge of each bundle of undirected parallel edges.
 
Methods for connectivity
bool isConnected (const Graph &G)
 Returns true iff G is connected.
 
void makeConnected (Graph &G, List< edge > &added)
 Makes G connected by adding a minimum number of edges.
 
void makeConnected (Graph &G)
 makes G connected by adding a minimum number of edges.
 
int connectedComponents (const Graph &G, NodeArray< int > &component, List< node > *isolated=nullptr)
 Computes the connected components of G and optionally generates a list of isolated nodes.
 
int connectedComponents (const Graph &G)
 Computes the amount of connected components of G.
 
int connectedIsolatedComponents (const Graph &G, List< node > &isolated, NodeArray< int > &component)
 
bool findCutVertices (const Graph &G, ArrayBuffer< node > &cutVertices, ArrayBuffer< Tuple2< node, node > > &addEdges, bool onlyOne=false)
 Finds cut vertices and potential edges that could be added to turn the cut vertices into non-cut vertices.
 
bool findCutVertices (const Graph &G, ArrayBuffer< node > &cutVertices, bool onlyOne=false)
 Finds cut vertices and potential edges that could be added to turn the cut vertices into non-cut vertices.
 
bool isBiconnected (const Graph &G, node &cutVertex)
 Returns true iff G is biconnected.
 
bool isBiconnected (const Graph &G)
 Returns true iff G is biconnected.
 
void makeBiconnected (Graph &G, List< edge > &added)
 Makes G biconnected by adding edges.
 
void makeBiconnected (Graph &G)
 Makes G biconnected by adding edges.
 
int biconnectedComponents (const Graph &G, EdgeArray< int > &component, int &nonEmptyComponents)
 Computes the biconnected components of G.
 
int biconnectedComponents (const Graph &G, EdgeArray< int > &component)
 Computes the biconnected components of G.
 
bool isTwoEdgeConnected (const Graph &graph, edge &bridge)
 Returns true iff graph is 2-edge-connected.
 
bool isTwoEdgeConnected (const Graph &graph)
 Returns true iff graph is 2-edge-connected.
 
bool isTriconnected (const Graph &G, node &s1, node &s2)
 Returns true iff G is triconnected.
 
bool isTriconnected (const Graph &G)
 Returns true iff G is triconnected.
 
bool isTriconnectedPrimitive (const Graph &G, node &s1, node &s2)
 Returns true iff G is triconnected (using a quadratic time algorithm!).
 
bool isTriconnectedPrimitive (const Graph &G)
 Returns true iff G is triconnected (using a quadratic time algorithm!).
 
void triangulate (Graph &G)
 Triangulates a planarly embedded graph G by adding edges.
 
Methods for directed graphs
bool isAcyclic (const Graph &G, List< edge > &backedges)
 Returns true iff the digraph G is acyclic.
 
bool isAcyclic (const Graph &G)
 Returns true iff the digraph G is acyclic.
 
bool isAcyclicUndirected (const Graph &G, List< edge > &backedges)
 Returns true iff the undirected graph G is acyclic.
 
bool isAcyclicUndirected (const Graph &G)
 Returns true iff the undirected graph G is acyclic.
 
void makeAcyclic (Graph &G)
 Makes the digraph G acyclic by removing edges.
 
void makeAcyclicByReverse (Graph &G)
 Makes the digraph G acyclic by reversing edges.
 
bool hasSingleSource (const Graph &G, node &source)
 Returns true iff the digraph G contains exactly one source node (or is empty).
 
bool hasSingleSource (const Graph &G)
 Returns true iff the digraph G contains exactly one source node (or is empty).
 
bool hasSingleSink (const Graph &G, node &sink)
 Returns true iff the digraph G contains exactly one sink node (or is empty).
 
bool hasSingleSink (const Graph &G)
 Returns true iff the digraph G contains exactly one sink node (or is empty).
 
bool isStGraph (const Graph &G, node &s, node &t, edge &st)
 Returns true iff G is an st-digraph.
 
bool isStGraph (const Graph &G)
 Returns true if G is an st-digraph.
 
void topologicalNumbering (const Graph &G, NodeArray< int > &num)
 Computes a topological numbering of an acyclic digraph G.
 
int strongComponents (const Graph &G, NodeArray< int > &component)
 Computes the strongly connected components of the digraph G.
 
void makeBimodal (Graph &G, List< edge > &newEdges)
 Makes the digraph G bimodal.
 
void makeBimodal (Graph &G)
 Makes the digraph G bimodal.
 
Methods for trees and forests
bool isFreeForest (const Graph &G)
 
bool isTree (const Graph &G)
 Returns true iff G is a tree, i.e. contains no undirected cycle and is connected.
 
bool isArborescenceForest (const Graph &G, List< node > &roots)
 Returns true iff G is a forest consisting only of arborescences.
 
bool isArborescenceForest (const Graph &G)
 Returns true iff G is a forest consisting only of arborescences.
 
bool isForest (const Graph &G, List< node > &roots)
 
bool isForest (const Graph &G)
 
bool isArborescence (const Graph &G, node &root)
 Returns true iff G represents an arborescence.
 
bool isArborescence (const Graph &G)
 Returns true iff G represents an arborescence.
 
Iteration macros
bool test_forall_adj_entries_of_cluster (ListConstIterator< adjEntry > &it, adjEntry &adj)
 
bool test_forall_adj_edges_of_cluster (ListConstIterator< adjEntry > &it, edge &e)
 
bool test_forall_adj_edges_of_cluster (adjEntry &adj, edge &e)
 

Variables

bool debugMode
 Set to true iff debug mode is used during compilation of the OGDF.
 
const EpsilonTest OGDF_GEOM_ET
 
static Initialization s_ogdfInitializer
 

Graph operations

using NodeMap = NodeArray< NodeArray< node > >
 
void graphUnion (Graph &G1, const Graph &G2)
 Forms the disjoint union of G1 and G2.
 
void graphUnion (Graph &G1, const Graph &G2, NodeArray< node > &map2to1, bool parallelfree=false, bool directed=false)
 Forms the union of G1 and G2 while identifying nodes from G2 with nodes from G1.
 
void graphProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct, const std::function< void(node, node)> &addEdges)
 Computes the graph product of G1 and G2, using a given function to add edges.
 
void cartesianProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct)
 Computes the Cartesian product of G1 and G2 and assigns it to product, with \(E = \{(\langle v_1,w_1\rangle, \langle v_1,w_2\rangle) | (w_1,w_2) \in E_2\} \cup \{(\langle v_1,w_1\rangle, \langle v_2,w_1\rangle) | (v_1,v_2) \in E_1\} \).
 
void tensorProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct)
 Computes the tensor product of G1 and G2 and assigns it to product, with \(E = \{(\langle v_1,w_1\rangle, \langle v_2,w_2\rangle) | (v_1,v_2) \in E_1 \land (w_1,w_2) \in E_2\} \).
 
void lexicographicalProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct)
 Computes the lexicographical product of G1 and G2 and assigns it to product, with \(E = \{(\langle v_1,w_1\rangle, \langle v_2,w_2\rangle) | (v_1,v_2) \in E_1\} \cup \{(\langle v_1,w_1\rangle, \langle v_1,w_2\rangle) | (w_1,w_2) \in E_2\} \).
 
void strongProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct)
 Computes the strong product of G1 and G2 and assigns it to product, with \(E = \{(\langle v_1,w_1\rangle, \langle v_1,w_2\rangle) | (w_1,w_2) \in E_2\} \cup \{(\langle v_1,w_1\rangle, \langle v_2,w_1\rangle) | (v_1,v_2) \in E_1\} \cup \{(\langle v_1,w_1\rangle, \langle v_2,w_2\rangle) | (v_1,v_2) \in E_1 \land (w_1,w_2) \in E_2\} \).
 
void coNormalProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct)
 Computes the co-normal product of G1 and G2 and assigns it to product, with \(E = \{(\langle v_1,w_1\rangle, \langle v_2,w_2\rangle) | (v_1,v_2) \in E_1 \lor (w_1,w_2) \in E_2\} \).
 
void modularProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct)
 Computes the modular product of G1 and G2 and assigns it to product, with \(E = \{(\langle v_1,w_1\rangle, \langle v_2,w_2\rangle) | (v_1,v_2) \in E_1 \land (w_1,w_2) \in E_2\} \cup \{(\langle v_1,w_1\rangle, \langle v_2,w_2\rangle) | (v_1,v_2) \not\in E_1 \land (w_1,w_2) \not\in E_2\} \).
 
void rootedProduct (const Graph &G1, const Graph &G2, Graph &product, NodeMap &nodeInProduct, node rootInG2)
 Computes the rooted product of G1 and G2, rooted in rootInG2, and assigns it to product.
 

Detailed Description

The namespace for all OGDF objects.

Typedef Documentation

◆ adjHypergraphEntry

The type of adjacency entries.

Definition at line 68 of file Hypergraph.h.

◆ ArrayConstIterator

Definition at line 51 of file Array.h.

◆ ArrayConstReverseIterator

◆ ArrayIterator

Definition at line 53 of file Array.h.

◆ ArrayReverseIterator

Definition at line 57 of file Array.h.

◆ cluster

The type of clusters.

Definition at line 45 of file ClusterGraph.h.

◆ CrossingMinimalPositionFast

◆ DLine

Lines with real coordinates.

Definition at line 619 of file geometry.h.

◆ DPoint

Representing two-dimensional point with real coordinates.

Definition at line 236 of file geometry.h.

◆ DPolyline

Polylines with DPoint points.

Definition at line 444 of file geometry.h.

◆ DSegment

Segments with real coordinates.

Definition at line 785 of file geometry.h.

◆ DualGraph

Definition at line 44 of file DualGraph.h.

◆ DynamicDualGraph

◆ edgeType

Definition at line 42 of file EdgeTypePatterns.h.

◆ face

◆ hyperedge

The type of hyperedges.

Definition at line 65 of file Hypergraph.h.

◆ hypernode

The type of hypernodes.

Definition at line 62 of file Hypergraph.h.

◆ IPoint

Representing a two-dimensional point with integer coordinates.

Definition at line 233 of file geometry.h.

◆ IPolyline

Polylines with IPoint points.

Definition at line 441 of file geometry.h.

◆ ListConstIterator

Definition at line 48 of file List.h.

◆ ListConstReverseIterator

Definition at line 52 of file List.h.

◆ ListIterator

Definition at line 50 of file List.h.

◆ ListReverseIterator

Definition at line 54 of file List.h.

◆ nodeType

Definition at line 44 of file NodeTypePatterns.h.

◆ pa_label

Definition at line 120 of file PALabel.h.

◆ PredecessorMap

using ogdf::PredecessorMap = typedef std::unordered_map<node, std::unique_ptr<NodeArray<edge> >>

Definition at line 43 of file StarInserter.h.

◆ SListConstIterator

Definition at line 43 of file SList.h.

◆ SListIterator

Definition at line 45 of file SList.h.

◆ SortedSequenceConstIterator

◆ SortedSequenceConstReverseIterator

◆ SortedSequenceIterator

◆ SortedSequenceReverseIterator

Enumeration Type Documentation

◆ BoyerMyrvoldEdgeType

Type of edge.

Enumerator
Undefined 

undefined

Selfloop 

selfloop

Back 

backedge

Dfs 

DFS-edge.

DfsParallel 

parallel DFS-edge

BackDeleted 

deleted backedge

Definition at line 45 of file BoyerMyrvoldPlanar.h.

◆ CompressionOptions

Defines options for compression search paths.

Enumerator
PathCompression 

Path Compression.

PathSplitting 

Path Splitting (default)

PathHalving 

Path Halving.

Type1Reversal 

Reversal of type 1.

Collapsing 

Collapsing.

Disabled 

No Compression.

Definition at line 51 of file DisjointSets.h.

◆ ConstraintEdgeType

Types of edges in the constraint graph.

Enumerator
BasicArc 
VertexSizeArc 
VisibilityArc 
FixToZeroArc 

can be compacted to zero length, can be fixed

ReducibleArc 

can be compacted to zero length

MedianArc 

inserted to replace some reducible in fixzerolength

Definition at line 42 of file CommonCompactionConstraintGraphBase.h.

◆ Direction

Enumerator
before 
after 

Definition at line 134 of file basic.h.

◆ EdgeStandardType

Enumeration class of possible edge standard representations.

Enumerator
clique 

no new dummy nodes are introduced, for every hyperedge e = (v_1, ..., v_l), we add a cliqie K_l connecting hypernodes incident with e

star 

for every hyperedge e = {v_1, ..., v_l} a single new dummy node v_e is introduced, moreover, v_e becomes the center of a new star connecting all hypernodes incident with e (ie. {v_1, v_e}, ..., {v_l, v_e} are added)

tree 

for every hyperedge e a minimal subcubic tree connecting all hypernodes incident with e together is added with all its nodes and edges, leaves of tree are hypernodes, all non-leaf nodes are newly introduced dummy nodes.

Definition at line 51 of file EdgeStandardRep.h.

◆ InterleavingOptions

Defines options for interleaving find/link operations in quickUnion.

Enumerator
Disabled 

No Interleaving (default)

Rem 

Rem's Algorithm (only compatible with LinkOptions::Index)

Tarjan 

Tarjan's and van Leeuwen's Algorithm (only compatible with LinkOptions::Rank)

Type0Reversal 

Interleaved Reversal of Type 0 (only compatible with LinkOptions::Naive)

SplittingCompression 

Interleaved Path Splitting Path Compression (only compatible with LinkOptions::Index)

Definition at line 61 of file DisjointSets.h.

◆ IntersectionType

Determines the type of intersection of two geometric objects.

Enumerator
None 

Two geometric objects do not intersect.

SinglePoint 

Two geometric objects intersect in a single point.

Overlapping 

Two geometric objects intersect in infinitely many points.

Definition at line 55 of file geometry.h.

◆ LabelType

Enumerator
End1 
Mult1 
Name 
End2 
Mult2 
NumLabels 

the number of available labels at an edge

Definition at line 45 of file ELabelInterface.h.

◆ LinkOptions

Defines options for linking two sets.

Enumerator
Naive 

Naive Link.

Index 

Link by index (default)

Size 

Link by size.

Rank 

Link by rank.

Definition at line 43 of file DisjointSets.h.

◆ MeasureEnum

Enumerator
zero 
log 
sum 
squared 

Definition at line 41 of file VertexOrder.h.

◆ OrderEnum

Enumerator
asc 
desc 
rnd 

Definition at line 40 of file VertexOrder.h.

◆ Orientation

Determines the orientation in hierarchical layouts.

Enumerator
topToBottom 

Edges are oriented from top to bottom.

bottomToTop 

Edges are oriented from bottom to top.

leftToRight 

Edges are oriented from left to right.

rightToLeft 

Edges are oriented from right to left.

Definition at line 47 of file geometry.h.

◆ OrthoBendType

Enumerator
convexBend 
reflexBend 

Definition at line 45 of file OrthoRep.h.

◆ OrthoDir

Enumerator
North 
East 
South 
West 
Undefined 

Definition at line 50 of file OrthoRep.h.

◆ UMLEdgeTypeConstants

Enumerator
PrimAssociation 
PrimGeneralization 
PrimDependency 
SecExpansion 
SecDissect 
SecFaceSplitter 
SecCluster 
SecClique 
Merger 
Vertical 
Align 
AssClass 
Brother 
HalfBrother 
Cousin 
FifthToMerger 
FifthFromMerger 

Definition at line 65 of file EdgeTypePatterns.h.

◆ UMLEdgeTypeOffsets

Enumerator
Primary 
Secondary 
Tertiary 
Fourth 
Fifth 
User 

Definition at line 106 of file EdgeTypePatterns.h.

◆ UMLEdgeTypePatterns

Enumerator
Primary 
Secondary 
Tertiary 
Fourth 
User 
All 

Definition at line 44 of file EdgeTypePatterns.h.

◆ UMLNodeTypeConstants

Enumerator
PrimOriginal 
PrimCopy 
SecStructural 
SecNonStructural 
TerCrossing 
TerExpander 
TerHDExpander 
TerLDExpander 
FourFlow 
FourLabel 
FourType 
FourCorner 

Definition at line 55 of file NodeTypePatterns.h.

◆ UMLNodeTypeOffsets

Enumerator
Primary 
Secondary 
Tertiary 
Fourth 
Fifth 
User 

Definition at line 82 of file NodeTypePatterns.h.

◆ UMLNodeTypePatterns

Enumerator
Primary 
Secondary 
Tertiary 
Fourth 
User 
All 

Definition at line 46 of file NodeTypePatterns.h.

◆ UMLOpt

Enumerator
OpAlign 
OpScale 
OpProg 

Definition at line 53 of file OrthoRep.h.

◆ UsedLabels

Enumerator
End1 
Mult1 
Name 
End2 
Mult2 
lAll 

Definition at line 54 of file ELabelInterface.h.

◆ whaType

The definitions for W, B, H and A describe the type of a node during the computation of the maximal pertinent sequence.

A pertinent node X in the PQ-tree will be either of type B, W, A or H. Together with some other information stored at every node the pertinent leaves in the frontier of X that have to be deleted. For further description of the types see Jayakumar, Thulasiraman and Swamy 1989.

Enumerator

Definition at line 48 of file whaInfo.h.

Function Documentation

◆ bucketSort()

template<class E >
void ogdf::bucketSort ( Array< E > &  a,
int  min,
int  max,
BucketFunc< E > &  f 
)

Bucket-sort array a using bucket assignment f; the values of f must be in the interval [min,max].

Definition at line 1154 of file SList.h.

◆ chooseIteratorFrom() [1/2]

template<typename CONTAINER , typename TYPE >
CONTAINER::const_iterator ogdf::chooseIteratorFrom ( const CONTAINER container,
std::function< bool(const TYPE &)>  includeElement = [](const TYPE&) { return true; },
bool  isFastTest = true 
)

Returns an iterator to a random element in the container.

Takes linear time (given that includeElement runs in constant time). An invalid iterator is returned iff no feasible element exists. When includeElement has a non-constant runtime it is recommended to set isFastTest to false.

Template Parameters
CONTAINERType of the container. Any iterable container that implements size() is applicable.
TYPEType of elements returned by the iterator of the container.
Parameters
containerThe container that we want to pick an element from.
includeElementSpecifies for each element whether it is feasible to be chosen. Defaults to all elements being feasible. Must return the same value when called twice with the same element.
isFastTestShould be set to false to prevent querying the same element multiple times for feasibility. Note that this will result in additional space allocated linear in the size of the container.
Returns
An iterator to the picked element or an invalid iterator if no such element exists.

Definition at line 229 of file list_templates.h.

◆ chooseIteratorFrom() [2/2]

template<typename CONTAINER , typename TYPE >
CONTAINER::iterator ogdf::chooseIteratorFrom ( CONTAINER container,
std::function< bool(const TYPE &)>  includeElement = [](const TYPE&) { return true; },
bool  isFastTest = true 
)

Returns an iterator to a random element in the container.

Takes linear time (given that includeElement runs in constant time). An invalid iterator is returned iff no feasible element exists. When includeElement has a non-constant runtime it is recommended to set isFastTest to false.

Template Parameters
CONTAINERType of the container. Any iterable container that implements size() is applicable.
TYPEType of elements returned by the iterator of the container.
Parameters
containerThe container that we want to pick an element from.
includeElementSpecifies for each element whether it is feasible to be chosen. Defaults to all elements being feasible. Must return the same value when called twice with the same element.
isFastTestShould be set to false to prevent querying the same element multiple times for feasibility. Note that this will result in additional space allocated linear in the size of the container.
Returns
An iterator to the picked element or an invalid iterator if no such element exists.

Definition at line 219 of file list_templates.h.

◆ dfsGenTree()

bool ogdf::dfsGenTree ( UMLGraph UG,
List< edge > &  fakedGens,
bool  fakeTree 
)

Definition at line 112 of file precondition.h.

◆ dfsGenTreeRec()

bool ogdf::dfsGenTreeRec ( UMLGraph UG,
EdgeArray< bool > &  used,
NodeArray< int > &  hierNumber,
int  hierNum,
node  v,
List< edge > &  fakedGens,
bool  fakeTree 
)

Definition at line 44 of file precondition.h.

◆ equalIgnoreCase()

bool ogdf::equalIgnoreCase ( const string &  str1,
const string &  str2 
)

Compares the two strings str1 and str2, ignoring the case of characters.

◆ firstOutGen()

edge ogdf::firstOutGen ( UMLGraph UG,
node  v,
EdgeArray< bool > &   
)

Definition at line 94 of file precondition.h.

◆ fromString()

template<class ToClass >
ToClass ogdf::fromString ( string  key)
inline

Definition at line 568 of file graphics.h.

◆ initFillPatternHashing()

void ogdf::initFillPatternHashing ( )

◆ isForest() [1/2]

bool ogdf::isForest ( const Graph G)
inline
Deprecated:
"isArborescenceForest() should be used instead."

Returns true iff G is a forest consisting only of arborescences.

Parameters
Gis the input graph.
Returns
true if G represents an arborescence forest, false otherwise.

Definition at line 954 of file simple_graph_alg.h.

◆ isForest() [2/2]

bool ogdf::isForest ( const Graph G,
List< node > &  roots 
)
inline
Deprecated:
"isArborescenceForest() should be used instead."

Returns true iff G is a forest consisting only of arborescences.

Parameters
Gis the input graph.
rootsis assigned the list of root nodes of the arborescences in the forest. If false is returned, roots is undefined.
Returns
true if G represents an arborescence forest, false otherwise.

Definition at line 946 of file simple_graph_alg.h.

◆ isFreeForest()

bool ogdf::isFreeForest ( const Graph G)
inline
Deprecated:
"isAcyclicUndirected() should be used instead."

Returns true iff the undirected graph G is acyclic.

Parameters
Gis the input graph
Returns
true if G contains no undirected cycle, false otherwise.

Definition at line 904 of file simple_graph_alg.h.

◆ isinf()

template<typename T >
bool ogdf::isinf ( value)
inline

Definition at line 44 of file PivotMDS.h.

◆ operator!=() [1/2]

template<class E1 , class E2 >
bool ogdf::operator!= ( const Tuple2< E1, E2 > &  t1,
const Tuple2< E1, E2 > &  t2 
)

Inequality operator for 2-tuples.

Definition at line 86 of file tuples.h.

◆ operator!=() [2/2]

bool ogdf::operator!= ( int  lhs,
BoyerMyrvoldPlanar::EmbeddingGrade  rhs 
)
inline

Definition at line 483 of file BoyerMyrvoldPlanar.h.

◆ operator&() [1/6]

edgeType ogdf::operator& ( edgeType  lhs,
UMLEdgeTypeConstants  rhs 
)
inline

Definition at line 98 of file EdgeTypePatterns.h.

◆ operator&() [2/6]

edgeType ogdf::operator& ( edgeType  lhs,
UMLEdgeTypePatterns  rhs 
)
inline

Definition at line 53 of file EdgeTypePatterns.h.

◆ operator&() [3/6]

int ogdf::operator& ( int  i,
TopologyModule::Options  b 
)
inline

Definition at line 201 of file TopologyModule.h.

◆ operator&() [4/6]

int ogdf::operator& ( int  lhs,
UMLOpt  rhs 
)
inline

Definition at line 59 of file OrthoRep.h.

◆ operator&() [5/6]

int ogdf::operator& ( int  lhs,
WInfo::MinorType  rhs 
)
inline

Definition at line 81 of file FindKuratowskis.h.

◆ operator&() [6/6]

edgeType ogdf::operator& ( UMLEdgeTypePatterns  lhs,
edgeType  rhs 
)
inline

Definition at line 57 of file EdgeTypePatterns.h.

◆ operator+=()

int ogdf::operator+= ( int lhs,
UMLOpt  rhs 
)
inline

Definition at line 61 of file OrthoRep.h.

◆ operator<<() [1/39]

edgeType ogdf::operator<< ( edgeType  lhs,
UMLEdgeTypeOffsets  rhs 
)
inline

Definition at line 119 of file EdgeTypePatterns.h.

◆ operator<<() [2/39]

edgeType ogdf::operator<< ( edgeType  lhs,
UMLEdgeTypePatterns  rhs 
)
inline

Definition at line 61 of file EdgeTypePatterns.h.

◆ operator<<() [3/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
cluster  c 
)

◆ operator<<() [4/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
Configuration::LPSolver  lps 
)
inline

Output operator for Configuration::LPSolver (uses Configuration::toString(Configuration::LPSolver)).

Definition at line 329 of file config.h.

◆ operator<<() [5/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
Configuration::MemoryManager  mm 
)
inline

◆ operator<<() [6/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
Configuration::System  sys 
)
inline

Output operator for Configuration::System (uses Configuration::toString(Configuration::System)).

Definition at line 323 of file config.h.

◆ operator<<() [7/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
const BalloonLayout::RootSelection rs 
)

◆ operator<<() [8/39]

template<class E , class INDEX >
std::ostream & ogdf::operator<< ( std::ostream &  os,
const BoundedQueue< E, INDEX > &  Q 
)

Prints BoundedQueue Q to output stream os.

Definition at line 235 of file BoundedQueue.h.

◆ operator<<() [9/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
const DPolygon dop 
)

Output operator for polygons.

◆ operator<<() [10/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
const EdgeArrow ea 
)

Output operator.

◆ operator<<() [11/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
const FillPattern fp 
)

Output operator.

◆ operator<<() [12/39]

template<class PointType >
std::ostream & ogdf::operator<< ( std::ostream &  os,
const GenericLine< PointType > &  line 
)

Output operator for lines.

Definition at line 609 of file geometry.h.

◆ operator<<() [13/39]

template<typename T >
std::ostream & ogdf::operator<< ( std::ostream &  os,
const GenericPoint< T > &  p 
)

Output operator for generic points.

Definition at line 227 of file geometry.h.

◆ operator<<() [14/39]

template<class PointType >
std::ostream & ogdf::operator<< ( std::ostream &  os,
const GenericSegment< PointType > &  dl 
)

Output operator for line segments.

Definition at line 779 of file geometry.h.

◆ operator<<() [15/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
const Graph::EdgeType et 
)

◆ operator<<() [16/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
const KuratowskiWrapper::SubdivisionType obj 
)

◆ operator<<() [17/39]

template<class E >
std::ostream & ogdf::operator<< ( std::ostream &  os,
const List< E > &  L 
)

Prints list L to output stream os.

Definition at line 1807 of file List.h.

◆ operator<<() [18/39]

template<class E >
std::ostream & ogdf::operator<< ( std::ostream &  os,
const ListPure< E > &  L 
)

Prints list L to output stream os.

Definition at line 1800 of file List.h.

◆ operator<<() [19/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
const Module::ReturnType r 
)

◆ operator<<() [20/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
const NodePair np 
)
inline

Definition at line 1494 of file Graph_d.h.

◆ operator<<() [21/39]

template<class E , class INDEX >
std::ostream & ogdf::operator<< ( std::ostream &  os,
const ogdf::Array< E, INDEX > &  a 
)

Prints array a to output stream os.

Definition at line 978 of file Array.h.

◆ operator<<() [22/39]

template<class E , class INDEX >
std::ostream & ogdf::operator<< ( std::ostream &  os,
const ogdf::ArrayBuffer< E, INDEX > &  a 
)

Prints ArrayBuffer a to output stream os.

Definition at line 506 of file ArrayBuffer.h.

◆ operator<<() [23/39]

template<class E >
std::ostream & ogdf::operator<< ( std::ostream &  os,
const Queue< E > &  Q 
)

Definition at line 365 of file Queue.h.

◆ operator<<() [24/39]

template<class E >
std::ostream & ogdf::operator<< ( std::ostream &  os,
const QueuePure< E > &  Q 
)

Definition at line 359 of file Queue.h.

◆ operator<<() [25/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
const RCCrossings cr 
)

◆ operator<<() [26/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
const Shape shape 
)

Output operator.

◆ operator<<() [27/39]

template<class E >
std::ostream & ogdf::operator<< ( std::ostream &  os,
const SList< E > &  L 
)

Output operator.

Definition at line 1147 of file SList.h.

◆ operator<<() [28/39]

template<class E >
std::ostream & ogdf::operator<< ( std::ostream &  os,
const SListPure< E > &  L 
)

Output operator.

Definition at line 1140 of file SList.h.

◆ operator<<() [29/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
const StrokeType st 
)

Output operator.

◆ operator<<() [30/39]

template<class T >
std::ostream & ogdf::operator<< ( std::ostream &  os,
const SubsetEnumerator< T > &  subset 
)

Definition at line 267 of file SubsetEnumerator.h.

◆ operator<<() [31/39]

template<class E1 , class E2 >
std::ostream & ogdf::operator<< ( std::ostream &  os,
const Tuple2< E1, E2 > &  t2 
)

Output operator for 2-tuples.

Definition at line 92 of file tuples.h.

◆ operator<<() [32/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
const UmlModelGraph modelGraph 
)

Output operator for UmlModelGraph.

◆ operator<<() [33/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
Logger::Level  level 
)
inline

Definition at line 285 of file Logger.h.

◆ operator<<() [34/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
ogdf::adjEntry  adj 
)

Output operator for adjacency entries; prints node and twin indices (or "nil").

◆ operator<<() [35/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
ogdf::edge  e 
)

Output operator for edges; prints source and target indices (or "nil").

◆ operator<<() [36/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
ogdf::face  f 
)

Output operator for faces; prints face index (or "nil").

◆ operator<<() [37/39]

std::ostream & ogdf::operator<< ( std::ostream &  os,
ogdf::node  v 
)

Output operator for nodes; prints node index (or "nil").

◆ operator<<() [38/39]

edgeType ogdf::operator<< ( UMLEdgeTypeConstants  lhs,
UMLEdgeTypeOffsets  rhs 
)
inline

Definition at line 123 of file EdgeTypePatterns.h.

◆ operator<<() [39/39]

int ogdf::operator<< ( UMLNodeTypeConstants  lhs,
UMLNodeTypeOffsets  rhs 
)
inline

Definition at line 91 of file NodeTypePatterns.h.

◆ operator<=()

bool ogdf::operator<= ( int  lhs,
BoyerMyrvoldPlanar::EmbeddingGrade  rhs 
)
inline

Definition at line 487 of file BoyerMyrvoldPlanar.h.

◆ operator==() [1/3]

template<class E1 , class E2 >
bool ogdf::operator== ( const Tuple2< E1, E2 > &  t1,
const Tuple2< E1, E2 > &  t2 
)

Equality operator for 2-tuples.

Definition at line 80 of file tuples.h.

◆ operator==() [2/3]

bool ogdf::operator== ( edgeType  lhs,
UMLEdgeTypeConstants  rhs 
)
inline

Definition at line 102 of file EdgeTypePatterns.h.

◆ operator==() [3/3]

bool ogdf::operator== ( int  lhs,
BoyerMyrvoldPlanar::EmbeddingGrade  rhs 
)
inline

Definition at line 479 of file BoyerMyrvoldPlanar.h.

◆ operator>()

bool ogdf::operator> ( int  lhs,
BoyerMyrvoldPlanar::EmbeddingGrade  rhs 
)
inline

Definition at line 475 of file BoyerMyrvoldPlanar.h.

◆ operator>>() [1/2]

edgeType ogdf::operator>> ( edgeType  lhs,
UMLEdgeTypeOffsets  rhs 
)
inline

Definition at line 115 of file EdgeTypePatterns.h.

◆ operator>>() [2/2]

std::istream & ogdf::operator>> ( std::istream &  is,
TokenIgnorer  token 
)

◆ operator|() [1/3]

int ogdf::operator| ( int  i,
TopologyModule::Options  b 
)
inline

Definition at line 207 of file TopologyModule.h.

◆ operator|() [2/3]

int ogdf::operator| ( int  lhs,
UMLOpt  rhs 
)
inline

Definition at line 55 of file OrthoRep.h.

◆ operator|() [3/3]

int ogdf::operator| ( TopologyModule::Options  a,
TopologyModule::Options  b 
)
inline

Definition at line 203 of file TopologyModule.h.

◆ operator|=() [1/2]

int ogdf::operator|= ( int lhs,
WInfo::MinorType  rhs 
)
inline

Definition at line 83 of file FindKuratowskis.h.

◆ operator|=() [2/2]

unsigned int ogdf::operator|= ( unsigned int i,
CPUFeatureMask  fm 
)

◆ operator~()

int ogdf::operator~ ( UMLOpt  rhs)
inline

Definition at line 57 of file OrthoRep.h.

◆ orientation() [1/2]

int ogdf::orientation ( const DPoint p,
const DPoint q,
const DPoint r 
)

◆ orientation() [2/2]

int ogdf::orientation ( const DSegment s,
const DPoint p 
)
inline

Definition at line 1053 of file geometry.h.

◆ prefixIgnoreCase()

bool ogdf::prefixIgnoreCase ( const string &  prefix,
const string &  str 
)

Tests if prefix is a prefix of str, ignoring the case of characters.

◆ print() [1/8]

template<class E , class INDEX >
void ogdf::print ( std::ostream &  os,
const Array< E, INDEX > &  a,
char  delim = ' ' 
)

Prints array a to output stream os using delimiter delim.

Definition at line 967 of file Array.h.

◆ print() [2/8]

template<class E , class INDEX >
void ogdf::print ( std::ostream &  os,
const ArrayBuffer< E, INDEX > &  a,
char  delim = ' ' 
)

Prints ArrayBuffer a to output stream os using delimiter delim.

Definition at line 495 of file ArrayBuffer.h.

◆ print() [3/8]

template<class E >
void ogdf::print ( std::ostream &  os,
const List< E > &  L,
char  delim = ' ' 
)

Prints list L to output stream os using delimiter delim.

Definition at line 1794 of file List.h.

◆ print() [4/8]

template<class E >
void ogdf::print ( std::ostream &  os,
const ListPure< E > &  L,
char  delim = ' ' 
)

Prints list L to output stream os using delimiter delim.

Definition at line 1782 of file List.h.

◆ print() [5/8]

template<class E >
void ogdf::print ( std::ostream &  os,
const Queue< E > &  Q,
char  delim = ' ' 
)

Definition at line 353 of file Queue.h.

◆ print() [6/8]

template<class E >
void ogdf::print ( std::ostream &  os,
const QueuePure< E > &  Q,
char  delim = ' ' 
)

Definition at line 347 of file Queue.h.

◆ print() [7/8]

template<class E >
void ogdf::print ( std::ostream &  os,
const SList< E > &  L,
char  delim = ' ' 
)

Prints list L to output stream os using delimiter delim.

Definition at line 1134 of file SList.h.

◆ print() [8/8]

template<class E >
void ogdf::print ( std::ostream &  os,
const SListPure< E > &  L,
char  delim = ' ' 
)

Prints list L to output stream os using delimiter delim.

Definition at line 1122 of file SList.h.

◆ quicksortTemplate() [1/2]

template<class LIST >
void ogdf::quicksortTemplate ( LIST L)

Definition at line 77 of file list_templates.h.

◆ quicksortTemplate() [2/2]

template<class LIST , class COMPARER >
void ogdf::quicksortTemplate ( LIST L,
const COMPARER comp 
)

Definition at line 84 of file list_templates.h.

◆ removeTrailingWhitespace()

void ogdf::removeTrailingWhitespace ( string &  str)

Removes trailing space, horizontal and vertical tab, feed, newline, and carriage return from str.

◆ safeForEach()

template<typename CONTAINER >
void ogdf::safeForEach ( CONTAINER container,
std::function< void(typename CONTAINER::value_type)>  func 
)
inline

Calls (possibly destructive) func for each element of container.

"Destructive" means that the current iterator of container may be deleted during the processing of func. It works by saving the successor of the current element before calling func.

Definition at line 49 of file list_templates.h.

◆ safeTestForEach()

template<typename CONTAINER >
bool ogdf::safeTestForEach ( CONTAINER container,
std::function< bool(typename CONTAINER::value_type)>  func 
)
inline

Like ogdf::safeForEach() but aborts if func returns false.

Returns
false if func returns false, true if the whole container was processed

Definition at line 64 of file list_templates.h.

◆ toEnum()

template<typename E >
static E ogdf::toEnum ( const std::string &  str,
std::string   toStringconst E &,
const first,
const last,
const def 
)
inlinestatic

Definition at line 55 of file Utils.h.

◆ toString()

template<class FromClass >
string ogdf::toString ( FromClass  key)
inline

Definition at line 557 of file graphics.h.

Variable Documentation

◆ debugMode

bool ogdf::debugMode
extern

Set to true iff debug mode is used during compilation of the OGDF.

◆ OGDF_GEOM_ET

const EpsilonTest ogdf::OGDF_GEOM_ET
extern

◆ s_ogdfInitializer

Initialization ogdf::s_ogdfInitializer
static

Definition at line 126 of file basic.h.