GCC Middle and Back End API Reference
pub_sub::channel< Subscriber > Class Template Reference

#include <pub-sub.h>

Inheritance diagram for pub_sub::channel< Subscriber >:

Public Types

using subscriber = Subscriber
using subscription = typename std::list<subscriber *>::iterator

Public Member Functions

const channelget_if_active () const
template<typename Message>
void publish (const Message &m) const
subscription add_subscriber (subscriber &s)
void unsubscribe (subscription s)

Private Attributes

std::list< subscriber * > m_subscribers

Member Typedef Documentation

◆ subscriber

template<typename Subscriber>
using pub_sub::channel< Subscriber >::subscriber = Subscriber

◆ subscription

template<typename Subscriber>
using pub_sub::channel< Subscriber >::subscription = typename std::list<subscriber *>::iterator

Member Function Documentation

◆ add_subscriber()

template<typename Subscriber>
subscription pub_sub::channel< Subscriber >::add_subscriber ( subscriber & s)
inline

References m_subscribers.

◆ get_if_active()

template<typename Subscriber>
const channel * pub_sub::channel< Subscriber >::get_if_active ( ) const
inline

References m_subscribers.

◆ publish()

template<typename Subscriber>
template<typename Message>
void pub_sub::channel< Subscriber >::publish ( const Message & m) const
inline

References m_subscribers.

◆ unsubscribe()

template<typename Subscriber>
void pub_sub::channel< Subscriber >::unsubscribe ( subscription s)
inline

References m_subscribers.

Field Documentation

◆ m_subscribers

template<typename Subscriber>
std::list<subscriber *> pub_sub::channel< Subscriber >::m_subscribers
private

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