1#ifndef PODIO_COLLECTIONBUFFERS_H
2#define PODIO_COLLECTIONBUFFERS_H
17using UVecPtr = std::unique_ptr<std::vector<T>>;
31 template <
typename DataT>
33 return asVector<DataT>(
data);
39 return *
static_cast<std::vector<T>**
>(raw);
57 recast(std::move(recastFunc)) {
68 template <
typename DataT>
70 return asVector<DataT>(
data);
76 return static_cast<std::vector<T>*
>(raw);
std::unique_ptr< std::vector< T > > UVecPtr
std::vector< std::pair< std::string, void * > > VectorMembersInfo
std::vector< UVecPtr< podio::ObjectID > > CollRefCollection
std::function< void(CollectionReadBuffers &)> RecastFuncT
CollectionReadBuffers(CollectionWriteBuffers buffers)
CollectionReadBuffers(const CollectionReadBuffers &)=default
CreateFuncT createCollection
CollectionReadBuffers(void *d, CollRefCollection *ref, VectorMembersInfo *vec, CreateFuncT &&createFunc, RecastFuncT &&recastFunc)
CollRefCollection * references
std::vector< DataT > * dataAsVector()
std::function< std::unique_ptr< podio::CollectionBase >(podio::CollectionReadBuffers, bool)> CreateFuncT
CollectionReadBuffers & operator=(const CollectionReadBuffers &)=default
static std::vector< T > * asVector(void *raw)
VectorMembersInfo * vectorMembers
CollectionReadBuffers()=default
VectorMembersInfo * vectorMembers
std::vector< DataT > * dataAsVector()
CollRefCollection * references
static std::vector< T > * asVector(void *raw)