Apollo  6.0
Open source self driving car software
Public Types | Public Member Functions | List of all members
apollo::cyber::base::Signal< Args > Class Template Reference

#include <signal.h>

Collaboration diagram for apollo::cyber::base::Signal< Args >:
Collaboration graph

Public Types

using Callback = std::function< void(Args...)>
 
using SlotPtr = std::shared_ptr< Slot< Args... > >
 
using SlotList = std::list< SlotPtr >
 
using ConnectionType = Connection< Args... >
 

Public Member Functions

 Signal ()
 
virtual ~Signal ()
 
void operator() (Args... args)
 
ConnectionType Connect (const Callback &cb)
 
bool Disconnect (const ConnectionType &conn)
 
void DisconnectAllSlots ()
 

Member Typedef Documentation

◆ Callback

template<typename... Args>
using apollo::cyber::base::Signal< Args >::Callback = std::function<void(Args...)>

◆ ConnectionType

template<typename... Args>
using apollo::cyber::base::Signal< Args >::ConnectionType = Connection<Args...>

◆ SlotList

template<typename... Args>
using apollo::cyber::base::Signal< Args >::SlotList = std::list<SlotPtr>

◆ SlotPtr

template<typename... Args>
using apollo::cyber::base::Signal< Args >::SlotPtr = std::shared_ptr<Slot<Args...> >

Constructor & Destructor Documentation

◆ Signal()

template<typename... Args>
apollo::cyber::base::Signal< Args >::Signal ( )
inline

◆ ~Signal()

template<typename... Args>
virtual apollo::cyber::base::Signal< Args >::~Signal ( )
inlinevirtual

Member Function Documentation

◆ Connect()

template<typename... Args>
ConnectionType apollo::cyber::base::Signal< Args >::Connect ( const Callback cb)
inline

◆ Disconnect()

template<typename... Args>
bool apollo::cyber::base::Signal< Args >::Disconnect ( const ConnectionType conn)
inline

◆ DisconnectAllSlots()

template<typename... Args>
void apollo::cyber::base::Signal< Args >::DisconnectAllSlots ( )
inline

◆ operator()()

template<typename... Args>
void apollo::cyber::base::Signal< Args >::operator() ( Args...  args)
inline

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