Open
Graph Drawing
Framework

 v. snapshot-2018-03-28
 

ogdf Namespace Reference

The namespace for all OGDF objects. More...

Namespaces

 booth_lueker
 
 boyer_myrvold
 
 cluster_planarity
 
 davidson_harel
 
 disjoint_sets
 
 dot
 
 edge_router
 
 embedder
 
 embedding_inserter
 
 energybased
 
 fast_multipole_embedder
 
 gdf
 
 gexf
 
 GmlObjectType
 
 GmlParserPredefinedKey
 
 graphics
 
 graphml
 
 internal
 
 Math
 
 planarization_layout
 
 pq_internal
 This namespace contains helper classes to keep the code dry.
 
 spring_embedder
 
 sse
 
 steiner_tree
 
 tlp
 
 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  CliqueFinder
 Finds cliques and dense subgraphs. 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...
 
struct  ClusterInfo
 Stores information associated with a cluster. 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
 A common base class for ogdf::GridCompactionConstraintGraphBase and 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  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  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  DualGraph
 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  EdgeInsertionModule
 Interface for edge insertion algorithms. More...
 
class  EdgeLabel
 
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  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...
 
struct  GmlObject
 Represents node in GML parse tree. More...
 
class  GmlParser
 Reads GML file and constructs GML parse tree. 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  GraphCopyAttributes
 Helper class for accessing graph attributes from a copy of the graph. 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  MinCut
 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  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  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  PreconditionViolatedException
 Exception thrown when preconditions are violated. More...
 
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  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  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  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  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  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
 
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  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 X (e.g. X=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  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  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  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. More...
 
using adjHypergraphEntry = AdjHypergraphElement *
 The type of adjacency entries. More...
 
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. More...
 
using DLine = GenericLine< DPoint >
 Lines with real coordinates. More...
 
using DPoint = GenericPoint< double >
 Representing two-dimensional point with real coordinates. More...
 
using DPolyline = GenericPolyline< DPoint >
 Polylines with DPoint points. More...
 
using DSegment = GenericSegment< DPoint >
 Segments with real coordinates. More...
 
using edge = EdgeElement *
 The type of edges. More...
 
using edgeType = long long
 
using face = FaceElement *
 
using GmlKey = HashElement< string, int > *
 
using hyperedge = HyperedgeElement *
 The type of hyperedges. More...
 
using hypernode = HypernodeElement *
 The type of hypernodes. More...
 
using IPoint = GenericPoint< int >
 Representing a two-dimensional point with integer coordinates. More...
 
using IPolyline = GenericPolyline< IPoint >
 Polylines with IPoint points. More...
 
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. More...
 
using nodeType = long long
 
using pa_label = PALabel *
 
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. More...
 
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  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  BoyerMyrvoldEdgeType { BoyerMyrvoldEdgeType::Undefined =0, BoyerMyrvoldEdgeType::Selfloop =1, BoyerMyrvoldEdgeType::Back =2, BoyerMyrvoldEdgeType::Dfs =3, BoyerMyrvoldEdgeType::DfsParallel =4, BoyerMyrvoldEdgeType::BackDeleted =5 }
 Type of edge. More...
 
enum  CompressionOptions { CompressionOptions::PathCompression = 0, CompressionOptions::PathSplitting = 1, CompressionOptions::PathHalving = 2, CompressionOptions::Type1Reversal = 4, CompressionOptions::Collapsing = 5, CompressionOptions::Disabled = 6 }
 Defines options for compression search paths. More...
 
enum  ConstraintEdgeType { ConstraintEdgeType::BasicArc, ConstraintEdgeType::VertexSizeArc, ConstraintEdgeType::VisibilityArc, ConstraintEdgeType::FixToZeroArc, ConstraintEdgeType::ReducibleArc, ConstraintEdgeType::MedianArc }
 Types of edges in the constraint graph. More...
 
enum  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  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  Direction { Direction::before, Direction::after }
 
enum  EdgeArrow { EdgeArrow::None, EdgeArrow::Last, EdgeArrow::First, EdgeArrow::Both, EdgeArrow::Undefined }
 Types for edge arrows. More...
 
enum  EdgeStandardType { EdgeStandardType::clique = 0x0001, EdgeStandardType::star = 0x0002, EdgeStandardType::tree = 0x0003 }
 Enumeration class of possible edge standard representations. More...
 
enum  FileType { FileType::Entry, FileType::File, FileType::Directory }
 The type of an entry in a directory. More...
 
enum  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  InterleavingOptions { InterleavingOptions::Disabled = 0, InterleavingOptions::Rem = 1, InterleavingOptions::Tarjan = 2, InterleavingOptions::Type0Reversal = 3, InterleavingOptions::SplittingCompression = 4 }
 Defines options for interleaving find/link operations in quickUnion. More...
 
enum  IntersectionType { IntersectionType::None, IntersectionType::SinglePoint, IntersectionType::Overlapping }
 Determines the type of intersection of two geometric objects. More...
 
enum  LabelType { LabelType::End1 = 0, LabelType::Mult1, LabelType::Name, LabelType::End2, LabelType::Mult2, LabelType::NumLabels }
 
enum  LibraryNotSupportedCode { LibraryNotSupportedCode::Unknown, LibraryNotSupportedCode::Coin, LibraryNotSupportedCode::Abacus, LibraryNotSupportedCode::FunctionNotImplemented, LibraryNotSupportedCode::MissingCallbackImplementation, LibraryNotSupportedCode::STOP }
 Code for the library which was intended to get used, but its use is not supported. More...
 
enum  LinkOptions { LinkOptions::Naive = 0, LinkOptions::Index = 1, LinkOptions::Size = 2, LinkOptions::Rank = 3 }
 Defines options for linking two sets. More...
 
enum  Orientation { Orientation::topToBottom, Orientation::bottomToTop, Orientation::leftToRight, Orientation::rightToLeft }
 Determines the orientation in hierarchical layouts. More...
 
enum  OrthoBendType : char { OrthoBendType::convexBend = '0', OrthoBendType::reflexBend = '1' }
 
enum  OrthoDir { OrthoDir::North = 0, OrthoDir::East = 1, OrthoDir::South = 2, OrthoDir::West = 3, OrthoDir::Undefined = 4 }
 
enum  PreconditionViolatedCode {
  PreconditionViolatedCode::Unknown, PreconditionViolatedCode::SelfLoop, PreconditionViolatedCode::TreeHierarchies, PreconditionViolatedCode::AcyclicHierarchies, PreconditionViolatedCode::SingleSource, PreconditionViolatedCode::UpwardPlanar, PreconditionViolatedCode::Tree, PreconditionViolatedCode::Forest, PreconditionViolatedCode::Orthogonal, PreconditionViolatedCode::Planar, PreconditionViolatedCode::ClusterPlanar, PreconditionViolatedCode::NoCopy, PreconditionViolatedCode::Connected, PreconditionViolatedCode::Biconnected,
  PreconditionViolatedCode::Full, PreconditionViolatedCode::STOP
}
 Error code for a violated precondition. More...
 
enum  RemoveReinsertType { RemoveReinsertType::None, RemoveReinsertType::Inserted, RemoveReinsertType::MostCrossed, RemoveReinsertType::All, RemoveReinsertType::Incremental, RemoveReinsertType::IncInserted }
 The postprocessing method for edge insertion algorithms. More...
 
enum  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  SpringForceModel { SpringForceModel::FruchtermanReingold, SpringForceModel::FruchtermanReingoldModAttr, SpringForceModel::FruchtermanReingoldModRep, SpringForceModel::Eades, SpringForceModel::Hachul, SpringForceModel::Gronemann }
 The force model used for computing forces on nodes. More...
 
enum  StrokeLineCap : unsigned char { StrokeLineCap::Butt, StrokeLineCap::Round, StrokeLineCap::Square }
 Line cap types of strokes. More...
 
enum  StrokeLineJoin : unsigned char { StrokeLineJoin::Miter, StrokeLineJoin::Round, StrokeLineJoin::Bevel }
 Line join types of strokes. More...
 
enum  StrokeType : unsigned char { StrokeType::None, StrokeType::Solid, StrokeType::Dash, StrokeType::Dot, StrokeType::Dashdot, StrokeType::Dashdotdot }
 Line types of strokes. More...
 
enum  UMLEdgeTypeConstants {
  UMLEdgeTypeConstants::PrimAssociation = 0x1, UMLEdgeTypeConstants::PrimGeneralization = 0x2, UMLEdgeTypeConstants::PrimDependency = 0x4, UMLEdgeTypeConstants::SecExpansion = 0x1, UMLEdgeTypeConstants::SecDissect = 0x2, UMLEdgeTypeConstants::SecFaceSplitter = 0x3, UMLEdgeTypeConstants::SecCluster = 0x4, UMLEdgeTypeConstants::SecClique, UMLEdgeTypeConstants::Merger = 0x1, UMLEdgeTypeConstants::Vertical = 0x2, UMLEdgeTypeConstants::Align = 0x3, UMLEdgeTypeConstants::AssClass = 0x8, UMLEdgeTypeConstants::Brother = 0x1, UMLEdgeTypeConstants::HalfBrother = 0x2,
  UMLEdgeTypeConstants::Cousin = 0x3, UMLEdgeTypeConstants::FifthToMerger = 0x1, UMLEdgeTypeConstants::FifthFromMerger = 0x2
}
 
enum  UMLEdgeTypeOffsets { UMLEdgeTypeOffsets::Primary = 0, UMLEdgeTypeOffsets::Secondary = 4, UMLEdgeTypeOffsets::Tertiary = 8, UMLEdgeTypeOffsets::Fourth = 12, UMLEdgeTypeOffsets::Fifth = 16, UMLEdgeTypeOffsets::User = 24 }
 
enum  UMLEdgeTypePatterns : edgeType { UMLEdgeTypePatterns::Primary = 0x0000000f, UMLEdgeTypePatterns::Secondary = 0x000000f0, UMLEdgeTypePatterns::Tertiary = 0x00000f00, UMLEdgeTypePatterns::Fourth = 0x0000f000, UMLEdgeTypePatterns::User = 0xff000000, UMLEdgeTypePatterns::All = 0xffffffff }
 
enum  UMLNodeTypeConstants { UMLNodeTypeConstants::PrimOriginal = 0x1, UMLNodeTypeConstants::PrimCopy = 0x2, UMLNodeTypeConstants::SecStructural = 0x1, UMLNodeTypeConstants::SecNonStructural = 0x2, UMLNodeTypeConstants::TerCrossing = 0x1, UMLNodeTypeConstants::TerExpander = 0x2, UMLNodeTypeConstants::TerHDExpander = 0x6, UMLNodeTypeConstants::TerLDExpander = 0xA, UMLNodeTypeConstants::FourFlow = 0x1, UMLNodeTypeConstants::FourLabel = 0x2, UMLNodeTypeConstants::FourType = 0x3, UMLNodeTypeConstants::FourCorner = 0x4 }
 
enum  UMLNodeTypeOffsets { UMLNodeTypeOffsets::Primary = 0, UMLNodeTypeOffsets::Secondary = 4, UMLNodeTypeOffsets::Tertiary = 8, UMLNodeTypeOffsets::Fourth = 12, UMLNodeTypeOffsets::Fifth = 16, UMLNodeTypeOffsets::User = 24 }
 
enum  UMLNodeTypePatterns : nodeType { UMLNodeTypePatterns::Primary = 0x0000000f, UMLNodeTypePatterns::Secondary = 0x000000f0, UMLNodeTypePatterns::Tertiary = 0x00000f00, UMLNodeTypePatterns::Fourth = 0x0000f000, UMLNodeTypePatterns::User = 0xff000000, UMLNodeTypePatterns::All = 0xffffffff }
 
enum  UMLOpt { UMLOpt::OpAlign = 0x0001, UMLOpt::OpScale = 0x0002, UMLOpt::OpProg = 0x0004 }
 
enum  UsedLabels { UsedLabels::End1 = (1 << static_cast<int>(LabelType::End1)), UsedLabels::Mult1 = (1 << static_cast<int>(LabelType::Mult1)), UsedLabels::Name = (1 << static_cast<int>(LabelType::Name)), UsedLabels::End2 = (1 << static_cast<int>(LabelType::End2)), UsedLabels::Mult2 = (1 << static_cast<int>(LabelType::Mult2)), UsedLabels::lAll = (1 << static_cast<int>(LabelType::NumLabels)) -1 }
 
enum  whaType { whaType::W, whaType::B, whaType::H, whaType::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). More...
 
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). More...
 
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]. More...
 
