8#ifndef INCLUDED_BSLS_BSLONCE
9#define INCLUDED_BSLS_BSLONCE
114#include <bsls_atomicoperations.h>
116#ifdef BDE_BUILD_TARGET_SAFE
122#define BSLS_BSLONCE_ASSERT_SAFE(x) assert((x))
126#define BSLS_BSLONCE_ASSERT_SAFE(x)
144#define BSLS_BSLONCE_INITIALIZER { { 0xdead } }
171 e_NOT_ENTERED = 0xdead,
329 bool success = once->
enter();
Definition bsls_bslonce.h:225
void leave()
Definition bsls_bslonce.h:341
~BslOnceGuard()
Definition bsls_bslonce.h:315
bool enter(BslOnce *once)
Definition bsls_bslonce.h:324
BslOnceGuard()
Create a guard to manage a block of code that is executed once.
Definition bsls_bslonce.h:309
#define BSLS_BSLONCE_ASSERT_SAFE(x)
Definition bsls_bslonce.h:126
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdlt_iso8601util.h:707
static int getIntAcquire(AtomicTypes::Int const *atomicInt)
Definition bsls_atomicoperations.h:1530
static void setIntRelease(AtomicTypes::Int *atomicInt, int value)
Definition bsls_atomicoperations.h:1560
static int getIntRelaxed(AtomicTypes::Int const *atomicInt)
Definition bsls_atomicoperations.h:1536
Definition bsls_bslonce.h:151
bsls::AtomicOperations::AtomicTypes::Int d_onceState
Definition bsls_bslonce.h:155
bool enter()
Definition bsls_bslonce.h:284
void leave()
Definition bsls_bslonce.h:294