Psyllid  v1.12.4
Project 8 Data Acquisisition Software
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
header_wrapper Class Reference

Wrapper class for a monarch3::M3Header object. More...

#include <monarch3_wrap.hh>

Public Member Functions

 header_wrapper (monarch3::Monarch3 &a_monarch)
 
 header_wrapper (header_wrapper &&a_orig)
 
 ~header_wrapper ()
 
header_wrapperoperator= (header_wrapper &&a_orig)
 
monarch3::M3Header & header ()
 Get a reference to the M3Header; Will throw psyllid::error if the header object is not valid. More...
 
monarch3::M3Header * ptr ()
 Get M3Header pointer. More...
 
const monarch3::M3Header * ptr () const
 Get the M3Header pointer, const version. More...
 
unique_lock get_lock () const
 Lock the header mutex and return a unique_lock object. More...
 

Private Member Functions

 header_wrapper (const header_wrapper &)=delete
 
header_wrapperoperator= (const header_wrapper &)=delete
 

Private Attributes

monarch3::M3Header * f_header
 
std::mutex f_mutex
 

Friends

class monarch_wrapper
 

Detailed Description

Wrapper class for a monarch3::M3Header object.

Author
N. S. Oblath

Provides the ability to write header information in a thread-safe synchronized way, and have read-only access to the header.

Thread synchronization strategy:

Definition at line 263 of file monarch3_wrap.hh.

Constructor & Destructor Documentation

◆ header_wrapper() [1/3]

header_wrapper ( monarch3::Monarch3 &  a_monarch)

Definition at line 678 of file monarch3_wrap.cc.

◆ header_wrapper() [2/3]

Definition at line 688 of file monarch3_wrap.cc.

◆ ~header_wrapper()

Definition at line 696 of file monarch3_wrap.cc.

◆ header_wrapper() [3/3]

header_wrapper ( const header_wrapper )
privatedelete

Member Function Documentation

◆ get_lock()

unique_lock get_lock ( ) const
inline

Lock the header mutex and return a unique_lock object.

Definition at line 449 of file monarch3_wrap.hh.

◆ header()

monarch3::M3Header & header ( )

Get a reference to the M3Header; Will throw psyllid::error if the header object is not valid.

Definition at line 707 of file monarch3_wrap.cc.

◆ operator=() [1/2]

header_wrapper & operator= ( header_wrapper &&  a_orig)

Definition at line 700 of file monarch3_wrap.cc.

◆ operator=() [2/2]

header_wrapper& operator= ( const header_wrapper )
privatedelete

◆ ptr() [1/2]

monarch3::M3Header * ptr ( )
inline

Get M3Header pointer.

Definition at line 439 of file monarch3_wrap.hh.

◆ ptr() [2/2]

const monarch3::M3Header * ptr ( ) const
inline

Get the M3Header pointer, const version.

Definition at line 444 of file monarch3_wrap.hh.

Friends And Related Function Documentation

◆ monarch_wrapper

friend class monarch_wrapper
friend

Definition at line 287 of file monarch3_wrap.hh.

Member Data Documentation

◆ f_header

monarch3::M3Header* f_header
private

Definition at line 289 of file monarch3_wrap.hh.

◆ f_mutex

std::mutex f_mutex
mutableprivate

Definition at line 290 of file monarch3_wrap.hh.


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