ATLAS Offline Software
Public Types | Public Member Functions | Public Attributes | List of all members
RootAuxDynIO::AuxInfo Struct Reference

#include <TBranchAuxDynWriter.h>

Collaboration diagram for RootAuxDynIO::AuxInfo:

Public Types

using dummy_ptr_t = std::unique_ptr< void, std::function< void(void *)> >
 

Public Member Functions

void * setDummyAddr ()
 
void * objectAddr ()
 
 ~AuxInfo ()
 

Public Attributes

std::string name
 
std::string type_name
 
const std::type_info * typeinfo = nullptr
 
std::string branch_name
 
TBranch * branch = nullptr
 
TClass * tclass = nullptr
 
bool is_basic_type = false
 
void * object = nullptr
 
void * buffer = nullptr
 
bool written = false
 
size_t rows_written = 0
 
dummy_ptr_t dummyptr
 
void * dummy = 0
 

Detailed Description

Definition at line 21 of file TBranchAuxDynWriter.h.

Member Typedef Documentation

◆ dummy_ptr_t

using RootAuxDynIO::AuxInfo::dummy_ptr_t = std::unique_ptr<void, std::function<void(void*)> >

Definition at line 37 of file TBranchAuxDynWriter.h.

Constructor & Destructor Documentation

◆ ~AuxInfo()

RootAuxDynIO::AuxInfo::~AuxInfo ( )

Definition at line 35 of file TBranchAuxDynWriter.cxx.

35  {
36  if( buffer && tclass ) {
37  tclass->Destructor(buffer);
38  }
39  }

Member Function Documentation

◆ objectAddr()

void* RootAuxDynIO::AuxInfo::objectAddr ( )
inline

Definition at line 44 of file TBranchAuxDynWriter.h.

44 { return is_basic_type? object : &object; }

◆ setDummyAddr()

void * RootAuxDynIO::AuxInfo::setDummyAddr ( )

Definition at line 19 of file TBranchAuxDynWriter.cxx.

19  {
20  object = nullptr;
21  if( tclass ) {
22  if( !dummy ) {
23  using std::placeholders::_1;
24  void(TClass::*dxtor)(void*, Bool_t) = &TClass::Destructor;
25  std::function<void(void*)> del = std::bind(dxtor, tclass, _1, false);
26  dummyptr = dummy_ptr_t( tclass->New(), std::move(del) );
27  dummy = dummyptr.get();
28  }
29  branch->SetAddress( &dummy );
30  return &dummy;
31  }
32  return nullptr;
33  }

Member Data Documentation

◆ branch

TBranch* RootAuxDynIO::AuxInfo::branch = nullptr

Definition at line 26 of file TBranchAuxDynWriter.h.

◆ branch_name

std::string RootAuxDynIO::AuxInfo::branch_name

Definition at line 25 of file TBranchAuxDynWriter.h.

◆ buffer

void* RootAuxDynIO::AuxInfo::buffer = nullptr

Definition at line 30 of file TBranchAuxDynWriter.h.

◆ dummy

void* RootAuxDynIO::AuxInfo::dummy = 0

Definition at line 39 of file TBranchAuxDynWriter.h.

◆ dummyptr

dummy_ptr_t RootAuxDynIO::AuxInfo::dummyptr

Definition at line 38 of file TBranchAuxDynWriter.h.

◆ is_basic_type

bool RootAuxDynIO::AuxInfo::is_basic_type = false

Definition at line 28 of file TBranchAuxDynWriter.h.

◆ name

std::string RootAuxDynIO::AuxInfo::name

Definition at line 22 of file TBranchAuxDynWriter.h.

◆ object

void* RootAuxDynIO::AuxInfo::object = nullptr

Definition at line 29 of file TBranchAuxDynWriter.h.

◆ rows_written

size_t RootAuxDynIO::AuxInfo::rows_written = 0

Definition at line 32 of file TBranchAuxDynWriter.h.

◆ tclass

TClass* RootAuxDynIO::AuxInfo::tclass = nullptr

Definition at line 27 of file TBranchAuxDynWriter.h.

◆ type_name

std::string RootAuxDynIO::AuxInfo::type_name

Definition at line 23 of file TBranchAuxDynWriter.h.

◆ typeinfo

const std::type_info* RootAuxDynIO::AuxInfo::typeinfo = nullptr

Definition at line 24 of file TBranchAuxDynWriter.h.

◆ written

bool RootAuxDynIO::AuxInfo::written = false

Definition at line 31 of file TBranchAuxDynWriter.h.


The documentation for this struct was generated from the following files:
RootAuxDynIO::AuxInfo::tclass
TClass * tclass
Definition: TBranchAuxDynWriter.h:27
RootAuxDynIO::AuxInfo::branch
TBranch * branch
Definition: TBranchAuxDynWriter.h:26
RootAuxDynIO::AuxInfo::is_basic_type
bool is_basic_type
Definition: TBranchAuxDynWriter.h:28
RootAuxDynIO::AuxInfo::dummy
void * dummy
Definition: TBranchAuxDynWriter.h:39
RootAuxDynIO::AuxInfo::dummyptr
dummy_ptr_t dummyptr
Definition: TBranchAuxDynWriter.h:38
RootAuxDynIO::AuxInfo::object
void * object
Definition: TBranchAuxDynWriter.h:29
RootAuxDynIO::AuxInfo::dummy_ptr_t
std::unique_ptr< void, std::function< void(void *)> > dummy_ptr_t
Definition: TBranchAuxDynWriter.h:37
RootAuxDynIO::AuxInfo::buffer
void * buffer
Definition: TBranchAuxDynWriter.h:30