dxd - dynax driver framework 2.7.0d222
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::shared::memory< buffer_t > Class Template Referenceabstract

macOS user space shared memory More...

#include <dx_shared_memory.h>

Inheritance diagram for dx::shared::memory< buffer_t >:
Collaboration diagram for dx::shared::memory< buffer_t >:

Public Member Functions

 dx_catchall () reference &initialize(const std
 releases this hold
 dx_catchall_rethrow () virtual void free() noexcept
 dx_catchall_rethrow () virtual void free() noexcept
 operator const os_event () const noexcept
 operator const os_event () const noexcept
 operator os_event () noexcept
 operator os_event () noexcept
 operator::HANDLE () const noexcept
 operator::HANDLE () const noexcept

Public Attributes

bool joined {}
 true if initialize() found another holder already present, false if this was the first

Protected Attributes

::HANDLE process
::HANDLE process

Detailed Description

template<typename buffer_t>
class dx::shared::memory< buffer_t >

macOS user space shared memory

windows user space shared memory

The constructor only stores the canonical name/version/size - the actual mapping only happens once the buffer is first genuinely requested (through one of the pointer/reference accessors), not eagerly at construction: whichever side (server or client) first actually wants the buffer becomes the creator, rather than whichever side's device object simply happens to construct first.

The constructor only stores the requested name/version/size - the actual mapping only happens once the buffer is first genuinely requested (through one of the pointer/reference accessors), not eagerly at construction: whichever side (server or client) first actually wants the buffer becomes the creator, rather than whichever side's device object simply happens to construct first.

Member Function Documentation

◆ dx_catchall()

dx::shared::reference::dx_catchall ( ) const &
inlineinherited

releases this hold

Returns
true if this was the last holder of this name - i.e. no other process currently has it open, and cleanup guarded by this name is now safe
Here is the call graph for this function:

◆ dx_catchall_rethrow() [1/2]

dx::resource< invalid_t >::dx_catchall_rethrow ( )
inlinenoexceptinherited

◆ dx_catchall_rethrow() [2/2]

dx::resource< invalid_t >::dx_catchall_rethrow ( )
inlinenoexceptinherited

◆ operator const os_event() [1/2]

dx::resource< invalid_t >::operator const os_event ( ) const
inlinenoexceptinherited

◆ operator const os_event() [2/2]

dx::resource< invalid_t >::operator const os_event ( ) const
inlinenoexceptinherited

◆ operator os_event() [1/2]

dx::resource< invalid_t >::operator os_event ( )
inlinenoexceptinherited

◆ operator os_event() [2/2]

dx::resource< invalid_t >::operator os_event ( )
inlinenoexceptinherited

◆ operator::HANDLE() [1/2]

dx::resource< invalid_t >::operator::HANDLE ( ) const
inlinenoexceptinherited

◆ operator::HANDLE() [2/2]

dx::resource< invalid_t >::operator::HANDLE ( ) const
inlinenoexceptinherited

Member Data Documentation

◆ joined

bool dx::shared::reference::joined {}
inherited

true if initialize() found another holder already present, false if this was the first

◆ process [1/2]

::HANDLE dx::resource< invalid_t >::process
protectedinherited

◆ process [2/2]

::HANDLE dx::resource< invalid_t >::process
protectedinherited

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

(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.