Generated on Fri Apr 12 2024 05:21:08 for Gecode by doxygen 1.9.8
macros.hpp File Reference

Go to the source code of this file.

Macros

#define GECODE_CAT2(R, LINE)   R ## LINE
 Concatenate R and LINE.
 
#define GECODE_CAT(R, LINE)   GECODE_CAT2(R,LINE)
 Concatenate macro-expanded R and LINE.
 
#define GECODE_FRESH(P)   GECODE_CAT(_GECODE_ ## P, __LINE__)
 Generate fresh name with prefix P.
 
#define GECODE_NEVER   assert(false);
 Assert that this command is never executed.
 
#define GECODE_NOT_NULL(p)   assert(p != NULL);
 Assert that a pointer is never NULL.
 
#define GECODE_VALID_FUNCTION(f)   assert(static_cast<bool>(f));
 Assert that a function is valid.
 
#define GECODE_ASSUME(p)   assert((p));
 Assert certain property.
 

Macro Definition Documentation

◆ GECODE_CAT2

#define GECODE_CAT2 (   R,
  LINE 
)    R ## LINE

Concatenate R and LINE.

Definition at line 35 of file macros.hpp.

◆ GECODE_CAT

#define GECODE_CAT (   R,
  LINE 
)    GECODE_CAT2(R,LINE)

Concatenate macro-expanded R and LINE.

Definition at line 37 of file macros.hpp.

◆ GECODE_FRESH

#define GECODE_FRESH (   P)    GECODE_CAT(_GECODE_ ## P, __LINE__)

Generate fresh name with prefix P.

Definition at line 39 of file macros.hpp.

◆ GECODE_NEVER

#define GECODE_NEVER   assert(false);

Assert that this command is never executed.

This is preferred over assert(false) as it is used for optimization, if supported by a compiler (for example, Microsoft Visual C++).

Definition at line 56 of file macros.hpp.

◆ GECODE_NOT_NULL

#define GECODE_NOT_NULL (   p)    assert(p != NULL);

Assert that a pointer is never NULL.

This is preferred over assert as it is used for optimization, if supported by a compiler (for example, Microsoft Visual C++).

Definition at line 75 of file macros.hpp.

◆ GECODE_VALID_FUNCTION

#define GECODE_VALID_FUNCTION (   f)    assert(static_cast<bool>(f));

Assert that a function is valid.

This is preferred over assert as it is used for optimization, if supported by a compiler (for example, Microsoft Visual C++).

Definition at line 94 of file macros.hpp.

◆ GECODE_ASSUME

#define GECODE_ASSUME (   p)    assert((p));

Assert certain property.

This might be used for optimization as well (for example, Microsoft Visual C++), otherwise it behaves like any assert.

Definition at line 114 of file macros.hpp.