ATLAS Offline Software
Loading...
Searching...
No Matches
BranchDesc Struct Reference

Definiton of a branch descriptor from RootTreeContainer. More...

Collaboration diagram for BranchDesc:

Public Types

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

Public Member Functions

 BranchDesc (TClass *cl)
void * dummyAddr ()

Public Attributes

TClass * clazz
std::unique_ptr< void, std::function< void(void *)> > dummyptr
void * dummy = 0

Detailed Description

Definiton of a branch descriptor from RootTreeContainer.

Definition at line 31 of file AthenaRootSharedWriterSvc.cxx.

Member Typedef Documentation

◆ dummy_ptr_t

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

Definition at line 34 of file AthenaRootSharedWriterSvc.cxx.

Constructor & Destructor Documentation

◆ BranchDesc()

BranchDesc::BranchDesc ( TClass * cl)
inline

Definition at line 38 of file AthenaRootSharedWriterSvc.cxx.

38: clazz(cl) {}

Member Function Documentation

◆ dummyAddr()

void * BranchDesc::dummyAddr ( )
inline

Definition at line 40 of file AthenaRootSharedWriterSvc.cxx.

41 {
42 if (clazz) {
43 void(TClass::*dxtor)(void*, Bool_t) = &TClass::Destructor;
44 std::function<void(void*)> del = std::bind(dxtor, clazz, std::placeholders::_1, false);
45 dummyptr = std::unique_ptr<void, std::function<void(void*)> >(clazz->New(), std::move(del));
46 dummy = dummyptr.get();
47 return &dummy;
48 }
49 return nullptr;
50 }
std::unique_ptr< void, std::function< void(void *)> > dummyptr

Member Data Documentation

◆ clazz

TClass* BranchDesc::clazz

Definition at line 33 of file AthenaRootSharedWriterSvc.cxx.

◆ dummy

void* BranchDesc::dummy = 0

Definition at line 36 of file AthenaRootSharedWriterSvc.cxx.

◆ dummyptr

std::unique_ptr<void, std::function<void(void*)> > BranchDesc::dummyptr

Definition at line 35 of file AthenaRootSharedWriterSvc.cxx.


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