ATLAS Offline Software
Loading...
Searching...
No Matches
TrigNavTest::TestBContainerView Class Reference

#include <TestTypesB.h>

Inheritance diagram for TrigNavTest::TestBContainerView:
Collaboration diagram for TrigNavTest::TestBContainerView:

Public Types

typedef TestBContainer::size_type size_type
 Basic types, forwarded from the base.
typedef TestBContainer::difference_type difference_type
typedef TestBContainer::allocator_type allocator_type
typedef TestBContainer::base_value_type base_value_type
typedef TestBContainer::BaseContainer BaseContainer
typedef TestBContainer::DVL_BASE DVL_BASE
typedef TestBContainer::const_iterator const_iterator
typedef TestBContainer::const_reverse_iterator const_reverse_iterator
typedef TestBContainer::value_type value_type
typedef TestBContainer::const_value_type const_value_type
typedef TestBContainer::reference reference
typedef TestBContainer::const_reference const_reference
typedef TestBContainer::pointer pointer
typedef TestBContainer::const_pointer const_pointer
typedef TestBContainer::unique_type unique_type
typedef std::vector< ElementLink< TestBContainer > > Pers_t
 The old persistent form of this class.

Public Member Functions

 TestBContainerView ()
void clearPersistent ()
 Clear the persistent data.
void setClearOnPersistent ()
 Set a flag to declare that the vector should be cleared on the next call to toPersistent().

Static Public Attributes

static constexpr bool must_own
 If true, then this type must own its contents.

Protected Member Functions

template<class DV>
void doToPersistent1 (DV &v, const std::true_type &)
 Convert to persistent form.
template<class DV>
void doToPersistent1 (DV &, const std::false_type &)
 Convert to persistent form.
template<class DV>
void doToPersistent (DV &v)
 Convert to persistent form.
template<class DV>
void doToTransient2 (DV &v, const std::true_type &)
 Convert to transient form.
template<class DV>
void doToTransient2 (DV &, const std::false_type &)
 Convert to transient form.
template<class DV>
void doToTransient1 (DV &v, const std::true_type &)
 Convert to persistent form.
template<class DV>
void doToTransient1 (DV &, const std::false_type &)
 Convert to transient form.
template<class DV>
void doToTransient (DV &v)
 Convert to persistent form.

Private Attributes

std::vector< sgkey_t > m_persKey
 The persistent form. (sgkey, index)
std::vector< unsigned int > m_persIndex
bool m_clearOnPersistent = false
 If true, the vector should be cleared when doPersistent is called.

Constructors, destructors, assignment.

void clear (SG::OwnershipPolicy ownPolicy)
virtual void toPersistent () override
 Convert the vector to persistent form.
virtual void toTransient () override
 Convert the vector to transient form.
void registerBaseInit ()
 Helper to ensure that the inheritance information for this class gets initialized.

Detailed Description

Definition at line 45 of file TestTypesB.h.

Member Typedef Documentation

◆ allocator_type

typedef TestBContainer::allocator_type ViewVector< TestBContainer >::allocator_type
inherited

Definition at line 72 of file ViewVector.h.

◆ base_value_type

typedef TestBContainer::base_value_type ViewVector< TestBContainer >::base_value_type
inherited

Definition at line 73 of file ViewVector.h.

◆ BaseContainer

typedef TestBContainer::BaseContainer ViewVector< TestBContainer >::BaseContainer
inherited

Definition at line 74 of file ViewVector.h.

◆ const_iterator

◆ const_pointer

typedef TestBContainer::const_pointer ViewVector< TestBContainer >::const_pointer
inherited

Definition at line 83 of file ViewVector.h.

◆ const_reference

typedef TestBContainer::const_reference ViewVector< TestBContainer >::const_reference
inherited

Definition at line 81 of file ViewVector.h.

◆ const_reverse_iterator

typedef TestBContainer::const_reverse_iterator ViewVector< TestBContainer >::const_reverse_iterator
inherited

Definition at line 77 of file ViewVector.h.

◆ const_value_type

typedef TestBContainer::const_value_type ViewVector< TestBContainer >::const_value_type
inherited

Definition at line 79 of file ViewVector.h.

◆ difference_type

typedef TestBContainer::difference_type ViewVector< TestBContainer >::difference_type
inherited

Definition at line 71 of file ViewVector.h.

◆ DVL_BASE

typedef TestBContainer::DVL_BASE ViewVector< TestBContainer >::DVL_BASE
inherited

Definition at line 75 of file ViewVector.h.

◆ Pers_t

typedef std::vector<ElementLink<TestBContainer> > ViewVector< TestBContainer >::Pers_t
inherited

The old persistent form of this class.

Definition at line 91 of file ViewVector.h.

◆ pointer

typedef TestBContainer::pointer ViewVector< TestBContainer >::pointer
inherited

Definition at line 82 of file ViewVector.h.

◆ reference

Definition at line 80 of file ViewVector.h.

◆ size_type

typedef TestBContainer::size_type ViewVector< TestBContainer >::size_type
inherited

Basic types, forwarded from the base.

Definition at line 70 of file ViewVector.h.

◆ unique_type

typedef TestBContainer::unique_type ViewVector< TestBContainer >::unique_type
inherited

