ecor
Loading...
Searching...
No Matches
ecor::trnx_entry< T > Struct Template Reference

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

data
 

Detailed Description

template<typename T>
struct ecor::trnx_entry< T >

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.

Constructor & Destructor Documentation

◆ trnx_entry()

template<typename T >
template<typename Derived >
ecor::trnx_entry< T >::trnx_entry ( _tag< Derived >  ,
data 
)
inline

Construct a transaction entry with the given data.

The _tag parameter is used to setup vtable correctly.


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