ATLAS Offline Software
Loading...
Searching...
No Matches
HLT::TypelessHolder Class Reference

#include <TypelessHolder.h>

Inheritance diagram for HLT::TypelessHolder:
Collaboration diagram for HLT::TypelessHolder:

Public Member Functions

 TypelessHolder (class_id_type clid, const std::string &label, sub_index_type sub)
virtual class_id_type typeClid () const
virtual const std::string & label () const
virtual sub_index_type subTypeIndex () const
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)

Protected Attributes

class_id_type m_clid
std::string m_label
sub_index_type m_sub

Detailed Description

Definition at line 11 of file TypelessHolder.h.

Constructor & Destructor Documentation

◆ TypelessHolder()

HLT::TypelessHolder::TypelessHolder ( class_id_type clid,
const std::string & label,
sub_index_type sub )

Definition at line 7 of file TypelessHolder.cxx.

8 : m_clid (clid),
10 m_sub (sub)
11{}
sub_index_type m_sub
class_id_type m_clid
virtual const std::string & label() const

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 )
staticinherited

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::TypelessHolder::label ( ) const
inlinevirtual

Implements HLT::BaseHolder.

Definition at line 15 of file TypelessHolder.h.

15{ return m_label; }

◆ serialize()

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

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::TypelessHolder::subTypeIndex ( ) const
inlinevirtual

Implements HLT::BaseHolder.

Definition at line 16 of file TypelessHolder.h.

16{ return m_sub; }

◆ typeClid()

virtual class_id_type HLT::TypelessHolder::typeClid ( ) const
inlinevirtual

Implements HLT::BaseHolder.

Definition at line 14 of file TypelessHolder.h.

14{ return m_clid; }

Member Data Documentation

◆ m_clid

class_id_type HLT::TypelessHolder::m_clid
protected

Definition at line 19 of file TypelessHolder.h.

◆ m_label

std::string HLT::TypelessHolder::m_label
protected

Definition at line 20 of file TypelessHolder.h.

◆ m_sub

sub_index_type HLT::TypelessHolder::m_sub
protected

Definition at line 21 of file TypelessHolder.h.


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