ATLAS Offline Software
Loading...
Searching...
No Matches
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
23#include "StorageSvc/DbReflex.h"
27#include "AthLinks/ElementLink.h"
30#include "CxxUtils/StrFormat.h"
31#include <vector>
32#include <cstdlib>
33
34
48template <class DV>
50 : public T_AthenaPoolCustomCnv<ViewVector<DV>, ViewVector<DV> >
51{
52public:
55 typedef trans_t pers_t;
56
58 typedef std::vector<ElementLink<DV> > pers2_t;
59
62
63
68 T_AthenaPoolViewVectorCnv (ISvcLocator* svcloc);
69
70
74 virtual StatusCode initialize() override;
75
76
83 virtual pers_t* createPersistent( trans_t* trans ) override;
84
85
92 virtual trans_t* createTransient() override;
93
94
95private:
102 std::vector<pool::Guid> initGuids (const std::type_info& ti) const;
103
105 std::vector<pool::Guid> m_guids;
106
108 std::vector<pool::Guid> m_guids2;
109};
110
111
113
114
115#endif // not ATHENAPOOLCNVSVC_T_ATHENAPOOLVIEWVECTORCNV_H
DataVector adapter that acts like it holds const pointers.
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataO...
Helpers for checking error return status codes and reporting errors.
A couple hooks for debugging.
Exceptions that can be thrown from AthenaPoolCnvSvc.
Provide helper functions to create formatted strings.
his file contains the class definition for the templated T_AthenaPoolCustomCnv class.
Identify view containers to be made persistent.
Compatibility for old converter classes that don't get passed the key.
virtual trans_t * createTransient() override
Read the persistent object and convert it to transient.
std::vector< pool::Guid > m_guids
List of guids for ViewVector classes.
std::vector< pool::Guid > m_guids2
List of guids for std::vector<ElementLink<DV> > classes.
T_AthenaPoolViewVectorCnv(ISvcLocator *svcloc)
Constructor.
T_AthenaPoolCustomCnv< trans_t, pers_t > Base
Base class.
std::vector< pool::Guid > initGuids(const std::type_info &ti) const
Return the set of GUIDs for persistent type ti.
ViewVector< DV > trans_t
The transient and persistent types.
virtual StatusCode initialize() override
Standard Gaudi initialize method.
std::vector< ElementLink< DV > > pers2_t
Alternate persistent type; raw vector of EL.
virtual pers_t * createPersistent(trans_t *trans) override
Convert a transient object to persistent form.
Identify view containers to be made persistent.
Definition ViewVector.h:67
Helper to make a vector<EL> from a DataVector.