Helper to copy an object while applying thinning. More...
#include "AthContainers/DataVector.h"
#include "AthContainers/ConstDataVector.h"
#include "AthContainers/tools/copyAuxStoreThinned.h"
#include "AthContainersInterfaces/IAuxStore.h"
#include "AthenaKernel/IThinningSvc.h"
#include "AthContainers/tools/copyThinned.icc"
Go to the source code of this file.
Namespaces | |
namespace | SG |
Constructor from a payload object. | |
Functions | |
template<class CONTAINER > | |
CONTAINER * | SG::copyThinned (const CONTAINER &orig, IThinningSvc *svc) |
Helper to copy an object while applying thinning. | |
template<class CONTAINER > | |
CONTAINER * | SG::copyThinned1 (const CONTAINER &orig, const void *dummy, IThinningSvc *svc) |
Helper to copy an object while applying thinning. | |
template<class CONTAINER > | |
CONTAINER * | SG::copyThinned1 (const CONTAINER &orig, const DataVector< typename CONTAINER::base_value_type > *dummy, IThinningSvc *svc) |
Helper to copy an object while applying thinning. | |
template<class CONTAINER > | |
CONTAINER * | SG::copyThinned1 (const CONTAINER &orig, const SG::IAuxStore *dummy, IThinningSvc *svc) |
Helper to copy an object while applying thinning. |
Helper to copy an object while applying thinning.
DataVector
and IAuxStore
objects. Support for other types may be added by providing additional overloads for copyThinned1
.In the signature of copyThinned1
, the container is passed twice: once as a reference and once as a pointer. This allows one to use overload resolution on the pointer argument to select the proper overload, while still being able to get the derived type of the container via template binding to the first argument. See the declarations below for concrete examples.