Lockless Task Scheduler  v1.0a
A lockless task scheduler
Typedefs | Functions
task_scheduler::atomics Namespace Reference

The atomics namespace. More...

Typedefs

typedef int64_t type
 

Functions

int64_t increment (volatile int64_t &_data)
 Increments the specified data. More...
 
int64_t decrement (volatile int64_t &_data)
 Decrements the specified data. More...
 
int32_t increment (volatile int32_t &_data)
 Increments the specified data. More...
 
int32_t decrement (volatile int32_t &_data)
 Decrements the specified data. More...
 
int32_t compare_exchange_weak (volatile int32_t &_data, int32_t _comperand, int32_t _value)
 Compares the exchange weak. More...
 
int64_t compare_exchange_weak (volatile int64_t &_data, int64_t _comperand, int64_t _value)
 Compares the exchange weak. More...
 
template<class T >
T * compare_exchange_weak (T *volatile &_data, T *_comperand, T *_value)
 Compares the exchange weak. More...
 
bool compare_exchange_weak_128 (volatile int64_t _data[], int64_t _comperand[], int64_t _value_hi, int64_t _value_lo)
 Compares the exchange weak 128. More...
 

Detailed Description

The atomics namespace.

Function Documentation

◆ compare_exchange_weak() [1/3]

int32_t task_scheduler::atomics::compare_exchange_weak ( volatile int32_t &  _data,
int32_t  _comperand,
int32_t  _value 
)
inline

Compares the exchange weak.

Parameters
_dataThe data.
_comperandThe comperand.
_valueThe value.
Returns
int32_t.

◆ compare_exchange_weak() [2/3]

int64_t task_scheduler::atomics::compare_exchange_weak ( volatile int64_t &  _data,
int64_t  _comperand,
int64_t  _value 
)
inline

Compares the exchange weak.

Parameters
_dataThe data.
_comperandThe comperand.
_valueThe value.
Returns
int64_t.

◆ compare_exchange_weak() [3/3]

template<class T >
T* task_scheduler::atomics::compare_exchange_weak ( T *volatile &  _data,
T *  _comperand,
T *  _value 
)
inline

Compares the exchange weak.

Parameters
_dataThe data.
_comperandThe comperand.
_valueThe value.
Returns
T *.

◆ compare_exchange_weak_128()

bool task_scheduler::atomics::compare_exchange_weak_128 ( volatile int64_t  _data[],
int64_t  _comperand[],
int64_t  _value_hi,
int64_t  _value_lo 
)
inline

Compares the exchange weak 128.

Parameters
_dataThe data.
_comperandThe comperand.
_value_hiThe value hi.
_value_loThe value lo.
Returns
bool.

◆ decrement() [1/2]

int64_t task_scheduler::atomics::decrement ( volatile int64_t &  _data)
inline

Decrements the specified data.

Parameters
_dataThe data.
Returns
int64_t.

◆ decrement() [2/2]

int32_t task_scheduler::atomics::decrement ( volatile int32_t &  _data)
inline

Decrements the specified data.

Parameters
_dataThe data.
Returns
int32_t.

◆ increment() [1/2]

int64_t task_scheduler::atomics::increment ( volatile int64_t &  _data)
inline

Increments the specified data.

Parameters
_dataThe data.
Returns
int64_t.

◆ increment() [2/2]

int32_t task_scheduler::atomics::increment ( volatile int32_t &  _data)
inline

Increments the specified data.

Parameters
_dataThe data.
Returns
int32_t.