Generated on Thu Mar 22 10:39:48 2012 for Gecode by doxygen 1.6.3

macros.hpp File Reference

(Revision: 8082)

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_ASSUME(p)   assert((p));
 Assert certain property.

Define Documentation

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

Concatenate R and LINE.

Definition at line 39 of file macros.hpp.

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

Concatenate macro-expanded R and LINE.

Definition at line 41 of file macros.hpp.

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

Generate fresh name with prefix P.

Definition at line 43 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 60 of file macros.hpp.

#define GECODE_NOT_NULL (  )     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 79 of file macros.hpp.

#define GECODE_ASSUME (  )     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 99 of file macros.hpp.