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)
143#define BSLS_BSLONCE_INITIALIZER { { 0xdead } }
170 e_NOT_ENTERED = 0xdead,
319 bool success = once->
enter();
Definition bsls_bslonce.h:219
void leave()
Definition bsls_bslonce.h:331
~BslOnceGuard()
Definition bsls_bslonce.h:305
bool enter(BslOnce *once)
Definition bsls_bslonce.h:314
BslOnceGuard()
Create a guard to manage a block of code that is executed once.
Definition bsls_bslonce.h:299
#define BSLS_BSLONCE_ASSERT_SAFE(x)
Definition bsls_bslonce.h:126
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bdlt_iso8601util.h:691
static int getIntAcquire(AtomicTypes::Int const *atomicInt)
Definition bsls_atomicoperations.h:1528
static void setIntRelease(AtomicTypes::Int *atomicInt, int value)
Definition bsls_atomicoperations.h:1558
static int getIntRelaxed(AtomicTypes::Int const *atomicInt)
Definition bsls_atomicoperations.h:1534
Definition bsls_bslonce.h:150
bsls::AtomicOperations::AtomicTypes::Int d_onceState
Definition bsls_bslonce.h:154
bool enter()
Definition bsls_bslonce.h:274
void leave()
Definition bsls_bslonce.h:284