Definition at line 84 of file ViewVector.h.

◆ value_type

Definition at line 78 of file ViewVector.h.

Constructor & Destructor Documentation

◆ TestBContainerView()

TrigNavTest::TestBContainerView::TestBContainerView ( )
inline

Definition at line 47 of file TestTypesB.h.

ViewVector(SG::OwnershipPolicy ownPolicy=SG::VIEW_ELEMENTS)
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts

Member Function Documentation

◆ clear()

void ViewVector< TestBContainer >::clear ( SG::OwnershipPolicy ownPolicy)
inherited

◆ clearPersistent()

void SG::ViewVectorBase::clearPersistent ( )
inherited

Clear the persistent data.

◆ doToPersistent()

template<class DV>
void SG::ViewVectorBase::doToPersistent ( DV & v)
protectedinherited

Convert to persistent form.

Parameters
vThe vector to convert.

This will abort if called for a class with no CLID.

◆ doToPersistent1() [1/2]

template<class DV>
void SG::ViewVectorBase::doToPersistent1 ( DV & ,
const std::false_type &  )
protectedinherited

Convert to persistent form.

Parameters
vThe vector to convert.

Called for classes that do not have a CLID. This will simply abort.

◆ doToPersistent1() [2/2]

template<class DV>
void SG::ViewVectorBase::doToPersistent1 ( DV & v,
const std::true_type &  )
protectedinherited

Convert to persistent form.

Parameters
vThe vector to convert.

Called for classes that have a CLID.

◆ doToTransient()

template<class DV>
void SG::ViewVectorBase::doToTransient ( DV & v)
inlineprotectedinherited

Convert to persistent form.

Parameters
vThe vector to convert.

Dispatch based on whether the class has a CLID.

Definition at line 157 of file ViewVectorBase.h.

158 {
159#ifdef XAOD_STANDALONE
160 doToTransient1 (v, std::true_type());
161#else
163#endif
164 }
void doToTransient1(DV &v, const std::true_type &)
Convert to persistent form.

◆ doToTransient1() [1/2]

template<class DV>
void SG::ViewVectorBase::doToTransient1 ( DV & ,
const std::false_type &  )
inlineprotectedinherited

Convert to transient form.

Parameters
vThe vector to fill in.

Called for the case that DV doesn't have a CLID. A no-op.

This is also what will get called for the case of an older version of a schema-evolved vector.

Definition at line 147 of file ViewVectorBase.h.

147{}

◆ doToTransient1() [2/2]

template<class DV>
void SG::ViewVectorBase::doToTransient1 ( DV & v,
const std::true_type &  )
inlineprotectedinherited

Convert to persistent form.

Parameters
vThe vector to convert.

Class has a CLID; dispatch based on whether DV is a ConstDataVector.

Definition at line 131 of file ViewVectorBase.h.

132 {
133 doToTransient2 (v, std::is_same<DV, typename DV::base_data_vector>());
134 }
void doToTransient2(DV &v, const std::true_type &)
Convert to transient form.

◆ doToTransient2() [1/2]

template<class DV>
void SG::ViewVectorBase::doToTransient2 ( DV & ,
const std::false_type &  )
inlineprotectedinherited

Convert to transient form.

Parameters
vThe vector to fill in.

Called for the case that DV is not a ConstDataVector. A no-op.

Definition at line 121 of file ViewVectorBase.h.

121{}

◆ doToTransient2() [2/2]

template<class DV>
void SG::ViewVectorBase::doToTransient2 ( DV & v,
const std::true_type &  )
protectedinherited

Convert to transient form.

Parameters
vThe vector to fill in.

Called for classes that have a CLID if DV is not a ConstDataVector.

◆ registerBaseInit()

void ViewVector< TestBContainer >::registerBaseInit ( )
privateinherited

Helper to ensure that the inheritance information for this class gets initialized.

◆ setClearOnPersistent()

void SG::ViewVectorBase::setClearOnPersistent ( )
inherited

Set a flag to declare that the vector should be cleared on the next call to toPersistent().

This would be used in the case where we make a copy of the object being written.

◆ toPersistent()

virtual void ViewVector< TestBContainer >::toPersistent ( )
overridevirtualinherited

Convert the vector to persistent form.

Implements SG::ViewVectorBase.

◆ toTransient()

virtual void ViewVector< TestBContainer >::toTransient ( )
overridevirtualinherited

Convert the vector to transient form.

Implements SG::ViewVectorBase.

Member Data Documentation

◆ m_clearOnPersistent

bool SG::ViewVectorBase::m_clearOnPersistent = false
privateinherited

If true, the vector should be cleared when doPersistent is called.

Definition at line 176 of file ViewVectorBase.h.

◆ m_persIndex

std::vector<unsigned int> SG::ViewVectorBase::m_persIndex
privateinherited

Definition at line 173 of file ViewVectorBase.h.

◆ m_persKey

std::vector<sgkey_t> SG::ViewVectorBase::m_persKey
privateinherited

The persistent form. (sgkey, index)

Definition at line 172 of file ViewVectorBase.h.

◆ must_own

bool ViewVector< TestBContainer >::must_own
staticconstexprinherited

If true, then this type must own its contents.

Definition at line 88 of file ViewVector.h.


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