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.
*Helper to ensure that the inheritance information for this class gets initialized void registerBaseInit ()

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

typedef TestBContainer::const_iterator ViewVector< TestBContainer >::const_iterator
inherited

Definition at line 76 of file ViewVector.h.

◆ 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

typedef TestBContainer::reference ViewVector< TestBContainer >::reference
inherited

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

typedef TestBContainer::value_type ViewVector< TestBContainer >::value_type
inherited

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

*Helper to ensure that the inheritance information for this class gets initialized void ViewVector< TestBContainer >::registerBaseInit ( )
privateinherited

◆ 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: