DART  6.6.2
dart::common::Signal< void(_ArgTypes...)> Class Template Reference

Signal implements a signal/slot mechanism for the slots don't return a value. More...

#include <Signal.hpp>

Public Types

using SlotType = std::function< void(_ArgTypes...)>
 
using SignalType = Signal< void(_ArgTypes...)>
 
using ConnectionBodyType = signal::detail::ConnectionBody< SlotType >
 
using ConnectionSetType = std::set< std::shared_ptr< ConnectionBodyType >, std::owner_less< std::shared_ptr< ConnectionBodyType > >>
 

Public Member Functions

 Signal ()
 Constructor. More...
 
virtual ~Signal ()
 Destructor. More...
 
Connection connect (const SlotType &_slot)
 Connect a slot to the signal. More...
 
Connection connect (SlotType &&_slot)
 Connect a slot to the signal. More...
 
void disconnect (const Connection &_connection) const
 Disconnect given connection. More...
 
void disconnectAll ()
 Disconnect all the connections. More...
 
void cleanupConnections ()
 Cleanup all the disconnected connections. More...
 
std::size_t getNumConnections () const
 Get the number of connections. More...
 
template<typename... ArgTypes>
void raise (ArgTypes &&... _args)
 Raise the signal. More...
 
template<typename... ArgTypes>
void operator() (ArgTypes &&... _args)
 Raise the signal. More...
 

Private Attributes

ConnectionSetType mConnectionBodies
 Connection set. More...
 

Detailed Description

template<typename... _ArgTypes>
class dart::common::Signal< void(_ArgTypes...)>

Signal implements a signal/slot mechanism for the slots don't return a value.

Member Typedef Documentation

◆ ConnectionBodyType

template<typename... _ArgTypes>
using dart::common::Signal< void(_ArgTypes...)>::ConnectionBodyType = signal::detail::ConnectionBody<SlotType>

◆ ConnectionSetType

template<typename... _ArgTypes>
using dart::common::Signal< void(_ArgTypes...)>::ConnectionSetType = std::set<std::shared_ptr<ConnectionBodyType>, std::owner_less<std::shared_ptr<ConnectionBodyType> >>

◆ SignalType

template<typename... _ArgTypes>
using dart::common::Signal< void(_ArgTypes...)>::SignalType = Signal<void(_ArgTypes...)>

◆ SlotType

template<typename... _ArgTypes>
using dart::common::Signal< void(_ArgTypes...)>::SlotType = std::function<void(_ArgTypes...)>

Constructor & Destructor Documentation

◆ Signal()

template<typename... _ArgTypes>
dart::common::Signal< void(_ArgTypes...)>::Signal

Constructor.

◆ ~Signal()

template<typename... _ArgTypes>
dart::common::Signal< void(_ArgTypes...)>::~Signal
virtual

Destructor.

Member Function Documentation

◆ cleanupConnections()

template<typename... _ArgTypes>
void dart::common::Signal< void(_ArgTypes...)>::cleanupConnections

Cleanup all the disconnected connections.

◆ connect() [1/2]

template<typename... _ArgTypes>
Connection dart::common::Signal< void(_ArgTypes...)>::connect ( const SlotType _slot)

Connect a slot to the signal.

◆ connect() [2/2]

template<typename... _ArgTypes>
Connection dart::common::Signal< void(_ArgTypes...)>::connect ( SlotType &&  _slot)

Connect a slot to the signal.

◆ disconnect()

template<typename... _ArgTypes>
void dart::common::Signal< void(_ArgTypes...)>::disconnect ( const Connection _connection) const

Disconnect given connection.

◆ disconnectAll()

template<typename... _ArgTypes>
void dart::common::Signal< void(_ArgTypes...)>::disconnectAll

Disconnect all the connections.

◆ getNumConnections()

template<typename... _ArgTypes>
std::size_t dart::common::Signal< void(_ArgTypes...)>::getNumConnections

Get the number of connections.

◆ operator()()

template<typename... _ArgTypes>
template<typename... ArgTypes>
void dart::common::Signal< void(_ArgTypes...)>::operator() ( ArgTypes &&...  _args)

Raise the signal.

◆ raise()

template<typename... _ArgTypes>
template<typename... ArgTypes>
void dart::common::Signal< void(_ArgTypes...)>::raise ( ArgTypes &&...  _args)

Raise the signal.

Member Data Documentation

◆ mConnectionBodies

template<typename... _ArgTypes>
ConnectionSetType dart::common::Signal< void(_ArgTypes...)>::mConnectionBodies
private

Connection set.