Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::CancellationToken::ConditionVariableRegistration Class Reference

RAII guard for condition variable cancellation registration. More...

#include <thread_pool.H>

Collaboration diagram for Aleph::CancellationToken::ConditionVariableRegistration:
[legend]

Public Member Functions

 ConditionVariableRegistration ()=default
 Default constructor.
 
 ConditionVariableRegistration (std::shared_ptr< CancellationState > state, std::condition_variable *cv) noexcept
 Construct with shared state and condition variable.
 
 ConditionVariableRegistration (const ConditionVariableRegistration &)=delete
 Deleted copy constructor.
 
ConditionVariableRegistrationoperator= (const ConditionVariableRegistration &)=delete
 Deleted copy assignment operator.
 
 ConditionVariableRegistration (ConditionVariableRegistration &&other) noexcept
 
ConditionVariableRegistrationoperator= (ConditionVariableRegistration &&other) noexcept
 
 ~ConditionVariableRegistration ()
 

Private Member Functions

void unregister () noexcept
 

Private Attributes

std::shared_ptr< CancellationStatestate_
 
std::condition_variable * cv_ = nullptr
 

Detailed Description

RAII guard for condition variable cancellation registration.

Definition at line 210 of file thread_pool.H.

Constructor & Destructor Documentation

◆ ConditionVariableRegistration() [1/4]

Aleph::CancellationToken::ConditionVariableRegistration::ConditionVariableRegistration ( )
default

Default constructor.

◆ ConditionVariableRegistration() [2/4]

Aleph::CancellationToken::ConditionVariableRegistration::ConditionVariableRegistration ( std::shared_ptr< CancellationState state,
std::condition_variable *  cv 
)
inlinenoexcept

Construct with shared state and condition variable.

Parameters
stateShared cancellation state.
cvCondition variable to register.

Definition at line 230 of file thread_pool.H.

◆ ConditionVariableRegistration() [3/4]

Aleph::CancellationToken::ConditionVariableRegistration::ConditionVariableRegistration ( const ConditionVariableRegistration )
delete

Deleted copy constructor.

◆ ConditionVariableRegistration() [4/4]

Aleph::CancellationToken::ConditionVariableRegistration::ConditionVariableRegistration ( ConditionVariableRegistration &&  other)
inlinenoexcept

Definition at line 240 of file thread_pool.H.

References Aleph::divide_and_conquer_partition_dp().

◆ ~ConditionVariableRegistration()

Aleph::CancellationToken::ConditionVariableRegistration::~ConditionVariableRegistration ( )
inline

Definition at line 258 of file thread_pool.H.

References unregister().

Member Function Documentation

◆ operator=() [1/2]

ConditionVariableRegistration & Aleph::CancellationToken::ConditionVariableRegistration::operator= ( ConditionVariableRegistration &&  other)
inlinenoexcept

Definition at line 246 of file thread_pool.H.

References cv_, Aleph::divide_and_conquer_partition_dp(), state_, and unregister().

◆ operator=() [2/2]

ConditionVariableRegistration & Aleph::CancellationToken::ConditionVariableRegistration::operator= ( const ConditionVariableRegistration )
delete

Deleted copy assignment operator.

◆ unregister()

void Aleph::CancellationToken::ConditionVariableRegistration::unregister ( )
inlineprivatenoexcept

Definition at line 215 of file thread_pool.H.

References Aleph::and, cv_, and state_.

Referenced by ~ConditionVariableRegistration(), and operator=().

Member Data Documentation

◆ cv_

std::condition_variable* Aleph::CancellationToken::ConditionVariableRegistration::cv_ = nullptr
private

Definition at line 213 of file thread_pool.H.

Referenced by operator=(), and unregister().

◆ state_

std::shared_ptr<CancellationState> Aleph::CancellationToken::ConditionVariableRegistration::state_
private

Definition at line 212 of file thread_pool.H.

Referenced by operator=(), and unregister().


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