bool changeDir (const char *dirName)
 Changes current directory to dirName; returns true if successful. More...
 
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. More...
 
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. More...
 
int computeSTNumbering (const Graph &G, NodeArray< int > &numbering, node s=nullptr, node t=nullptr, bool randomized=false)
 Computes an st-Numbering of G. More...
 
void degreeDistribution (const Graph &G, Array< int > &degdist)
 Fills degdist with the degree distribution of graph G. More...
 
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 >
double dijkstra_SPAP (const GraphAttributes &GA, NodeArray< NodeArray< TCost >> &shortestPathMatrix)
 Computes all-pairs shortest paths in GA using Dijkstra's algorithm. More...
 
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. More...
 
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. More...
 
bool equalIgnoreCase (const string &str1, const string &str2)
 Compares the two strings str1 and str2, ignoring the case of characters. More...
 
string fillPatternToString (FillPattern fp)
 Converts fillpattern fp to string. More...
 
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. More...
 
template<class ToClass >
ToClass fromString (string key)
 
void getEntries (const char *dirName, List< string > &entries, const char *pattern="*")
 Returns in entries the list of all entries contained in directory dirName. More...
 
void getEntries (const char *dirName, FileType t, List< string > &entries, const char *pattern="*")
 Returns in entries the list of all entries of type t contained in directory dirName. More...
 
