HDTree  0.5.2
HDTree C++ API
hdtree::Reader::MirrorObject Class Reference

A mirror event object. More...

Collaboration diagram for hdtree::Reader::MirrorObject:
[legend]

Public Member Functions

 MirrorObject (const std::string &branch_name, Reader &reader, Writer &writer)
 Construct this mirror object and any of its (data or object) children.
 
void copy (unsigned long int i_entry, unsigned long int n)
 Copy the n entries starting from i_entry. More...
 

Private Attributes

std::unique_ptr< BaseBranchdata_
 handle to the atomic data type once we get down to that point
 
std::unique_ptr< BaseBranchsize_member_
 handle to the size member of this object (if it exists)
 
std::vector< std::unique_ptr< MirrorObject > > obj_members_
 list of sub-objects within this object
 
unsigned long int last_entry_ {0}
 the last entry that was copied
 

Detailed Description

A mirror event object.

This type of event object is merely present to "reflect" (pun intended) the recursive nature of the Branch pattern without knowledge of any user classes. We need this so we can effectively copy event objects that are not accessed during processing from the input to the output file. (The choice on whether to copy or not copy these files is handled by Event).

Member Function Documentation

◆ copy()

void hdtree::Reader::MirrorObject::copy ( unsigned long int  i_entry,
unsigned long int  n 
)

Copy the n entries starting from i_entry.

if there is a member determining the size of each entry, we need to follow its lead


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