μHAL (v2.8.17)
Part of the IPbus software repository
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Attributes | List of all members
uhal::detail::SharedObject< T > Class Template Reference

Wrapper for C++ object that's placed in shared memory. More...

#include <uhal/detail/SharedObject.hpp>

Inheritance diagram for uhal::detail::SharedObject< T >:
[legend]

Public Member Functions

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

Private Attributes

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

Detailed Description

template<class T>
class uhal::detail::SharedObject< T >

Wrapper for C++ object that's placed in shared memory.

Definition at line 15 of file SharedObject.hpp.

Constructor & Destructor Documentation

◆ SharedObject() [1/2]

template<class T >
uhal::detail::SharedObject< T >::SharedObject ( const SharedObject< T > &  )
delete

◆ SharedObject() [2/2]

template<class T >
uhal::detail::SharedObject< T >::SharedObject ( const std::string &  aName)

Definition at line 12 of file SharedObject.cpp.

◆ ~SharedObject()

template<class T >
uhal::detail::SharedObject< T >::~SharedObject

Definition at line 20 of file SharedObject.cpp.

Member Function Documentation

◆ operator*()

template<class T >
T & uhal::detail::SharedObject< T >::operator*

Definition at line 32 of file SharedObject.cpp.

◆ operator->()

template<class T >
T * uhal::detail::SharedObject< T >::operator->

Definition at line 26 of file SharedObject.cpp.

◆ operator=()

template<class T >
SharedObject< T > & uhal::detail::SharedObject< T >::operator= ( const SharedObject< T > &  )
delete

Member Data Documentation

◆ mName

template<class T >
std::string uhal::detail::SharedObject< T >::mName
private

Definition at line 29 of file SharedObject.hpp.

◆ mObj

template<class T >
T* uhal::detail::SharedObject< T >::mObj
private

Definition at line 31 of file SharedObject.hpp.

◆ mSharedMem

template<class T >
boost::interprocess::managed_shared_memory uhal::detail::SharedObject< T >::mSharedMem
private

Definition at line 30 of file SharedObject.hpp.


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