void getEntriesAppend (const char *dirName, List< string > &entries, const char *pattern="*")
 Appends to entries the list of all entries contained in directory dirName. More...
 
void getEntriesAppend (const char *dirName, FileType t, List< string > &entries, const char *pattern="*")
 Appends to entries the list of all entries of type t contained in directory dirName. More...
 
void getFiles (const char *dirName, List< string > &files, const char *pattern="*")
 Returns in files the list of files in directory dirName. More...
 
void getFilesAppend (const char *dirName, List< string > &files, const char *pattern="*")
 Appends to files the list of files in directory dirName. More...
 
void getSubdirs (const char *dirName, List< string > &subdirs, const char *pattern="*")
 Returns in subdirs the list of directories contained in directory dirName. More...
 
void getSubdirsAppend (const char *dirName, List< string > &subdirs, const char *pattern="*")
 Appends to subdirs the list of directories contained in directory dirName. More...
 
void initFillPatternHashing ()
 
FillPattern intToFillPattern (int i)
 Converts integer i to fill pattern. More...
 
StrokeType intToStrokeType (int i)
 Converts integer i to stroke type. More...
 
bool isBipartite (const Graph &G, NodeArray< bool > &color)
 Checks whether a graph is bipartite. More...
 
bool isBipartite (const Graph &G)
 Checks whether a graph is bipartite. More...
 
bool isDirectory (const char *fileName)
 Returns true iff fileName is a directory. More...
 
bool isFile (const char *fileName)
 Returns true iff fileName is a regular file (not a directory). More...
 
template<typename T >
bool isinf (T value)
 
bool isPlanar (const Graph &G)
 Returns true, if G is planar, false otherwise. More...
 
bool isRegular (const Graph &G)
 Checks if a graph is regular. More...
 
bool isRegular (const Graph &G, int d)
 Checks if a graph is d-regular. More...
 
bool isSTNumbering (const Graph &G, NodeArray< int > &st_no, int max)
 Tests, whether a numbering of the nodes is an st-numbering. More...
 
bool isSTPlanar (const Graph &graph, const node s, const node t)
 Returns whether G is s-t-planar (i.e. More...
 
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. More...
 
template<class E1 , class E2 >
bool operator!= (const Tuple2< E1, E2 > &t1, const Tuple2< E1, E2 > &t2)
 Inequality operator for 2-tuples. More...
 
bool operator!= (int lhs, BoyerMyrvoldPlanar::EmbeddingGrade rhs)
 
edgeType operator& (edgeType lhs, UMLEdgeTypePatterns rhs)
 
edgeType operator& (UMLEdgeTypePatterns lhs, edgeType rhs)
 
int operator& (int lhs, UMLOpt rhs)
 
int operator& (int lhs, WInfo::MinorType rhs)
 
edgeType operator& (edgeType lhs, UMLEdgeTypeConstants rhs)
 
int operator& (int i, TopologyModule::Options b)
 
int operator+= (int &lhs, UMLOpt rhs)
 
std::ostream & operator<< (std::ostream &os, ogdf::node v)
 Output operator for nodes; prints node index (or "nil"). More...
 
std::ostream & operator<< (std::ostream &os, ogdf::edge e)
 Output operator for edges; prints source and target indices (or "nil"). More...
 
std::ostream & operator<< (std::ostream &os, ogdf::adjEntry adj)
 Output operator for adjacency entries; prints node and twin indices (or "nil"). More...
 
std::ostream & operator<< (std::ostream &os, const StrokeType &st)
 Output operator. More...
 
edgeType operator<< (edgeType lhs, UMLEdgeTypePatterns rhs)
 
std::ostream & operator<< (std::ostream &os, const Module::ReturnType &r)
 
std::ostream & operator<< (std::ostream &os, const KuratowskiWrapper::SubdivisionType &obj)
 
int operator<< (UMLNodeTypeConstants lhs, UMLNodeTypeOffsets rhs)
 
template<class E1 , class E2 >
std::ostream & operator<< (std::ostream &os, const Tuple2< E1, E2 > &t2)
 Output operator for 2-tuples. More...
 
std::ostream & operator<< (std::ostream &os, const UmlModelGraph &modelGraph)
 Output operator for UmlModelGraph. More...
 
edgeType operator<< (edgeType lhs, UMLEdgeTypeOffsets rhs)
 
std::ostream & operator<< (std::ostream &os, const RCCrossings &cr)
 
edgeType operator<< (UMLEdgeTypeConstants lhs, UMLEdgeTypeOffsets rhs)
 
std::ostream & operator<< (std::ostream &os, const FillPattern &fp)
 Output operator. More...
 
std::ostream & operator<< (std::ostream &os, const BalloonLayout::RootSelection &rs)
 
std::ostream & operator<< (std::ostream &os, const EdgeArrow &ea)
 Output operator. More...
 
template<class E , class INDEX >
std::ostream & operator<< (std::ostream &os, const BoundedQueue< E, INDEX > &Q)
 Prints BoundedQueue Q to output stream os. More...
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const GenericPoint< T > &p)
 Output operator for generic points. More...
 
std::ostream & operator<< (std::ostream &os, Logger::Level level)
 
template<class T >
std::ostream & operator<< (std::ostream &os, const SubsetEnumerator< T > &subset)
 
std::ostream & operator<< (std::ostream &os, Configuration::System sys)
 Output operator for Configuration::System (uses Configuration::toString(Configuration::System)). More...
 
