ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
AthenaPOOL
AthenaPoolCnvSvc
AthenaPoolCnvSvc
T_AthenaPoolViewVectorCnv.h
Go to the documentation of this file.
1
// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
3
/*
4
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// $Id$
14
15
16
#ifndef ATHENAPOOLCNVSVC_T_ATHENAPOOLVIEWVECTORCNV_H
17
#define ATHENAPOOLCNVSVC_T_ATHENAPOOLVIEWVECTORCNV_H
18
19
20
#include "
AthenaPoolCnvSvc/T_AthenaPoolCustomCnv.h
"
21
#include "
AthenaPoolCnvSvc/exceptions.h
"
22
#include "
AthenaPoolCnvSvc/debug.h
"
23
#include "
StorageSvc/DbReflex.h
"
24
#include "
StorageSvc/DbTypeInfo.h
"
25
#include "
AthContainers/ViewVector.h
"
26
#include "
AthContainers/dataVectorAsELV.h
"
27
#include "
AthContainers/ConstDataVector.h
"
28
#include "AthLinks/ElementLink.h"
29
#include "
AthenaKernel/errorcheck.h
"
30
#include "
AthenaKernel/ClassID_traits.h
"
31
#include "
CxxUtils/StrFormat.h
"
32
#include "
DataModelRoot/RootType.h
"
33
#include <vector>
34
#include <cstdlib>
35
36
50
template
<
class
DV>
51
class
T_AthenaPoolViewVectorCnv
52
:
public
T_AthenaPoolCustomCnv
<ViewVector<DV>, ViewVector<DV> >
53
{
54
public
:
56
typedef
ViewVector<DV>
trans_t
;
57
typedef
trans_t
pers_t
;
58
60
typedef
std::vector<ElementLink<DV> >
pers2_t
;
61
63
typedef
T_AthenaPoolCustomCnv<trans_t, pers_t>
Base
;
64
65
70
T_AthenaPoolViewVectorCnv
(ISvcLocator* svcloc);
71
72
76
virtual
StatusCode
initialize
()
override
;
77
78
85
virtual
pers_t
*
createPersistent
(
trans_t
* trans )
override
;
86
87
94
virtual
trans_t
*
createTransient
(
const
Token
* token)
override
;
95
96
97
private
:
104
std::vector<Guid>
initGuids
(
const
std::type_info& ti)
const
;
105
107
std::vector<Guid>
m_guids
;
108
110
std::vector<Guid>
m_guids2
;
111
};
112
113
114
#include "
AthenaPoolCnvSvc/T_AthenaPoolViewVectorCnv.icc
"
115
116
117
#endif
// not ATHENAPOOLCNVSVC_T_ATHENAPOOLVIEWVECTORCNV_H
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
ClassID_traits.h
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataO...
errorcheck.h
Helpers for checking error return status codes and reporting errors.
debug.h
A couple hooks for debugging.
exceptions.h
Exceptions that can be thrown from AthenaPoolCnvSvc.
DbReflex.h
DbTypeInfo.h
RootType.h
StrFormat.h
Provide helper functions to create formatted strings.
T_AthenaPoolCustomCnv.h
his file contains the class definition for the templated T_AthenaPoolCustomCnv class.
T_AthenaPoolViewVectorCnv.icc
ViewVector.h
Identify view containers to be made persistent.
T_AthenaPoolCustomCnv
Compatibility for old converter classes that don't get passed the key.
Definition
T_AthenaPoolCustomCnv.h:129
T_AthenaPoolViewVectorCnv::T_AthenaPoolViewVectorCnv
T_AthenaPoolViewVectorCnv(ISvcLocator *svcloc)
Constructor.
T_AthenaPoolViewVectorCnv::m_guids2
std::vector< Guid > m_guids2
List of guids for std::vector<ElementLink<DV> > classes.
Definition
T_AthenaPoolViewVectorCnv.h:110
T_AthenaPoolViewVectorCnv::Base
T_AthenaPoolCustomCnv< trans_t, pers_t > Base
Base class.
Definition
T_AthenaPoolViewVectorCnv.h:63
T_AthenaPoolViewVectorCnv::initGuids
std::vector< Guid > initGuids(const std::type_info &ti) const
Return the set of GUIDs for persistent type ti.
T_AthenaPoolViewVectorCnv::trans_t
ViewVector< DV > trans_t
The transient and persistent types.
Definition
T_AthenaPoolViewVectorCnv.h:56
T_AthenaPoolViewVectorCnv::initialize
virtual StatusCode initialize() override
Standard Gaudi initialize method.
T_AthenaPoolViewVectorCnv::createTransient
virtual trans_t * createTransient(const Token *token) override
Read the persistent object and convert it to transient.
T_AthenaPoolViewVectorCnv::m_guids
std::vector< Guid > m_guids
List of guids for ViewVector classes.
Definition
T_AthenaPoolViewVectorCnv.h:107
T_AthenaPoolViewVectorCnv::pers2_t
std::vector< ElementLink< DV > > pers2_t
Alternate persistent type; raw vector of EL.
Definition
T_AthenaPoolViewVectorCnv.h:60
T_AthenaPoolViewVectorCnv::pers_t
trans_t pers_t
Definition
T_AthenaPoolViewVectorCnv.h:57
T_AthenaPoolViewVectorCnv::createPersistent
virtual pers_t * createPersistent(trans_t *trans) override
Convert a transient object to persistent form.
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition
Token.h:22
ViewVector
Identify view containers to be made persistent.
Definition
ViewVector.h:67
dataVectorAsELV.h
Helper to make a vector<EL> from a DataVector.
Generated on
for ATLAS Offline Software by
1.17.0