dxd - dynax driver framework 2.6.0d197
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::proxy::stream::_device< desc_t, preference_t, stream_t >::promoted< value_t, proxy_value_t, _settable > Class Template Reference

dx::proxy::stream::device::promoted with device::preference More...

#include <dx_proxy_stream_device.h>

+ Inheritance diagram for dx::proxy::stream::_device< desc_t, preference_t, stream_t >::promoted< value_t, proxy_value_t, _settable >:
+ Collaboration diagram for dx::proxy::stream::_device< desc_t, preference_t, stream_t >::promoted< value_t, proxy_value_t, _settable >:

Public Types

typedef std::unique_lock< mutex_tlock_t
 
typedef std::mutex mutex_t
 
typedef value_t value_t
 

Public Member Functions

 catch (...)
 
 catch (...)
 
 catch (...)
 
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
 
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
 
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
 
 catch (const std::exception &__std_exception)
 
 catch (const std::exception &__std_exception)
 
 catch (const std::exception &__std_exception)
 
void commit (lock_t &&lock, const value_t &value) try
 
 operator bool () const noexcept
 
DX_PRAGMA_IGNORE_RETURN_VALUE_END operator const value_t & () try
 
promotedoperator++ () noexcept
 
value_t operator++ (int) noexcept
 
promotedoperator+= (const value_t &value) noexcept
 
promotedoperator-- () noexcept
 
value_t operator-- (int) noexcept
 
promotedoperator-= (const value_t &value) noexcept
 
const value_toperator-> ()
 
DX_PRAGMA_IGNORE_RETURN_VALUE_END bool operator== (const value_t &value) noexcept
 
bool operator== (promoted &promoted) noexcept
 
 promoted (class _device &device, class dx::promoted< uint32_t >::preference< preference_t > &preference, const uint32_t ioctl)
 
 promoted (class _device &device, const uint32_t ioctl)
 

Public Attributes

bool initialized
 
std::map< void *, std::function< void(const value_t &)> listen )
 
std::function< void(lock_t &&, const value_t &, const value_t &) server )
 \ indicate the value is in transition - does not have the new value yet
 
bool transient
 \ indicate the value has been initialized
 

Static Public Attributes

static auto constexpr setable = _settable
 

Protected Attributes

value_t value
 

Detailed Description

template<typename desc_t, typename preference_t, typename stream_t>
template<typename value_t, typename proxy_value_t = value_t, bool _settable = true>
class dx::proxy::stream::_device< desc_t, preference_t, stream_t >::promoted< value_t, proxy_value_t, _settable >

dx::proxy::stream::device::promoted with device::preference

A promoted proxy::stream::device::preference value

Member Typedef Documentation

◆ lock_t

typedef std::unique_lock<mutex_t> dx::promoted< value_t >::lock_t
inherited

◆ mutex_t

typedef std::mutex dx::promoted< value_t >::mutex_t
inherited

◆ value_t

typedef value_t dx::promoted< value_t >::value_t
inherited

Constructor & Destructor Documentation

◆ promoted() [1/2]

template<typename desc_t , typename preference_t , typename stream_t >
template<typename value_t , typename proxy_value_t = value_t, bool _settable = true>
dx::proxy::stream::_device< desc_t, preference_t, stream_t >::promoted< value_t, proxy_value_t, _settable >::promoted ( class _device & device,
class dx::promoted< uint32_t >::preference< preference_t > & preference,
const uint32_t ioctl )
inline
+ Here is the call graph for this function:

◆ promoted() [2/2]

template<typename desc_t , typename preference_t , typename stream_t >
template<typename value_t , typename proxy_value_t = value_t, bool _settable = true>
dx::proxy::stream::_device< desc_t, preference_t, stream_t >::promoted< value_t, proxy_value_t, _settable >::promoted ( class _device & device,
const uint32_t ioctl )
inline

Member Function Documentation

◆ catch() [1/9]

dx::promoted< value_t >::catch ( ...)
inlineinherited

◆ catch() [2/9]

dx::promoted< value_t >::catch ( ...)
inlineinherited

◆ catch() [3/9]

dx::promoted< value_t >::catch ( ...)
inlineinherited

