|breeze||The library's top-level namespace.|
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
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
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 the two preprocessing tokens which end the argument
Also, the names "TOKEN_PASTE" and "PASTE_TOKENS" were rejected as, respectively, not verb-based and using plural (which would have been inconsistent in our library).
Applies BREEZE_PASTE() to the result of performing macro replacement on the arguments
See BREEZE_PASTE() for the naming rationale.
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.
Expands to a string literal obtained with