#include <utility>
Go to the source code of this file.
◆ defer
Value:
QUICR_DEFER_PUSH n; \
QUICR_DEFER_POP \
})
Non-copyable RAII guard that invokes a callable at scope exit.
Definition: defer.h:49
#define QUICR_DEFER_CONCAT(a, b)
Expands and concatenates two preprocessing tokens.
Definition: defer.h:9
Runs statements when the current scope exits.
- Parameters
-
| n | Statements captured by reference and executed exactly once by a generated scope guard. |
- Warning
- Every referenced object must outlive the generated guard. An exception escaping
n during stack unwinding terminates the process because the guard destructor is noexcept.
◆ QUICR_DEFER_CONCAT
Expands and concatenates two preprocessing tokens.
◆ QUICR_DEFER_CONCAT_INNER
| #define QUICR_DEFER_CONCAT_INNER |
( |
|
a, |
|
|
|
b |
|
) |
| a##b |
Concatenates two preprocessing tokens after outer expansion.
◆ QUICR_DEFER_POP
No-op on compilers that do not require deferred-action diagnostic suppression.
◆ QUICR_DEFER_PUSH
No-op on compilers that do not require deferred-action diagnostic suppression.