dxd - dynax driver framework 2.6.0d219
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::listen< listener_t > Class Template Reference

guarded listerners map used from the server side to manage listeners More...

#include <dx_common.h>

Inheritance diagram for dx::listen< listener_t >:
Collaboration diagram for dx::listen< listener_t >:

Public Types

typedef listeners< listener_t > listeners

Public Member Functions

void clear ()
template<typename ... args_t>
auto emplace (args_t &&... args)
template<typename ... args_t>
auto erase (args_t &&... args)
 listen ()=default
 listen (listener_t &&listener)
 listen (listeners &&listeners)
auto operator<< (function_t &&function)
 maninpulating (writing) access to shared object
auto operator>> (function_t &&function) const
 non-maninpulating (reading) access to shared object

Protected Attributes

std::unique_lock< std::shared_mutex > lock
std::shared_mutex mutex
listeners< listener_t > object

Detailed Description

template<typename listener_t>
class dx::listen< listener_t >

guarded listerners map used from the server side to manage listeners

Member Typedef Documentation

◆ listeners

template<typename listener_t>
typedef listeners<listener_t> dx::listen< listener_t >::listeners

Constructor & Destructor Documentation

◆ listen() [1/3]

template<typename listener_t>
dx::listen< listener_t >::listen ( )
default

◆ listen() [2/3]

template<typename listener_t>
dx::listen< listener_t >::listen ( listeners && listeners)
inline

◆ listen() [3/3]

template<typename listener_t>
dx::listen< listener_t >::listen ( listener_t && listener)
inline

Member Function Documentation

◆ clear()

template<typename listener_t>
void dx::listen< listener_t >::clear ( )
inline

◆ emplace()

template<typename listener_t>
template<typename ... args_t>
auto dx::listen< listener_t >::emplace ( args_t &&... args)
inline
Here is the caller graph for this function:

◆ erase()

template<typename listener_t>
template<typename ... args_t>
auto dx::listen< listener_t >::erase ( args_t &&... args)
inline

◆ operator<<()

auto dx::shared::guard< listeners< listener_t > >::operator<< ( function_t && function)
inlineinherited

maninpulating (writing) access to shared object

◆ operator>>()

auto dx::shared::guard< listeners< listener_t > >::operator>> ( function_t && function) const
inlineinherited

non-maninpulating (reading) access to shared object

Member Data Documentation

◆ lock

std::unique_lock<std::shared_mutex> dx::shared::guard< listeners< listener_t > >::lock
protectedinherited

◆ mutex

std::shared_mutex dx::shared::guard< listeners< listener_t > >::mutex
mutableprotectedinherited

◆ object

listeners< listener_t > dx::shared::guard< listeners< listener_t > >::object
protectedinherited

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

(c) copyright 2009 dynamic acoustics e.U. generated on

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.