std::ostream & operator<< (std::ostream &os, Configuration::LPSolver lps)
 Output operator for Configuration::LPSolver (uses Configuration::toString(Configuration::LPSolver)). More...
 
std::ostream & operator<< (std::ostream &os, Configuration::MemoryManager mm)
 Output operator for Configuration::MemoryManager (uses Configuration::toString(Configuration::MemoryManager)). More...
 
template<class E >
std::ostream & operator<< (std::ostream &os, const QueuePure< E > &Q)
 
template<class E >
std::ostream & operator<< (std::ostream &os, const Queue< E > &Q)
 
template<class E , class INDEX >
std::ostream & operator<< (std::ostream &os, const ogdf::ArrayBuffer< E, INDEX > &a)
 Prints ArrayBuffer a to output stream os. More...
 
template<class PointType >
std::ostream & operator<< (std::ostream &os, const GenericLine< PointType > &line)
 Output operator for lines. More...
 
template<class PointType >
std::ostream & operator<< (std::ostream &os, const GenericSegment< PointType > &dl)
 Output operator for line segments. More...
 
std::ostream & operator<< (std::ostream &os, cluster c)
 
template<class E , class INDEX >
std::ostream & operator<< (std::ostream &os, const ogdf::Array< E, INDEX > &a)
 Prints array a to output stream os. More...
 
template<class E >
std::ostream & operator<< (std::ostream &os, const SListPure< E > &L)
 Output operator. More...
 
template<class E >
std::ostream & operator<< (std::ostream &os, const SList< E > &L)
 Output operator. More...
 
std::ostream & operator<< (std::ostream &os, const DPolygon &dop)
 Output operator for polygons. More...
 
std::ostream & operator<< (std::ostream &os, const Graph::EdgeType &et)
 
std::ostream & operator<< (std::ostream &os, const NodePair &np)
 
template<class E >
std::ostream & operator<< (std::ostream &os, const ListPure< E > &L)
 Prints list L to output stream os. More...
 
template<class E >
std::ostream & operator<< (std::ostream &os, const List< E > &L)
 Prints list L to output stream os. More...
 
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. More...
 
bool operator== (edgeType lhs, UMLEdgeTypeConstants rhs)
 
bool operator== (int lhs, BoyerMyrvoldPlanar::EmbeddingGrade rhs)
 
bool operator> (int lhs, BoyerMyrvoldPlanar::EmbeddingGrade rhs)
 
std::istream & operator>> (std::istream &is, TokenIgnorer token)
 
edgeType operator>> (edgeType lhs, UMLEdgeTypeOffsets rhs)
 
int operator| (int lhs, UMLOpt rhs)
 
int operator| (TopologyModule::Options a, TopologyModule::Options b)
 
int operator| (int i, 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. More...
 
bool planarEmbedPlanarGraph (Graph &G)
 Constructs a planar embedding of G. It assumes that G is planar! More...
 
bool planarSTEmbed (Graph &graph, node s, node t)
 s-t-planarly embeds a graph. More...
 
bool prefixIgnoreCase (const string &prefix, const string &str)
 Tests if prefix is a prefix of str, ignoring the case of characters. More...
 
template<class E >
void print (std::ostream &os, const QueuePure< E > &Q, char delim=' ')
 
template<class E >
void print (std::ostream &os, const Queue< E > &Q, char 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. More...
 
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. More...
 
template<class E >
void print (std::ostream &os, const SListPure< E > &L, char delim=' ')
 Prints list L to output stream os using delimiter delim. More...
 
template<class E >
void print (std::ostream &os, const SList< E > &L, char delim=' ')
 Prints list L to output stream os using delimiter delim. More...
 
template<class E >
void print (std::ostream &os, const ListPure< E > &L, char delim=' ')
 Prints list L to output stream os using delimiter delim. More...
 
template<class E >
void print (std::ostream &os, const List< E > &L, char delim=' ')
 Prints list L to output stream os using delimiter delim. More...
 
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). More...
 
double randomDoubleNormal (double m, double sd)
 Returns a random double value from the normal distribution with mean m and standard deviation sd. More...
 
int randomNumber (int low, int high)
 Returns random integer between low and high (including). More...
 
long unsigned int randomSeed ()
 Returns a random value suitable as initial seed for a random number engine. More...
 
void removeTrailingWhitespace (string &str)
 Removes trailing space, horizontal and vertical tab, feed, newline, and carriage return from str. More...
 
template<typename T >
Reverse< T > reverse (T &container)
 Provides iterators for container to make it easily iterable in reverse. More...
 
template<typename CONTAINER >
void safeForEach (CONTAINER &container, std::function< void(typename CONTAINER::value_type)> func)
 Calls (possibly destructive) func for each element of container. More...
 
template<typename CONTAINER >
bool safeTestForEach (CONTAINER &container, std::function< bool(typename CONTAINER::value_type)> func)
 Like ogdf::safeForEach() but aborts if func returns false. More...
 
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. More...
 
void setSeed (int val)
 Sets the seed for functions like randomSeed(), randomNumber(), randomDouble(). More...
 
string shapeToString (Shape s)
 Converts shape s to string. More...
 
FillPattern stringToFillPattern (string s)
 Converts string s to fill pattern. More...
 
Shape stringToShape (string s)
 Converts string s to shape. More...
 
StrokeType stringToStrokeType (string s)
 Converts string s to stroke type. More...
 
string strokeTypeToString (StrokeType st)
 Converts string s to stroke type. More...
 
template<typename E >
static E toEnum (const std::string &str, std::map< std::string, E > &map, 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. More...
 
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. More...
 
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). More...
 
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). More...
 
template<class NODELISTITERATOR , class EDGELIST >
void inducedSubgraph (Graph &G, NODELISTITERATOR &it, EDGELIST &E)
 Computes the edges in a node-induced subgraph. More...
 
Methods for clustered graphs
bool isCConnected (const ClusterGraph &C)
 Returns true iff cluster graph C is c-connected. More...
 
void makeCConnected (ClusterGraph &C, Graph &G, List< edge > &addedEdges, bool simple=true)
 Makes a cluster graph c-connected by adding edges. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
template<typename T >
makeMinimumSpanningTree (Graph &G, const EdgeArray< T > &weight)
 Reduce a graph to its minimum spanning tree (MST) using Kruskal's algorithm. More...
 
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. More...
 
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. More...
 
void circulantGraph (Graph &G, int n, Array< int > jumps)
 Creates a circulant graph. More...
 
