BloombergLP::bsls::BslOnce

Gate-keeper that ensures a block of code is executed only once.

Synopsis

Declared in <bsls_bslonce.h>

struct BslOnce;

Description

This struct provides a simple data type for ensuring a block of code is executed (only) once. Note that this is defined as a struct to allow constant initialization in a global or static context using BSLS_BSLONCE_INITIALIZER.

Member Functions

NameDescription
enter Enter the one-time block of code.
leave Exit the one-time block of code. The behavior is undefined unless the caller had previously called enter, and enter had returned true.

Data Members

NameDescription
d_onceState State of the one-time block of code managed by this object.