YAPOG  0.0.1
Yet Another Pokemon Online Game
yap::Event< SenderType, ArgsType, ReturnType > Class Template Reference

#include <Event.hpp>

Inheritance diagram for yap::Event< SenderType, ArgsType, ReturnType >:
Collaboration diagram for yap::Event< SenderType, ArgsType, ReturnType >:

List of all members.

Public Member Functions

 Event ()
 ~Event ()
Eventoperator+= (HandlerType handler)
void AddHandler (const String &name, HandlerType handler)
void RemoveHandler (const String &name)
ReturnType operator() (SenderType sender, ArgsType args)

Private Types

typedef
boost::signals2::signal
< ReturnType(SenderType,
ArgsType)> 
SignalType
typedef SignalType::slot_type HandlerType
typedef
boost::signals2::scoped_connection 
ConnectionType

Private Member Functions

 DISALLOW_COPY (Event)

Private Attributes

SignalType sig_
collection::Map< String,
std::shared_ptr
< ConnectionType > > 
handlers_

Detailed Description

template<typename SenderType, typename ArgsType = const EmptyEventArgs&, typename ReturnType = void>
class yap::Event< SenderType, ArgsType, ReturnType >

Definition at line 36 of file Event.hpp.


Member Typedef Documentation

template<typename SenderType, typename ArgsType = const EmptyEventArgs&, typename ReturnType = void>
typedef boost::signals2::scoped_connection yap::Event< SenderType, ArgsType, ReturnType >::ConnectionType
private

Definition at line 58 of file Event.hpp.

template<typename SenderType, typename ArgsType = const EmptyEventArgs&, typename ReturnType = void>
typedef SignalType::slot_type yap::Event< SenderType, ArgsType, ReturnType >::HandlerType
private

Definition at line 42 of file Event.hpp.

template<typename SenderType, typename ArgsType = const EmptyEventArgs&, typename ReturnType = void>
typedef boost::signals2::signal< ReturnType (SenderType, ArgsType)> yap::Event< SenderType, ArgsType, ReturnType >::SignalType
private

Definition at line 41 of file Event.hpp.


Constructor & Destructor Documentation

template<typename SenderType , typename ArgsType , typename ReturnType >
yap::Event< SenderType, ArgsType, ReturnType >::Event ( )
inline

Definition at line 9 of file Event.hxx.

template<typename SenderType , typename ArgsType , typename ReturnType >
yap::Event< SenderType, ArgsType, ReturnType >::~Event ( )
inline

Definition at line 18 of file Event.hxx.


Member Function Documentation

template<typename SenderType , typename ArgsType , typename ReturnType >
void yap::Event< SenderType, ArgsType, ReturnType >::AddHandler ( const String name,
HandlerType  handler 
)
inline

Definition at line 36 of file Event.hxx.

Here is the caller graph for this function:

template<typename SenderType, typename ArgsType = const EmptyEventArgs&, typename ReturnType = void>
yap::Event< SenderType, ArgsType, ReturnType >::DISALLOW_COPY ( Event< SenderType, ArgsType, ReturnType >  )
private
template<typename SenderType, typename ArgsType, typename ReturnType >
ReturnType yap::Event< SenderType, ArgsType, ReturnType >::operator() ( SenderType  sender,
ArgsType  args 
)
inline

Definition at line 60 of file Event.hxx.

template<typename SenderType , typename ArgsType , typename ReturnType >
Event< SenderType, ArgsType, ReturnType > & yap::Event< SenderType, ArgsType, ReturnType >::operator+= ( HandlerType  handler)
inline

Definition at line 26 of file Event.hxx.

template<typename SenderType , typename ArgsType , typename ReturnType >
void yap::Event< SenderType, ArgsType, ReturnType >::RemoveHandler ( const String name)
inline

Definition at line 50 of file Event.hxx.

Here is the caller graph for this function:


Member Data Documentation

template<typename SenderType, typename ArgsType = const EmptyEventArgs&, typename ReturnType = void>
collection::Map<String, std::shared_ptr<ConnectionType> > yap::Event< SenderType, ArgsType, ReturnType >::handlers_
private

Definition at line 62 of file Event.hpp.

template<typename SenderType, typename ArgsType = const EmptyEventArgs&, typename ReturnType = void>
SignalType yap::Event< SenderType, ArgsType, ReturnType >::sig_
private

Definition at line 60 of file Event.hpp.


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