8#ifndef INCLUDED_BSLS_PRECONDITIONS
9#define INCLUDED_BSLS_PRECONDITIONS
97#include <bsls_assert.h>
105#define BSLS_PRECONDITIONS_BEGIN_IMP() do { \
106 bsls::PreconditionsHandler::invokeBeginHandler(); \
109#define BSLS_PRECONDITIONS_END_IMP() do { \
110 bsls::PreconditionsHandler::invokeEndHandler(); \
113#if defined(BDE_ACTIVATE_FUZZ_TESTING) && \
114 defined(BSLS_CONSTEVAL_IS_CONSTANT_EVALUATED_IS_ACTIVE)
116 #define BSLS_PRECONDITIONS_BEGIN() do { \
117 if (!BSLS_CONSTEVAL_IS_CONSTANT_EVALUATED) { \
118 BSLS_PRECONDITIONS_BEGIN_IMP(); \
122 #define BSLS_PRECONDITIONS_END() do { \
123 if (!BSLS_CONSTEVAL_IS_CONSTANT_EVALUATED) { \
124 BSLS_PRECONDITIONS_END_IMP(); \
130#define BSLS_PRECONDITIONS_BEGIN() do {} while(false)
131#define BSLS_PRECONDITIONS_END() do {} while(false)
152 static AtomicOperations::AtomicTypes::Pointer
154 static AtomicOperations::AtomicTypes::Pointer
Definition bsls_preconditions.h:148
static void invokeEndHandler()
Invoke the previously installed s_endHandler function.
static void invokeBeginHandler()
Invoke the previously installed s_beginHandler function.
void(* PreconditionHandlerType)()
Definition bsls_preconditions.h:162
static void installHandlers(PreconditionHandlerType beginHandler, PreconditionHandlerType endHandler)
static void noOpHandler()
Do nothing.
static PreconditionHandlerType getBeginHandler()
Return the previously installed s_beginHandler.
static PreconditionHandlerType getEndHandler()
Return the previously installed s_endHandler.
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bdlt_iso8601util.h:691