DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
uhallibs::ipc::SharedMemObject< T > Class Template Reference

#include <SharedMemObject.hpp>

Public Member Functions

 SharedMemObject (const SharedMemObject< T > &)=delete
 
SharedMemObject< T > & operator= (const SharedMemObject< T > &)=delete
 
 SharedMemObject (const std::string &aName)
 
 ~SharedMemObject ()
 
T * operator-> ()
 
T & operator* ()
 

Private Attributes

std::string mName
 
boost::interprocess::managed_shared_memory mSharedMem
 
T * mObj
 

Detailed Description

template<class T>
class uhallibs::ipc::SharedMemObject< T >

Definition at line 11 of file SharedMemObject.hpp.

Constructor & Destructor Documentation

◆ SharedMemObject() [1/2]

template<class T >
uhallibs::ipc::SharedMemObject< T >::SharedMemObject ( const SharedMemObject< T > & )
delete

◆ SharedMemObject() [2/2]

template<class T >
uhallibs::ipc::SharedMemObject< T >::SharedMemObject ( const std::string & aName)

Definition at line 31 of file SharedMemObject.hpp.

32 : mName(aName),
33 mSharedMem(boost::interprocess::open_or_create, aName.c_str(), 1024, 0x0,
34 boost::interprocess::permissions(0666)),
35 mObj(mSharedMem.find_or_construct<T>(
36 boost::interprocess::unique_instance)()) {}
boost::interprocess::managed_shared_memory mSharedMem

◆ ~SharedMemObject()

template<class T >
uhallibs::ipc::SharedMemObject< T >::~SharedMemObject ( )

Definition at line 39 of file SharedMemObject.hpp.

39 {
40 // boost::interprocess::shared_memory_object::remove(mName.c_str());
41}

Member Function Documentation

◆ operator*()

template<class T >
T & uhallibs::ipc::SharedMemObject< T >::operator* ( )

Definition at line 49 of file SharedMemObject.hpp.

49 {
50 return *mObj;
51}

◆ operator->()

template<class T >
T * uhallibs::ipc::SharedMemObject< T >::operator-> ( )

Definition at line 44 of file SharedMemObject.hpp.

44 {
45 return mObj;
46}

◆ operator=()

template<class T >
SharedMemObject< T > & uhallibs::ipc::SharedMemObject< T >::operator= ( const SharedMemObject< T > & )
delete

Member Data Documentation

◆ mName

template<class T >
std::string uhallibs::ipc::SharedMemObject< T >::mName
private

Definition at line 24 of file SharedMemObject.hpp.

◆ mObj

template<class T >
T* uhallibs::ipc::SharedMemObject< T >::mObj
private

Definition at line 26 of file SharedMemObject.hpp.

◆ mSharedMem

template<class T >
boost::interprocess::managed_shared_memory uhallibs::ipc::SharedMemObject< T >::mSharedMem
private

Definition at line 25 of file SharedMemObject.hpp.


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