void regularLatticeGraph (Graph &G, int n, int k)
 Creates a regular lattice graph. More...
 
void regularTree (Graph &G, int n, int children)
 Creates a regular tree. More...
 
void completeGraph (Graph &G, int n)
 Creates the complete graph K_n. More...
 
void completeKPartiteGraph (Graph &G, const Array< int > &signature)
 Creates the complete k-partite graph K_{k1,k2,...,kn}. More...
 
void completeBipartiteGraph (Graph &G, int n, int m)
 Creates the complete bipartite graph K_{n,m}. More...
 
void wheelGraph (Graph &G, int n)
 Creates the graph W_n: A wheel graph. More...
 
void cubeGraph (Graph &G, int n)
 Creates the graph Q^n: A n-cube graph. More...
 
void suspension (Graph &G, int s)
 Modifies G by adding its s-th suspension. More...
 
void gridGraph (Graph &G, int n, int m, bool loopN, bool loopM)
 Creates a (toroidal) grid graph on n x m nodes. More...
 
void petersenGraph (Graph &G, int n=5, int m=2)
 Creates a generalized Petersen graph. More...
 
void emptyGraph (Graph &G, int nodes)
 Creates a graph with nodes nodes and no edges. More...
 
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. More...
 
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. More...
 
void randomHierarchy (Graph &G, int n, int m, bool planar, bool singleSource, bool longEdges)
 Creates a random hierarchical graph. More...
 
void randomRegularGraph (Graph &G, int n, int d)
 Creates a random d-regular graph. More...
 
void randomGraph (Graph &G, int n, int m)
 Creates a random graph. More...
 
bool randomSimpleGraph (Graph &G, int n, int m)
 Creates a random simple graph. More...
 
bool randomSimpleConnectedGraph (Graph &G, int n, int m)
 Creates a random simple and connected graph. More...
 
void randomBiconnectedGraph (Graph &G, int n, int m)
 Creates a random biconnected graph. More...
 
void randomPlanarConnectedGraph (Graph &G, int n, int m)
 Creates a random connected (simple) planar (embedded) graph. More...
 
void randomPlanarBiconnectedGraph (Graph &G, int n, int m, bool multiEdges=false)
 Creates a random planar biconnected (embedded) graph. More...
 
void randomPlanarBiconnectedDigraph (Graph &G, int n, int m, double p=0, bool multiEdges=false)
 Creates a random planar biconnected acyclic (embedded) digraph. More...
 
void randomUpwardPlanarBiconnectedDigraph (Graph &G, int n, int m)
 Creates a random upward planar biconnected (embedded) digraph. More...
 
void randomPlanarCNBGraph (Graph &G, int n, int m, int b)
 Creates a random planar graph, that is connected, but not biconnected. More...
 
void randomTriconnectedGraph (Graph &G, int n, double p1, double p2)
 Creates a random triconnected (and simple) graph. More...
 
void randomPlanarTriconnectedGraph (Graph &G, int n, int m)
 Creates a random planar triconnected (and simple) graph. More...
 
void randomPlanarTriconnectedGraph (Graph &G, int n, double p1, double p2)
 Creates a random planar triconnected (and simple) graph. More...
 
