SourcePro® C++ API Reference Guide

Product Documentation:
   SourcePro C++
Documentation Home
List of all members | Public Member Functions | Related Functions
RWAtomicFlag Class Reference

Atomically sets and clears a bit flag. More...

#include <rw/tools/atomicflag.h>

Public Member Functions

void clear (RWAtomicMemoryOrder order=rw_mem_order_seq_cst)
 
void clear (RWAtomicMemoryOrder order=rw_mem_order_seq_cst) volatile
 
bool testAndSet (RWAtomicMemoryOrder order=rw_mem_order_seq_cst)
 
bool testAndSet (RWAtomicMemoryOrder order=rw_mem_order_seq_cst) volatile
 

Related Functions

(Note that these are not member functions.)

#define RW_ATOMIC_FLAG_INIT
 

Detailed Description

RWAtomicFlag manages a bit flag (set or cleared) allowing for atomic manipulation of the bit, including providing test-and-set functionality.

Example
while (!flag.testAndSet()) { ... }
...
flag.clear();

Note
While copy construction and assignment are not prohibited, these operations are not performed in an atomic manner, and may result in undefined behavior. These operations may be prohibited in a future release and should be avoided.

Member Function Documentation

void RWAtomicFlag::clear ( RWAtomicMemoryOrder  order = rw_mem_order_seq_cst)
inline

Unsets the flag.

Note
order values of rw_mem_order_consume, rw_mem_order_acquire and rw_mem_order_acq_rel are not supported and will result in undefined behavior.
void RWAtomicFlag::clear ( RWAtomicMemoryOrder  order = rw_mem_order_seq_cst) volatile
inline

Unsets the flag.

Note
order values of rw_mem_order_consume, rw_mem_order_acquire and rw_mem_order_acq_rel are not supported and will result in undefined behavior.
bool RWAtomicFlag::testAndSet ( RWAtomicMemoryOrder  order = rw_mem_order_seq_cst)
inline

Sets the flag and returns true if the flag was previously set, false otherwise.

bool RWAtomicFlag::testAndSet ( RWAtomicMemoryOrder  order = rw_mem_order_seq_cst) volatile
inline

Sets the flag and returns true if the flag was previously set, false otherwise.

Friends And Related Function Documentation

#define RW_ATOMIC_FLAG_INIT
related

Initializes an RWAtomicFlag to a cleared state.

Copyright © 2016 Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.