tin  1.5.9
tsm::signal< T, MaxWaiters > Class Template Reference

#include <sync.h>

Collaboration diagram for tsm::signal< T, MaxWaiters >:
Collaboration graph

Classes

class  wait_awaitable
 

Public Member Functions

void publish (T const &value)
 
void publish (T &&value)
 
void publish_from_isr (T const &value)
 
void publish_from_isr (T &&value)
 
bool ready () const noexcept
 
T const & value () const noexcept
 
wait_awaitable wait () noexcept
 

Detailed Description

template<typename T, std::size_t MaxWaiters = 4U>
class tsm::signal< T, MaxWaiters >

Cooperative latest-value signal.

Publishing stores the latest value and wakes all waiting tasks. Consumers receive a copy of that value when they resume.

Member Function Documentation

◆ publish() [1/2]

template<typename T , std::size_t MaxWaiters = 4U>
void tsm::signal< T, MaxWaiters >::publish ( T &&  value)
inline

◆ publish() [2/2]

template<typename T , std::size_t MaxWaiters = 4U>
void tsm::signal< T, MaxWaiters >::publish ( T const &  value)
inline

◆ publish_from_isr() [1/2]

template<typename T , std::size_t MaxWaiters = 4U>
void tsm::signal< T, MaxWaiters >::publish_from_isr ( T &&  value)
inline

◆ publish_from_isr() [2/2]

template<typename T , std::size_t MaxWaiters = 4U>
void tsm::signal< T, MaxWaiters >::publish_from_isr ( T const &  value)
inline

◆ ready()

template<typename T , std::size_t MaxWaiters = 4U>
bool tsm::signal< T, MaxWaiters >::ready ( ) const
inlinenoexcept

◆ value()

template<typename T , std::size_t MaxWaiters = 4U>
T const& tsm::signal< T, MaxWaiters >::value ( ) const
inlinenoexcept

◆ wait()

template<typename T , std::size_t MaxWaiters = 4U>
wait_awaitable tsm::signal< T, MaxWaiters >::wait ( )
inlinenoexcept

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