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

synchronize write/shared read access/destruction More...

#include <dx_common.h>

Collaboration diagram for dx::shared::guard< object_t >:

Public Member Functions

 guard ()=default
 guard (object_t &&object)
template<typename function_t>
auto operator<< (function_t &&function)
 maninpulating (writing) access to shared object
template<typename function_t>
auto operator>> (function_t &&function) const
 non-maninpulating (reading) access to shared object
 ~guard ()
 lock shared object destruction

Protected Attributes

std::unique_lock< std::shared_mutex > lock
std::shared_mutex mutex
object_t object

Detailed Description

template<typename object_t>
class dx::shared::guard< object_t >

synchronize write/shared read access/destruction

Constructor & Destructor Documentation

◆ guard() [1/2]

template<typename object_t>
dx::shared::guard< object_t >::guard ( )
default

◆ guard() [2/2]

template<typename object_t>
dx::shared::guard< object_t >::guard ( object_t && object)
inline

◆ ~guard()

template<typename object_t>
dx::shared::guard< object_t >::~guard ( )
inline

lock shared object destruction

Member Function Documentation

◆ operator<<()

template<typename object_t>
template<typename function_t>
auto dx::shared::guard< object_t >::operator<< ( function_t && function)
inline

maninpulating (writing) access to shared object

◆ operator>>()

template<typename object_t>
template<typename function_t>
auto dx::shared::guard< object_t >::operator>> ( function_t && function) const
inline

non-maninpulating (reading) access to shared object

Member Data Documentation

◆ lock

template<typename object_t>
std::unique_lock<std::shared_mutex> dx::shared::guard< object_t >::lock
protected

◆ mutex

template<typename object_t>
std::shared_mutex dx::shared::guard< object_t >::mutex
mutableprotected

◆ object

template<typename object_t>
object_t dx::shared::guard< object_t >::object
protected

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.