Attempt to enter the one-time block managed by once.
Enter the one-time block of code that is managed by the specified once. Return true if the one-time block of code has been entered, and false if the one-time block of code has already been executed. If this function returns false then the thread of execution in which enter returned true has already called leave -- i.e., the one-time block of code is guaranteed to have completed execution. The behavior is undefined unless once was originally initialized to BSLS_BSLONCE_INITIALIZER. Note that a successful enter locks a spin-lock; it is imperative that leave be called quickly.
true if this call entered the block, else false
| Name | Description |
|---|---|
| once | once-control object managing the one-time block |