Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::Configuration Class Reference

Provides information about how OGDF has been configured. More...

#include <ogdf/basic/internal/config.h>

Public Types

enum  LPSolver { LPSolver::None, LPSolver::Clp, LPSolver::Symphony, LPSolver::CPLEX, LPSolver::Gurobi, LPSolver::STOP }
 Specifies the LP-solver used by OGDF. More...
 
enum  MemoryManager { MemoryManager::PoolTS, MemoryManager::PoolNTS, MemoryManager::Malloc, MemoryManager::STOP }
 Specifies the memory-manager used by OGDF. More...
 
enum  System { System::Unknown, System::Windows, System::Unix, System::OSX, System::STOP }
 Specifies the operating system for which OGDF has been configured/built. More...
 

Static Public Member Functions

static constexpr bool haveAbacus ()
 Returns whether OGDF has been configured with ABACUS support. More...
 
static constexpr bool haveCoin ()
 Returns whether OGDF has been configured with COIN support. More...
 
static constexpr bool haveLPSolver ()
 Returns whether OGDF has been configured with LP-solver support. More...
 
static const string & toString (LPSolver lps)
 Converts lps to a (readable) string. More...
 
static const string & toString (MemoryManager mm)
 Converts mm to a (readable) string. More...
 
static const string & toString (System sys)
 Converts sys to a (readable) string. More...
 
static constexpr LPSolver whichLPSolver ()
 Returns the LP-solver used by OGDF. More...
 
static constexpr MemoryManager whichMemoryManager ()
 Returns the memory manager used by OGDF. More...
 
static constexpr System whichSystem ()
 Returns the operating system for which OGDF has been configured. More...
 

Detailed Description

Provides information about how OGDF has been configured.

Definition at line 283 of file config.h.

Member Enumeration Documentation

◆ LPSolver

Specifies the LP-solver used by OGDF.

Enumerator
None 

no LP-solver available

Clp 

COIN-OR LP-solver (Clp)

Symphony 

Symphony.

CPLEX 

CPLEX (commercial)

Gurobi 

Gurobi (commercial)

STOP 

Definition at line 295 of file config.h.

◆ MemoryManager

Specifies the memory-manager used by OGDF.

Enumerator
PoolTS 

thread-safe pool allocator

PoolNTS 

non-thread-safe pool allocator

Malloc 

malloc/free allocator

STOP 

Definition at line 305 of file config.h.

◆ System

Specifies the operating system for which OGDF has been configured/built.

Enumerator
Unknown 

not known (inproper configuration)

Windows 

Windows.

Unix 

Unix/Linux.

OSX 

Apple OSX.

STOP 

Definition at line 286 of file config.h.

Member Function Documentation

◆ haveAbacus()

static constexpr bool ogdf::Configuration::haveAbacus ( )
inlinestaticconstexpr

Returns whether OGDF has been configured with ABACUS support.

ABACUS is used as branch-and-cut-solver by some OGDF algorithms. In former versions, OGDF could be configured without ABACUS support, so this functionality was not available. Now this function always returns true.

Deprecated:
"OGDF always has ABACUS since 2015.05"

Definition at line 369 of file config.h.

◆ haveCoin()

static constexpr bool ogdf::Configuration::haveCoin ( )
inlinestaticconstexpr

Returns whether OGDF has been configured with COIN support.

COIN is used as LP solver by some OGDF algorithms. In former versions, OGDF could be configured without COIN support, so this functionality was not available. Now this function always returns true.

Deprecated:
"OGDF always has COIN-OR since 2015.05"

Definition at line 358 of file config.h.

◆ haveLPSolver()

static constexpr bool ogdf::Configuration::haveLPSolver ( )
inlinestaticconstexpr

Returns whether OGDF has been configured with LP-solver support.

Since COIN and ABACUS are required and shipped, this function always returns true.

Deprecated:
"OGDF always has LP solver support since 2015.05"

Definition at line 332 of file config.h.

◆ toString() [1/3]

static const string& ogdf::Configuration::toString ( LPSolver  lps)
static

Converts lps to a (readable) string.

◆ toString() [2/3]

static const string& ogdf::Configuration::toString ( MemoryManager  mm)
static

Converts mm to a (readable) string.

◆ toString() [3/3]

static const string& ogdf::Configuration::toString ( System  sys)
static

Converts sys to a (readable) string.

◆ whichLPSolver()

static constexpr LPSolver ogdf::Configuration::whichLPSolver ( )
inlinestaticconstexpr

Returns the LP-solver used by OGDF.

Definition at line 335 of file config.h.

◆ whichMemoryManager()

static constexpr MemoryManager ogdf::Configuration::whichMemoryManager ( )
inlinestaticconstexpr

Returns the memory manager used by OGDF.

The memory manager is configured using the build configuration. Depending on that, the following macros are set:

  • OGDF_MEMORY_POOL_TS: buffered-pool allocator per thread pool (thread-safe)
  • OGDF_MEMORY_POOL_NTS: pool allocator (not thread-safe)
  • OGDF_MEMORY_MALLOC_TS: just using malloc/free (thread-safe)

Definition at line 380 of file config.h.

◆ whichSystem()

static constexpr System ogdf::Configuration::whichSystem ( )
inlinestaticconstexpr

Returns the operating system for which OGDF has been configured.

Definition at line 313 of file config.h.


The documentation for this class was generated from the following file: