unilink  0.4.3
A simple C++ library for unified async communication
unilink::concurrency::ThreadSafeFlag Class Reference

Thread-safe flag with atomic operations. More...

#include <thread_safe_state.hpp>

Public Member Functions

 ThreadSafeFlag (bool initial_value=false)
 
bool get () const noexcept
 
void set (bool value=true) noexcept
 
void clear () noexcept
 
bool test_and_set () noexcept
 
bool compare_and_set (bool expected, bool desired) noexcept
 
void wait_for_true (std::chrono::milliseconds timeout=std::chrono::milliseconds(1000)) const
 
void wait_for_false (std::chrono::milliseconds timeout=std::chrono::milliseconds(1000)) const
 

Detailed Description

Thread-safe flag with atomic operations.

Definition at line 145 of file thread_safe_state.hpp.

Constructor & Destructor Documentation

◆ ThreadSafeFlag()

unilink::concurrency::ThreadSafeFlag::ThreadSafeFlag ( bool  initial_value = false)
inlineexplicit

Definition at line 345 of file thread_safe_state.hpp.

Member Function Documentation

◆ clear()

void unilink::concurrency::ThreadSafeFlag::clear ( )
inlinenoexcept

Definition at line 356 of file thread_safe_state.hpp.

◆ compare_and_set()

bool unilink::concurrency::ThreadSafeFlag::compare_and_set ( bool  expected,
bool  desired 
)
inlinenoexcept

Definition at line 360 of file thread_safe_state.hpp.

◆ get()

bool unilink::concurrency::ThreadSafeFlag::get ( ) const
inlinenoexcept

Definition at line 347 of file thread_safe_state.hpp.

◆ set()

void unilink::concurrency::ThreadSafeFlag::set ( bool  value = true)
inlinenoexcept

Definition at line 349 of file thread_safe_state.hpp.

◆ test_and_set()

bool unilink::concurrency::ThreadSafeFlag::test_and_set ( )
inlinenoexcept

Definition at line 358 of file thread_safe_state.hpp.

◆ wait_for_false()

void unilink::concurrency::ThreadSafeFlag::wait_for_false ( std::chrono::milliseconds  timeout = std::chrono::milliseconds(1000)) const
inline

Definition at line 369 of file thread_safe_state.hpp.

◆ wait_for_true()

void unilink::concurrency::ThreadSafeFlag::wait_for_true ( std::chrono::milliseconds  timeout = std::chrono::milliseconds(1000)) const
inline

Definition at line 364 of file thread_safe_state.hpp.


The documentation for this class was generated from the following file: