xAOD::AuxPersInfo< T > Class Template Reference

#include <AuxPersInfo.h>

Inheritance diagram for xAOD::AuxPersInfo< T >:
SG::IAuxTypeVector

List of all members.

Public Types

typedef Tinfo_type
 Convenience type definition.

Public Member Functions

 AuxPersInfo (info_type info)
 Constructor.
virtual SG::IAuxTypeVectorclone () const
 Make a copy of this vector.
virtual void * toPtr ()
 Return a pointer to the start of the vector's data.
virtual void * toVector ()
 Return a pointer to the STL vector itself.
virtual size_t size () const
 Return the size of the vector.
virtual void resize (size_t sz)
 Change the size of the vector.
virtual void reserve (size_t sz)
 Change the capacity of the vector.
virtual void shift (size_t, ptrdiff_t)
 Shift the elements of the vector.
virtual const std::type_info * objType () const
 Return the type of the complete object to be saved.

Detailed Description

template<class T>
class xAOD::AuxPersInfo< T >

Class managing concrete persistent variables

This class is used internally by the "special" auxiliary store objects to manage the auxiliary variables handled by them. User code probably doesn't want to touch it directly...

Author:
Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Revision
634134
Date
2014-12-05 20:27:41 +0100 (Fri, 05 Dec 2014)

Member Function Documentation

template<class T>
virtual const std::type_info* xAOD::AuxPersInfo< T >::objType (  )  const [inline, virtual]

Return the type of the complete object to be saved.

For example, if the object is a std::vector, then we return the type_info of the vector. But if we're holding a PackedContainer, then we return the type_info of the PackedContainer.

Can return null if the operation is not supported. In that case, I/O will use the type found from the variable registry.

Reimplemented from SG::IAuxTypeVector.

template<class T>
virtual void xAOD::AuxPersInfo< T >::reserve ( size_t  sz  )  [inline, virtual]

Change the capacity of the vector.

Parameters:
sz The new vector capacity.

Implements SG::IAuxTypeVector.

template<class T>
virtual void xAOD::AuxPersInfo< T >::resize ( size_t  sz  )  [inline, virtual]

Change the size of the vector.

Parameters:
sz The new vector size.

Implements SG::IAuxTypeVector.

template<class T>
virtual void xAOD::AuxPersInfo< T >::shift ( size_t  pos,
ptrdiff_t  offs 
) [inline, virtual]

Shift the elements of the vector.

Parameters:
pos The starting index for the shift.
offs The (signed) amount of the shift.

This operation shifts the elements in the vectors for all aux data items, to implement an insertion or deletion. offs may be either positive or negative.

If offs is positive, then the container is growing. The container size should be increased by offs, the element at pos moved to pos + offs, and similarly for following elements. The elements between pos and pos + offs should be default-initialized.

If offs is negative, then the container is shrinking. The element at pos should be moved to pos + offs, and similarly for following elements. The container should then be shrunk by -offs elements (running destructors as appropriate).

Implements SG::IAuxTypeVector.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Apr 2017 for RootCore Packages by  doxygen 1.6.1