void randomTree (Graph &G, int n)
 Creates a random tree (simpler version. More...
 
void randomTree (Graph &G, int n, int maxDeg, int maxWidth)
 Creates a random tree. More...
 
void randomClusterPlanarGraph (ClusterGraph &C, Graph &G, int cNum)
 Assigns random clusters to a given graph G. More...
 
void randomClusterGraph (ClusterGraph &C, Graph &G, int cNum)
 Assigns random clusters to a given graph G. More...
 
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. More...
 
void randomDigraph (Graph &G, int n, double p)
 Creates a random (simple) directed graph. More...
 
void randomSeriesParallelDAG (Graph &G, int edges, double p=0.5, double flt=0.0)
 Creates a random (simple, biconnected) series parallel DAG. More...
 
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. More...
 
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. More...
 
void preferentialAttachmentGraph (Graph &G, int nodes, int minDegree)
 Creates a graph where new nodes are more likely to connect to nodes with high degree. More...
 
void randomWattsStrogatzGraph (Graph &G, int n, int k, double probability)
 Creates a "small world" graph as described by Watts & Strogatz. More...
 
void randomChungLuGraph (Graph &G, Array< int > expectedDegreeDistribution)
 Creates a graph where edges are inserted based on given weights. More...
 
void randomEdgesGraph (Graph &G, std::function< double(node, node)> probability)
 Inserts edges into the given graph based on probabilities given by a callback function. More...
 
Methods for loops
bool isLoopFree (const Graph &G)
 Returns true iff G contains no self-loop. More...
 
template<class NODELIST >
void makeLoopFree (Graph &G, NODELIST &L)
 Removes all self-loops from G and returns all nodes with self-loops in L. More...
 
void makeLoopFree (Graph &G)
 Removes all self-loops from G. More...
 
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. More...
 
bool isParallelFree (const Graph &G)
 Returns true iff G contains no parallel edges. More...
 
int numParallelEdges (const Graph &G)
 Returns the number of parallel edges in G. More...
 
template<class EDGELIST >
void makeParallelFree (Graph &G, EDGELIST &parallelEdges)
 Removes all but one of each bundle of parallel edges. More...
 
void makeParallelFree (Graph &G)
 Removes all but one edge of each bundle of parallel edges in G. More...
 
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. More...
 
bool isParallelFreeUndirected (const Graph &G)
 Returns true iff G contains no undirected parallel edges. More...
 
int numParallelEdgesUndirected (const Graph &G)
 Returns the number of undirected parallel edges in G. More...
 
template<class EDGELIST >
void getParallelFreeUndirected (const Graph &G, EdgeArray< EDGELIST > &parallelEdges)
 Computes the bundles of undirected parallel edges in G. More...
 
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. More...
 
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. More...
 
void makeSimple (Graph &G)
 Removes all self-loops and all but one edge of each bundle of parallel edges. More...
 
bool isSimpleUndirected (const Graph &G)
 Returns true iff G contains neither self-loops nor undirected parallel edges. More...
 
void makeSimpleUndirected (Graph &G)
 Removes all self-loops and all but one edge of each bundle of undirected parallel edges. More...
 
Methods for connectivity
bool isConnected (const Graph &G)
 Returns true iff G is connected. More...
 
void makeConnected (Graph &G, List< edge > &added)
 Makes G connected by adding a minimum number of edges. More...
 
void makeConnected (Graph &G)
 makes G connected by adding a minimum number of edges. More...
 
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. More...
 
int connectedIsolatedComponents (const Graph &G, List< node > &isolated, NodeArray< int > &component)
 Computes the connected components of G and optionally generates a list of isolated nodes. More...
 
bool isBiconnected (const Graph &G, node &cutVertex)
 Returns true iff G is biconnected. More...
 
bool isBiconnected (const Graph &G)
 Returns true iff G is biconnected. More...
 
void makeBiconnected (Graph &G, List< edge > &added)
 Makes G biconnected by adding edges. More...
 
void makeBiconnected (Graph &G)
 Makes G biconnected by adding edges. More...
 
int biconnectedComponents (const Graph &G, EdgeArray< int > &component, int &nonEmptyComponents)
 Computes the biconnected components of G. More...
 
int biconnectedComponents (const Graph &G, EdgeArray< int > &component)
 Computes the biconnected components of G. More...
 
bool isTwoEdgeConnected (const Graph &graph, edge &bridge)
 Returns true iff graph is 2-edge-connected. More...
 
bool isTwoEdgeConnected (const Graph &graph)
 Returns true iff graph is 2-edge-connected. More...
 
bool isTriconnected (const Graph &G, node &s1, node &s2)
 Returns true iff G is triconnected. More...
 
bool isTriconnected (const Graph &G)
 Returns true iff G is triconnected. More...
 
bool isTriconnectedPrimitive (const Graph &G, node &s1, node &s2)
 Returns true iff G is triconnected (using a quadratic time algorithm!). More...
 
bool isTriconnectedPrimitive (const Graph &G)
 Returns true iff G is triconnected (using a quadratic time algorithm!). More...
 
void triangulate (Graph &G)
 Triangulates a planarly embedded graph G by adding edges. More...
 
Methods for directed graphs
bool isAcyclic (const Graph &G, List< edge > &backedges)
 Returns true iff the digraph G is acyclic. More...
 
bool isAcyclic (const Graph &G)
 Returns true iff the digraph G is acyclic. More...
 
bool isAcyclicUndirected (const Graph &G, List< edge > &backedges)
 Returns true iff the undirected graph G is acyclic. More...
 
bool isAcyclicUndirected (const Graph &G)
 Returns true iff the undirected graph G is acyclic. More...
 
void makeAcyclic (Graph &G)
 Makes the digraph G acyclic by removing edges. More...
 
void makeAcyclicByReverse (Graph &G)
 Makes the digraph G acyclic by reversing edges. More...
 
bool hasSingleSource (const Graph &G, node &source)
 Returns true iff the digraph G contains exactly one source node (or is empty). More...
 
bool hasSingleSource (const Graph &G)
 Returns true iff the digraph G contains exactly one source node (or is empty). More...
 
bool hasSingleSink (const Graph &G, node &sink)
 Returns true iff the digraph G contains exactly one sink node (or is empty). More...
 
bool hasSingleSink (const Graph &G)
 Returns true iff the digraph G contains exactly one sink node (or is empty). More...
 
bool isStGraph (const Graph &G, node &s, node &t, edge &st)
 Returns true iff G is an st-digraph. More...
 
bool isStGraph (const Graph &G)
 Returns true if G is an st-digraph. More...
 
void topologicalNumbering (const Graph &G, NodeArray< int > &num)
 Computes a topological numbering of an acyclic digraph G. More...
 
int strongComponents (const Graph &G, NodeArray< int > &component)
 Computes the strongly connected components of the digraph G. More...
 
void makeBimodal (Graph &G, List< edge > &newEdges)
 Makes the digraph G bimodal. More...
 
void makeBimodal (Graph &G)
 Makes the digraph G bimodal. More...
 
Methods for trees and forests
bool isFreeForest (const Graph &G)
 Returns true iff the undirected graph G is acyclic. More...
 
bool isTree (const Graph &G)
 Returns true iff G is a tree, i.e. contains no undirected cycle and is connected. More...
 
bool isArborescenceForest (const Graph &G, List< node > &roots)
 Returns true iff G is a forest consisting only of arborescences. More...
 
bool isArborescenceForest (const Graph &G)
 Returns true iff G is a forest consisting only of arborescences. More...
 
bool isForest (const Graph &G, List< node > &roots)
 Returns true iff G is a forest consisting only of arborescences. More...
 
bool isForest (const Graph &G)
 Returns true iff G is a forest consisting only of arborescences. More...
 
bool isArborescence (const Graph &G, node &root)
 Returns true iff G represents an arborescence. More...
 
bool isArborescence (const Graph &G)
 Returns true iff G represents an arborescence. More...
 
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. More...
 
const EpsilonTest OGDF_GEOM_ET
 
static Initialization s_ogdfInitializer
 

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

template<class E >
using ogdf::ArrayConstIterator = typedef const E*

Definition at line 48 of file Array.h.

◆ ArrayConstReverseIterator

template<class E >
using ogdf::ArrayConstReverseIterator = typedef ArrayReverseIteratorBase<E, true>

Definition at line 50 of file Array.h.

◆ ArrayIterator

template<class E >
using ogdf::ArrayIterator = typedef E*

Definition at line 49 of file Array.h.

◆ ArrayReverseIterator

template<class E >
using ogdf::ArrayReverseIterator = typedef ArrayReverseIteratorBase<E, false>

Definition at line 51 of file Array.h.

◆ cluster

using ogdf::cluster = typedef ClusterElement*

The type of clusters.

Definition at line 46 of file ClusterGraph.h.

◆ DLine

using ogdf::DLine = typedef GenericLine<DPoint>

Lines with real coordinates.

Definition at line 625 of file geometry.h.

◆ DPoint

using ogdf::DPoint = typedef GenericPoint<double>

Representing two-dimensional point with real coordinates.

Definition at line 244 of file geometry.h.

◆ DPolyline

Polylines with DPoint points.

Definition at line 442 of file geometry.h.

◆ DSegment

Segments with real coordinates.

Definition at line 808 of file geometry.h.

◆ edgeType

using ogdf::edgeType = typedef long long

Definition at line 42 of file EdgeTypePatterns.h.

◆ face

using ogdf::face = typedef FaceElement*

Definition at line 40 of file CombinatorialEmbedding.h.

◆ GmlKey

using ogdf::GmlKey = typedef HashElement<string,int>*

Definition at line 41 of file GmlParser.h.

◆ 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

using ogdf::IPoint = typedef GenericPoint<int>

Representing a two-dimensional point with integer coordinates.

Definition at line 241 of file geometry.h.

◆ IPolyline

Polylines with IPoint points.

Definition at line 439 of file geometry.h.

◆ ListConstIterator

template<class E >
using ogdf::ListConstIterator = typedef ListIteratorBase<E, true, false>

Definition at line 43 of file List.h.

◆ ListConstReverseIterator

template<class E >
using ogdf::ListConstReverseIterator = typedef ListIteratorBase<E, true, true>

Definition at line 45 of file List.h.

◆ ListIterator

template<class E >
using ogdf::ListIterator = typedef ListIteratorBase<E, false, false>

Definition at line 44 of file List.h.

◆ ListReverseIterator

template<class E >
using ogdf::ListReverseIterator = typedef ListIteratorBase<E, false, true>

Definition at line 46 of file List.h.

◆ nodeType

using ogdf::nodeType = typedef long long

Definition at line 44 of file NodeTypePatterns.h.

◆ pa_label

using ogdf::pa_label = typedef PALabel*

Definition at line 151 of file PALabel.h.

◆ SListConstIterator

template<class E >
using ogdf::SListConstIterator = typedef SListIteratorBase<E, true>

Definition at line 40 of file SList.h.

◆ SListIterator

template<class E >
using ogdf::SListIterator = typedef SListIteratorBase<E, false>

Definition at line 41 of file SList.h.

◆ SortedSequenceConstIterator

template<class KEY , class INFO , class CMP >
using ogdf::SortedSequenceConstIterator = typedef SortedSequenceIteratorBase<KEY,INFO,CMP,true,false>

Definition at line 48 of file SortedSequence.h.

◆ SortedSequenceConstReverseIterator

template<class KEY , class INFO , class CMP >
using ogdf::SortedSequenceConstReverseIterator = typedef SortedSequenceIteratorBase<KEY,INFO,CMP,true,true>

Definition at line 54 of file SortedSequence.h.

◆ SortedSequenceIterator

template<class KEY , class INFO , class CMP >
using ogdf::SortedSequenceIterator = typedef SortedSequenceIteratorBase<KEY,INFO,CMP,false,false>

Definition at line 45 of file SortedSequence.h.

◆ SortedSequenceReverseIterator

template<class KEY , class INFO , class CMP >
using ogdf::SortedSequenceReverseIterator = typedef SortedSequenceIteratorBase<KEY,INFO,CMP,false,true>

Definition at line 51 of file SortedSequence.h.

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 44 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 50 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

enum ogdf::Direction
strong
Enumerator
before 
after 

Definition at line 126 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 60 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 54 of file geometry.h.

◆ LabelType

enum ogdf::LabelType
strong
Enumerator
End1 
Mult1 
Name 
End2 
Mult2 
NumLabels 

the number of available labels at an edge

Definition at line 46 of file ELabelInterface.h.

◆ LinkOptions

enum ogdf::LinkOptions
strong

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 42 of file DisjointSets.h.

◆ Orientation

enum ogdf::Orientation
strong

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 46 of file geometry.h.

◆ OrthoBendType

enum ogdf::OrthoBendType : char
strong
Enumerator
convexBend 
reflexBend 

Definition at line 46 of file OrthoRep.h.

◆ OrthoDir

enum ogdf::OrthoDir
strong
Enumerator
North 
East 
South 
West 
Undefined 

Definition at line 51 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 95 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 75 of file NodeTypePatterns.h.

◆ UMLNodeTypePatterns

Enumerator
Primary 
Secondary 
Tertiary 
Fourth 
User 
All 

Definition at line 46 of file NodeTypePatterns.h.

◆ UMLOpt

enum ogdf::UMLOpt
strong
Enumerator
OpAlign 
OpScale 
OpProg 

Definition at line 60 of file OrthoRep.h.

◆ UsedLabels

enum ogdf::UsedLabels
strong
Enumerator
End1 
Mult1 
Name 
End2 
Mult2 
lAll 

Definition at line 55 of file ELabelInterface.h.

◆ whaType

enum ogdf::whaType
strong

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 49 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 1088 of file SList.h.

◆ chooseIteratorFrom() [1/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 224 of file list_templates.h.

◆ chooseIteratorFrom() [2/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 234 of file list_templates.h.

◆ degreeDistribution()

void ogdf::degreeDistribution ( const Graph G,
Array< int > &  degdist 
)
inline

Fills degdist with the degree distribution of graph G.

See also
ogdf::nodeDistribution

Definition at line 1013 of file simple_graph_alg.h.

◆ dfsGenTree()

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

Definition at line 110 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 45 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 93 of file precondition.h.

◆ fromString()

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

Definition at line 596 of file graphics.h.

◆ initFillPatternHashing()

void ogdf::initFillPatternHashing ( )

◆ isBipartite() [1/2]

bool ogdf::isBipartite ( const Graph G,
NodeArray< bool > &  color 
)

Checks whether a graph is bipartite.

Parameters
Gis the input graph.
coloris assigned the color for each node, i.e. the partition it belongs to, if G is bipartite. Otherwise its contents are undefined.
Returns
true if G is bipartite, false otherwise.

◆ isBipartite() [2/2]

bool ogdf::isBipartite ( const Graph G)
inline

Checks whether a graph is bipartite.

Parameters
Gis the input graph.
Returns
true if G is bipartite, false otherwise.

Definition at line 971 of file simple_graph_alg.h.

◆ isinf()

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

Definition at line 46 of file PivotMDS.h.

◆ isRegular() [1/2]

bool ogdf::isRegular ( const Graph G)

Checks if a graph is regular.

Parameters
Gis the input graph.
Returns
true if G is regular, false otherwise.

◆ isRegular() [2/2]

bool ogdf::isRegular ( const Graph G,
int  d 
)

Checks if a graph is d-regular.

Parameters
Gis the input graph.
dis the vertex degree.
Returns
true if G is d-regular, false otherwise.

◆ isSTPlanar()

bool ogdf::isSTPlanar ( const Graph graph,
const node  s,
const node  t 
)
inline

Returns whether G is s-t-planar (i.e.

it can be planarly embedded with s and t sharing a face).

Parameters
graphThe graph to be tested
sThe node to be incident to the same face as t nodes
tThe other node
Returns
true iff the graph is s-t-planar

Definition at line 410 of file extended_graph_alg.h.

◆ nodeDistribution()

void ogdf::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.

The array dist is initialized such that dist.low() represents the minimum function value, and dist.high() represents the maximum function value.

The resulting dist array contains for each function value x the number n of nodes that yield this function value x. In that case, the value at index x of dist is n. Also note that because dist is an array, all intermediate values are 0.

Examples:

  • Getting the in-degree distribution:
    Array<int> indegDist;
    nodeDistribution(G, indegDist, [](node v) { return v->indeg(); });
  • Getting the number of nodes belonging to specific connected components:
    NodeArray<int> component(G);
    Array<int> compDist;
    connectedComponents(G, component);
    nodeDistribution(G, compDist, component);
See also
ogdf::degreeDistribution

◆ 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 82 of file tuples.h.

◆ operator!=() [2/2]

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

Definition at line 467 of file BoyerMyrvoldPlanar.h.

◆ operator&() [1/6]

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

Definition at line 53 of file EdgeTypePatterns.h.

◆ operator&() [2/6]

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

Definition at line 57 of file EdgeTypePatterns.h.

◆ operator&() [3/6]

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

Definition at line 64 of file OrthoRep.h.

◆ operator&() [4/6]

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

Definition at line 82 of file FindKuratowskis.h.

◆ operator&() [5/6]

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

Definition at line 87 of file EdgeTypePatterns.h.

◆ operator&() [6/6]

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

Definition at line 211 of file TopologyModule.h.

◆ operator+=()

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

Definition at line 65 of file OrthoRep.h.

◆ operator<<() [1/37]

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

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

◆ operator<<() [2/37]

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

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

◆ operator<<() [3/37]

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

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

◆ operator<<() [4/37]

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

Output operator.

◆ operator<<() [5/37]

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

Definition at line 61 of file EdgeTypePatterns.h.

◆ operator<<() [6/37]

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

◆ operator<<() [7/37]

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

◆ operator<<() [8/37]

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

Definition at line 84 of file NodeTypePatterns.h.

◆ operator<<() [9/37]

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 89 of file tuples.h.

◆ operator<<() [10/37]

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

Output operator for UmlModelGraph.

◆ operator<<() [11/37]

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

Definition at line 108 of file EdgeTypePatterns.h.

◆ operator<<() [12/37]

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

◆ operator<<() [13/37]

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

Definition at line 112 of file EdgeTypePatterns.h.

◆ operator<<() [14/37]

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

Output operator.

◆ operator<<() [15/37]

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

◆ operator<<() [16/37]

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

Output operator.

◆ operator<<() [17/37]

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 220 of file BoundedQueue.h.

◆ operator<<() [18/37]

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

Output operator for generic points.

Definition at line 235 of file geometry.h.

◆ operator<<() [19/37]

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

Definition at line 286 of file Logger.h.

◆ operator<<() [20/37]

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

Definition at line 298 of file SubsetEnumerator.h.

◆ operator<<() [21/37]

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

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

Definition at line 325 of file config.h.

◆ operator<<() [22/37]

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

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

Definition at line 332 of file config.h.

◆ operator<<() [23/37]

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

◆ operator<<() [24/37]

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

Definition at line 377 of file Queue.h.

◆ operator<<() [25/37]

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

Definition at line 383 of file Queue.h.

◆ operator<<() [26/37]

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 447 of file ArrayBuffer.h.

◆ operator<<() [27/37]

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

Output operator for lines.

Definition at line 615 of file geometry.h.

◆ operator<<() [28/37]

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

Output operator for line segments.

Definition at line 802 of file geometry.h.

◆ operator<<() [29/37]

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

◆ operator<<() [30/37]

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 942 of file Array.h.

◆ operator<<() [31/37]

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

Output operator.

Definition at line 1072 of file SList.h.

◆ operator<<() [32/37]

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

Output operator.

Definition at line 1080 of file SList.h.

◆ operator<<() [33/37]

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

Output operator for polygons.

◆ operator<<() [34/37]

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

◆ operator<<() [35/37]

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

Definition at line 1458 of file Graph_d.h.

◆ operator<<() [36/37]

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

Prints list L to output stream os.

Definition at line 1626 of file List.h.

◆ operator<<() [37/37]

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

Prints list L to output stream os.

Definition at line 1634 of file List.h.

◆ operator<=()

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

Definition at line 471 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 75 of file tuples.h.

◆ operator==() [2/3]

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

Definition at line 91 of file EdgeTypePatterns.h.

◆ operator==() [3/3]

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

Definition at line 463 of file BoyerMyrvoldPlanar.h.

◆ operator>()

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

Definition at line 459 of file BoyerMyrvoldPlanar.h.

◆ operator>>() [1/2]

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

◆ operator>>() [2/2]

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

Definition at line 104 of file EdgeTypePatterns.h.

◆ operator|() [1/3]

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

Definition at line 62 of file OrthoRep.h.

◆ operator|() [2/3]

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

Definition at line 215 of file TopologyModule.h.

◆ operator|() [3/3]

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

Definition at line 219 of file TopologyModule.h.

◆ operator|=() [1/2]

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

Definition at line 86 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 63 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 1104 of file geometry.h.

◆ planarSTEmbed()

bool ogdf::planarSTEmbed ( Graph graph,
node  s,
node  t 
)
inline

s-t-planarly embeds a graph.

Parameters
graphThe graph to be embedded
sThe node to be incident to the same face as t nodes
tThe other node
Returns
true iff the graph was successfully embedded

Definition at line 448 of file extended_graph_alg.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 >
void ogdf::print ( std::ostream &  os,
const QueuePure< E > &  Q,
char  delim = ' ' 
)

Definition at line 366 of file Queue.h.

◆ print() [2/8]

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

Definition at line 371 of file Queue.h.

◆ print() [3/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 436 of file ArrayBuffer.h.

◆ print() [4/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 931 of file Array.h.

◆ print() [5/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 1053 of file SList.h.

◆ print() [6/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 1065 of file SList.h.

◆ print() [7/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 1607 of file List.h.

◆ print() [8/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 1619 of file List.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 86 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 48 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::map< std::string, E > &  map,
std::string   toStringconst E &,
const E  first,
const E  last,
const E  def 
)
inlinestatic

Definition at line 56 of file Utils.h.

◆ toString()

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

Definition at line 584 of file graphics.h.

Variable Documentation

◆ debugMode

bool ogdf::debugMode

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

◆ OGDF_GEOM_ET

const EpsilonTest ogdf::OGDF_GEOM_ET

◆ s_ogdfInitializer

Initialization ogdf::s_ogdfInitializer
static

Definition at line 118 of file basic.h.