Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
Useful Macros

Several useful macros defined by the OGDF. More...

Macros

#define OGDF_SIZEOF_POINTER   8
 The size of a pointer.
 

Assertions (only active in debug builds)

#define OGDF_ASSERT(expr)
 Assert condition expr. See doc/build.md for more information.
 
#define OGDF_HEAVY_ASSERT(expr)
 Assert condition expr when using heavy debugging. See OGDF_ASSERT.
 

Throwing exceptions

#define OGDF_THROW_PARAM(CLASS, PARAM)   OGDF_FLUSH_OUTPUTS, throw CLASS(PARAM)
 Replacement for throw.
 
#define OGDF_THROW(CLASS)   OGDF_FLUSH_OUTPUTS, throw CLASS()
 Replacement for throw.
 

Deprecation

#define OGDF_DEPRECATED(reason)
 Mark a class / member / function as deprecated.
 

Optimization

#define OGDF_LIKELY(x)   (x)
 Specify the likely branch in a condition.
 
#define OGDF_UNLIKELY(x)   (x)
 Specify the unlikely branch in a condition.
 
#define OGDF_DECL_ALIGN(b)
 Specify the minimum alignment (in bytes) of a type to be b. This is used in type declarations.
 

Managing memory

#define OGDF_NEW_DELETE   OGDF_MM(OGDF_ALLOCATOR)
 Makes the class use OGDF's memory allocator.
 
#define OGDF_MALLOC_NEW_DELETE   OGDF_MM(ogdf::MallocMemoryAllocator)
 Makes the class use malloc for memory allocation.
 

Detailed Description

Several useful macros defined by the OGDF.

Macro Definition Documentation

◆ OGDF_ASSERT

#define OGDF_ASSERT (   expr)

Assert condition expr. See doc/build.md for more information.

Definition at line 41 of file basic.h.

◆ OGDF_DECL_ALIGN

#define OGDF_DECL_ALIGN (   b)

Specify the minimum alignment (in bytes) of a type to be b. This is used in type declarations.

Definition at line 154 of file config.h.

◆ OGDF_DEPRECATED

#define OGDF_DEPRECATED (   reason)

Mark a class / member / function as deprecated.

Definition at line 120 of file config.h.

◆ OGDF_HEAVY_ASSERT

#define OGDF_HEAVY_ASSERT (   expr)

Assert condition expr when using heavy debugging. See OGDF_ASSERT.

Definition at line 44 of file basic.h.

◆ OGDF_LIKELY

#define OGDF_LIKELY (   x)    (x)

Specify the likely branch in a condition.

Usage:

if (OGDF_LIKELY(i >= 0)) { likely branch } else { unlikely branch }
#define OGDF_LIKELY(x)
Specify the likely branch in a condition.
Definition config.h:143
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()

Definition at line 143 of file config.h.

◆ OGDF_MALLOC_NEW_DELETE

#define OGDF_MALLOC_NEW_DELETE   OGDF_MM(ogdf::MallocMemoryAllocator)

Makes the class use malloc for memory allocation.

Creates new and delete operators in a class using the given memory allocator.

In other words, adding this macro in a class declaration makes that class managed by the respective memory manager. Throws an ogdf::InsufficientMemoryException if no more memory is available.

Definition at line 91 of file memory.h.

◆ OGDF_NEW_DELETE

#define OGDF_NEW_DELETE   OGDF_MM(OGDF_ALLOCATOR)

Makes the class use OGDF's memory allocator.

Creates new and delete operators in a class using the given memory allocator.

In other words, adding this macro in a class declaration makes that class managed by the respective memory manager. Throws an ogdf::InsufficientMemoryException if no more memory is available.

Definition at line 84 of file memory.h.

◆ OGDF_SIZEOF_POINTER

#define OGDF_SIZEOF_POINTER   8

The size of a pointer.

Definition at line 25 of file config_autogen.h.

◆ OGDF_THROW

#define OGDF_THROW (   CLASS)    OGDF_FLUSH_OUTPUTS, throw CLASS()

Replacement for throw.

This macro is used to throw an exception and pass the file name and line number of the location in the source file (in Debug mode only).

Parameters
CLASSis the name of the exception class.

Definition at line 63 of file exceptions.h.

◆ OGDF_THROW_PARAM

#define OGDF_THROW_PARAM (   CLASS,
  PARAM 
)    OGDF_FLUSH_OUTPUTS, throw CLASS(PARAM)

Replacement for throw.

This macro is used to throw an exception and pass the file name and line number of the location in the source file (in Debug mode only).

Parameters
CLASSis the name of the exception class.
PARAMis an additional parameter (like the error code) required by the exception calls.

Definition at line 54 of file exceptions.h.

◆ OGDF_UNLIKELY

#define OGDF_UNLIKELY (   x)    (x)

Specify the unlikely branch in a condition.

Usage:

if (OGDF_UNLIKELY(set.empty())) { unlikely branch } else { likely branch }
#define OGDF_UNLIKELY(x)
Specify the unlikely branch in a condition.
Definition config.h:150

Definition at line 150 of file config.h.