Generated on Thu Apr 11 13:59:30 2019 for Gecode by doxygen 1.6.3

macros.hpp File Reference

Go to the source code of this file.

Defines

#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.

Define Documentation

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

Concatenate R and LINE.

Definition at line 35 of file macros.hpp.

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

Concatenate macro-expanded R and LINE.

Definition at line 37 of file macros.hpp.

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

Generate fresh name with prefix P.

Definition at line 39 of file macros.hpp.

#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.

#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.

#define GECODE_VALID_FUNCTION (  )     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.

#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.