ATLAS Offline Software
Loading...
Searching...
No Matches
HLT::BaseHolder Class Referenceabstract

#include <BaseHolder.h>

Inheritance diagram for HLT::BaseHolder:
Collaboration diagram for HLT::BaseHolder:

Public Member Functions

virtual ~BaseHolder ()
virtual const std::string & label () const =0
virtual class_id_type typeClid () const =0
virtual sub_index_type subTypeIndex () const =0
virtual bool serialize (std::vector< uint32_t > &data) const

Static Public Member Functions

static bool enquireSerialized (std::vector< uint32_t >::const_iterator &fromHere, const std::vector< uint32_t >::const_iterator &end, class_id_type &c, std::string &label, sub_index_type &subtypeIndex)

Detailed Description

Definition at line 14 of file BaseHolder.h.

Constructor & Destructor Documentation

◆ ~BaseHolder()

BaseHolder::~BaseHolder ( )
virtual

Definition at line 10 of file BaseHolder.cxx.

10{}

Member Function Documentation

◆ enquireSerialized()

bool BaseHolder::enquireSerialized ( std::vector< uint32_t >::const_iterator & fromHere,
const std::vector< uint32_t >::const_iterator & end,
class_id_type & c,
std::string & label,
sub_index_type & subtypeIndex )
static

Definition at line 12 of file BaseHolder.cxx.

15 {
16 using namespace std;
17 if ( fromHere == end ) return false;
18
19 c = *fromHere++;
20 if ( fromHere == end ) return false;
21
22 subtypeIndex = *fromHere++;
23 if ( fromHere == end ) return false;
24
25 unsigned labelSize = *fromHere++;
26 if ( fromHere == end ) return false;
27 if ( fromHere+labelSize > end ) return false;
28
29 std::vector<uint32_t>::const_iterator stringEnd = fromHere+labelSize;
30 HLT::StringSerializer::deserialize(fromHere, stringEnd, label);
31
32 //advance iterator to end of label
33 std::advance(fromHere,labelSize);
34
35 return true;
36}
virtual const std::string & label() const =0
std::size_t deserialize(std::vector< uint32_t >::const_iterator first, std::vector< uint32_t >::const_iterator last, std::vector< std::string > &strings)

◆ label()

virtual const std::string & HLT::BaseHolder::label ( ) const
pure virtual

◆ serialize()

bool BaseHolder::serialize ( std::vector< uint32_t > & data) const
virtual

Reimplemented in HLTNavDetails::HolderImp< STORED, CONTAINER >, HLTNavDetails::IHolder, and HolderImp< STORED, CONTAINER >.

Definition at line 38 of file BaseHolder.cxx.

38 {
39 output.push_back( typeClid() );
40 output.push_back( subTypeIndex() );
41
42 const size_t labelSizeIndex = output.size();
43 output.push_back( 0 );
44 const size_t beforeSS = output.size();
46 output[labelSizeIndex] = output.size() - beforeSS;
47 return true;
48}
virtual class_id_type typeClid() const =0
virtual sub_index_type subTypeIndex() const =0
void serialize(const std::vector< std::string > &strings, std::vector< uint32_t > &storage)
output
Definition merge.py:16

◆ subTypeIndex()

virtual sub_index_type HLT::BaseHolder::subTypeIndex ( ) const
pure virtual

◆ typeClid()

virtual class_id_type HLT::BaseHolder::typeClid ( ) const
pure virtual

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