Open
Graph Drawing
Framework

 v. snapshot-2018-03-28
 

Useful Macros

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

Assertions (only active in debug builds)

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

Throwing exceptions

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

Deprecation

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

Optimization

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

Managing memory

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

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 152 of file config.h.

◆ OGDF_DEPRECATED

#define OGDF_DEPRECATED (   reason)

Mark a class / member / function as deprecated.

Definition at line 118 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 }

Definition at line 141 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_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 65 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 55 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 }

Definition at line 148 of file config.h.