◆ catch() [4/9]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN dx::promoted< value_t >::catch ( const dx::exception & __dx_exception)
inlineinherited

◆ catch() [5/9]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN dx::promoted< value_t >::catch ( const dx::exception & __dx_exception)
inlineinherited

◆ catch() [6/9]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN dx::promoted< value_t >::catch ( const dx::exception & __dx_exception)
inlineinherited

◆ catch() [7/9]

dx::promoted< value_t >::catch ( const std::exception & __std_exception)
inlineinherited

◆ catch() [8/9]

dx::promoted< value_t >::catch ( const std::exception & __std_exception)
inlineinherited

◆ catch() [9/9]

dx::promoted< value_t >::catch ( const std::exception & __std_exception)
inlineinherited

◆ commit()

void dx::promoted< value_t >::commit ( lock_t && lock,
const value_t & value )
inlineinherited

◆ operator bool()

template<typename desc_t , typename preference_t , typename stream_t >
template<typename value_t , typename proxy_value_t = value_t, bool _settable = true>
dx::proxy::stream::_device< desc_t, preference_t, stream_t >::promoted< value_t, proxy_value_t, _settable >::operator bool ( ) const
inlinenoexcept

◆ operator const value_t &()

DX_PRAGMA_IGNORE_RETURN_VALUE_END dx::promoted< value_t >::operator const value_t & ( )
inlineinherited

◆ operator++() [1/2]

promoted & dx::promoted< value_t >::operator++ ( )
inlinenoexceptinherited

◆ operator++() [2/2]

value_t dx::promoted< value_t >::operator++ ( int )
inlinenoexceptinherited

◆ operator+=()

promoted & dx::promoted< value_t >::operator+= ( const value_t & value)
inlinenoexceptinherited

◆ operator--() [1/2]

promoted & dx::promoted< value_t >::operator-- ( )
inlinenoexceptinherited

◆ operator--() [2/2]

value_t dx::promoted< value_t >::operator-- ( int )
inlinenoexceptinherited

◆ operator-=()

promoted & dx::promoted< value_t >::operator-= ( const value_t & value)
inlinenoexceptinherited

◆ operator->()

const value_t & dx::promoted< value_t >::operator-> ( )
inlineinherited

◆ operator==() [1/2]

DX_PRAGMA_IGNORE_RETURN_VALUE_END bool dx::promoted< value_t >::operator== ( const value_t & value)
inlinenoexceptinherited

◆ operator==() [2/2]

bool dx::promoted< value_t >::operator== ( promoted< value_t > & promoted)
inlinenoexceptinherited

Member Data Documentation

◆ initialized

bool dx::promoted< value_t >::initialized
inherited

◆ listen

std::map<void*, std::function<void(const value_t&)> dx::promoted< value_t >::listen)
inherited

◆ server

std::function<void(lock_t&&, const value_t&, const value_t&) dx::promoted< value_t >::server)
inherited

\ indicate the value is in transition - does not have the new value yet

server: handle synchronous and asynchronous value updates and initialization lock: lock promoted value from access during update value: new value (if in transition) current: current value to allow discarding update and reverting to current value if update is not permitted

it needs to handle these case: not initialized and not in transition: initialze and commit the value not initialized and in transition: if dependent on external settings initialize a temporary and compare it with the new value and update the external setting if required make sure to commit the new value so listeners get notified either synchronously or asynchronously by external notification initialized and in transition: update external settings if any and make sure to commit the new value so listeners get notified either synchronously or asynchronousl by external notification

server will not be called with this state: initialized and not in transation

◆ setable

template<typename desc_t , typename preference_t , typename stream_t >
template<typename value_t , typename proxy_value_t = value_t, bool _settable = true>
auto constexpr dx::proxy::stream::_device< desc_t, preference_t, stream_t >::promoted< value_t, proxy_value_t, _settable >::setable = _settable
staticconstexpr

◆ transient

bool dx::promoted< value_t >::transient
inherited

\ indicate the value has been initialized

◆ value

value_t dx::promoted< value_t >::value
protectedinherited

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

(c) copyright 2009 dynamic acoustics e.U. generated on Thu Jan 29 2026

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.