Horizon Official Technical Documentation
ObservableStatus< OBSERVABLE, HAS_OBSERVERS > Class Template Reference

#include <ObservableStatus.hpp>

Public Member Functions

 ObservableStatus (HAS_OBSERVERS ... args)
 
 ~ObservableStatus ()
 
template<std::size_t I = 0, typename... Tp>
std::enable_if< I==sizeof...(Tp), void >::type notify (std::tuple< Tp... > &)
 
template<std::size_t I = 0, typename... Tp>
 std::enable_if (_observers) -> on_observable_changed(_observable)
 
 notify (t)
 
void notify_observers ()
 
void register_observable (OBSERVABLE obs)
 
void register_observers (HAS_OBSERVERS... obs)
 

Public Attributes

OBSERVABLE _observable
 
std::tuple< HAS_OBSERVERS... > _observers
 

Constructor & Destructor Documentation

◆ ObservableStatus()

template<typename OBSERVABLE , typename ... HAS_OBSERVERS>
ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::ObservableStatus ( HAS_OBSERVERS ...  args)
inlineexplicit
40 : _observers(args...)
41 {
42 }
std::tuple< HAS_OBSERVERS... > _observers
Definition: ObservableStatus.hpp:65

◆ ~ObservableStatus()

template<typename OBSERVABLE , typename ... HAS_OBSERVERS>
ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::~ObservableStatus ( )
inline
43{ }

Member Function Documentation

◆ notify() [1/2]

template<typename OBSERVABLE , typename ... HAS_OBSERVERS>
template<std::size_t I = 0, typename... Tp>
std::enable_if< I==sizeof...(Tp), void >::type ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::notify ( std::tuple< Tp... > &  )
inline
48 { }

Referenced by ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::notify_observers().

+ Here is the caller graph for this function:

◆ notify() [2/2]

template<typename OBSERVABLE , typename ... HAS_OBSERVERS>
ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::notify ( )

◆ notify_observers()

template<typename OBSERVABLE , typename ... HAS_OBSERVERS>
void ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::notify_observers ( )
inline
59{ notify<0, HAS_OBSERVERS...>(_observers); }
std::enable_if< I==sizeof...(Tp), void >::type notify(std::tuple< Tp... > &)
Definition: ObservableStatus.hpp:47

References ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::_observers, and ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::notify().

Referenced by BOOST_AUTO_TEST_CASE().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ register_observable()

template<typename OBSERVABLE , typename ... HAS_OBSERVERS>
void ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::register_observable ( OBSERVABLE  obs)
inline
61{ _observable = obs; }
OBSERVABLE _observable
Definition: ObservableStatus.hpp:64

References ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::_observable.

Referenced by BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

◆ register_observers()

template<typename OBSERVABLE , typename ... HAS_OBSERVERS>
void ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::register_observers ( HAS_OBSERVERS...  obs)
inline
62{ _observers = std::make_tuple(obs...); }

References ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::_observers.

Referenced by BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

◆ std::enable_if()

template<typename OBSERVABLE , typename ... HAS_OBSERVERS>
template<std::size_t I = 0, typename... Tp>
ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::std::enable_if ( _observers  ) -> on_observable_changed(_observable)
inline

Member Data Documentation

◆ _observable

template<typename OBSERVABLE , typename ... HAS_OBSERVERS>
OBSERVABLE ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::_observable

◆ _observers

template<typename OBSERVABLE , typename ... HAS_OBSERVERS>
std::tuple<HAS_OBSERVERS...> ObservableStatus< OBSERVABLE, HAS_OBSERVERS >::_observers

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