14#ifndef ATHCONTAINERS_VIEWVECTORBASE_H
15#define ATHCONTAINERS_VIEWVECTORBASE_H
20#include "AthLinks/ElementLinkBase.h"
26class ViewVectorBaseTest;
133 doToTransient2 (v, std::is_same<DV, typename DV::base_data_vector>());
159#ifdef XAOD_STANDALONE
169 friend class ::ViewVectorBaseTest;
Hold the persistent representation for a ViewVector.
void doToPersistent(DV &v)
Convert to persistent form.
void doToTransient1(DV &, const std::false_type &)
Convert to transient form.
void doToPersistent1(DV &v, const std::true_type &)
Convert to persistent form.
void clearPersistent()
Clear the persistent data.
void doToTransient1(DV &v, const std::true_type &)
Convert to persistent form.
virtual void toPersistent()=0
Convert the vector to persistent form.
void doToTransient2(DV &v, const std::true_type &)
Convert to transient form.
std::vector< unsigned int > m_persIndex
void doToTransient2(DV &, const std::false_type &)
Convert to transient form.
virtual ~ViewVectorBase()=default
Destructor.
virtual void toTransient()=0
Convert the vector to transient form.
void setClearOnPersistent()
Set a flag to declare that the vector should be cleared on the next call to toPersistent().
void doToTransient(DV &v)
Convert to persistent form.
bool m_clearOnPersistent
If true, the vector should be cleared when doPersistent is called.
void doToPersistent1(DV &, const std::false_type &)
Convert to persistent form.
std::vector< sgkey_t > m_persKey
The persistent form. (sgkey, index)
Helper to make a vector<EL> from a DataVector.
std::false_type has_classID_tag