|
ecor
|
Type-erased linked-list node for a pending transaction. More...
#include <ecor.hpp>
Public Types | |
| using | base = _trnx_vtable_mixin_t< T > |
Public Member Functions | |
| bool | get_stopped () const noexcept |
| template<typename E > | |
| void | set_error (E &&e) |
| void | set_stopped () |
| template<typename... Args> | |
| void | set_value (Args &&... args) |
| template<typename Derived > | |
| trnx_entry (_tag< Derived >, T data) | |
| Construct a transaction entry with the given data. More... | |
Public Attributes | |
| T | data |
Type-erased linked-list node for a pending transaction.
Holds user data of type T and a vtable for dispatching completion signals (set_value, set_error, set_stopped) to the concrete receiver without knowing its type. Automatically unlinks from its list on destruction.
T: User-defined transaction data type. Must provide completion signatures via get_completion_signatures CPO.
|
inline |
Construct a transaction entry with the given data.
The _tag parameter is used to setup vtable correctly.