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 | ( | P | ) | 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.
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 | ( | 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.
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.