Twitch SDK (Internal)
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
ttv::EventSource< T > Class Template Reference

#include <eventsource.h>

Public Member Functions

void AddListener (const std::shared_ptr< T > &listener)
 
bool RemoveListener (const std::shared_ptr< T > &listener)
 
void ClearListeners ()
 
void Invoke (std::function< void(const std::shared_ptr< T > &)> callback)
 
void Invoke (std::function< void(const std::shared_ptr< T > &)> callback, const std::vector< std::shared_ptr< T >> &listeners)
 
bool Empty ()
 
void CaptureListeners (std::vector< std::shared_ptr< T >> &listeners)
 

Private Types

typedef std::weak_ptr< T > ListenerType
 
typedef std::vector< ListenerTypeListType
 
typedef ListType::iterator IterType
 

Private Member Functions

void Tidy ()
 
IterType FindListener (const std::shared_ptr< T > &listener)
 

Private Attributes

ListType mListeners
 

Member Typedef Documentation

◆ IterType

template<typename T>
typedef ListType::iterator ttv::EventSource< T >::IterType
private

◆ ListenerType

template<typename T>
typedef std::weak_ptr<T> ttv::EventSource< T >::ListenerType
private

◆ ListType

template<typename T>
typedef std::vector<ListenerType> ttv::EventSource< T >::ListType
private

Member Function Documentation

◆ AddListener()

template<typename T>
void ttv::EventSource< T >::AddListener ( const std::shared_ptr< T > &  listener)
inline

◆ CaptureListeners()

template<typename T>
void ttv::EventSource< T >::CaptureListeners ( std::vector< std::shared_ptr< T >> &  listeners)
inline

◆ ClearListeners()

template<typename T>
void ttv::EventSource< T >::ClearListeners ( )
inline

◆ Empty()

template<typename T>
bool ttv::EventSource< T >::Empty ( )
inline

◆ FindListener()

template<typename T>
IterType ttv::EventSource< T >::FindListener ( const std::shared_ptr< T > &  listener)
inlineprivate

◆ Invoke() [1/2]

template<typename T>
void ttv::EventSource< T >::Invoke ( std::function< void(const std::shared_ptr< T > &)>  callback)
inline

◆ Invoke() [2/2]

template<typename T>
void ttv::EventSource< T >::Invoke ( std::function< void(const std::shared_ptr< T > &)>  callback,
const std::vector< std::shared_ptr< T >> &  listeners 
)
inline

◆ RemoveListener()

template<typename T>
bool ttv::EventSource< T >::RemoveListener ( const std::shared_ptr< T > &  listener)
inline

◆ Tidy()

template<typename T>
void ttv::EventSource< T >::Tidy ( )
inlineprivate

Member Data Documentation

◆ mListeners

template<typename T>
ListType ttv::EventSource< T >::mListeners
private

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