|breeze||The library's top-level namespace.|
Displays an expression and its value to
A simple macro for quickly dumping a variable or, generally, an expression to
It was born as "DUMP_VARIABLE" but then I immediately found a usage where I wanted to display something like
It's intended that you use this just for quick and dirty checks, and that you remove it after that.
The expression is shown in the form
Asserts that a condition is true.
BREEZE_ASSERT() is a simple runtime assertion facility. Differently from the standard
In this context, "triggering an assertion" means calling the current assert handler (see
It has become common practice to define the macro
We believe, though, that assertions must be left on in the release builds. So we wanted an assert macro decoupled from
About the possibility to throw an exception instead of terminating the program: while critical software will certainly need to terminate immediately in case of a programming error, there are applications which can continue: consider e.g. an editor, which could give the user a chance to save their work before aborting.
Concatenates two preprocessing tokens.
Concatenates the two preprocessing tokens which end the argument
Though both the C and the C++ standard use the term "concatenate", and not "paste", with reference to what
Concatenates two preprocessing tokens after macro expansion.
Applies BREEZE_PASTE() to the result of performing macro expansion on the arguments
See BREEZE_PASTE() for the naming rationale.
Prevents the expansion of a function-like macro.
The only purpose of this macro is to prevent the expansion of the preceding identifier, in case it is defined as a function-like macro. Any macro would do (in fact, anything which isn't an open paren), but this has a self-documenting name.
Typically used for the identifiers
Note that you can prevent macro substitution by enclosing the offending name in parentheses, but that also inhibits ADL, whereas this macro has absolutely no effect in that regard.
Stringizes a sequence of preprocessing tokens.
Expands to a string literal obtained with
Stringizes a sequence of preprocessing tokens after macro expansion.
Stringizes (with BREEZE_STRINGIZE()) the result of performing macro expansion on the argument