PandaRoot
PndSTDConstContainer.h File Reference

Input and Output Container implementation of PndConstContainerI using an underlying std::vector<T> (const)*. More...

#include <stdexcept>
#include <vector>
#include "TString.h"
#include "FairLogger.h"
#include "FairRootManager.h"
#include "PndConstContainerI.h"

Go to the source code of this file.

Classes

class  PndSTDConstContainer< T >
 PndSTDConstContainer implementation of PndConstContainerI<T> for FairRootManager and std::vector<T> More...
 

Detailed Description

Input and Output Container implementation of PndConstContainerI using an underlying std::vector<T> (const)*.

Author
Ben Salisbury (salis.nosp@m.bury.nosp@m.@hisk.nosp@m.p.un.nosp@m.i-bon.nosp@m.n.de) Contains definition and implementation of PndSTDConstContainer<T> and PndSTDMutableContainer<T>

PndSTDConstContainer<T> causes some issues. We cannot implement std::vector<T *> GetVector() in PndConstContainerI without T * GetElement(Int_t t_idx) on the std::vector<T> const * fSTD which is why we had to implement an ugly workaround by copying fSTD into a persistent helper vector<T> and pass that address in GetElement. ConstContainer should not be changed anyhow, but this is definitely odd.

Version
0.1
Date
2020-12-04

Definition in file PndSTDConstContainer.h.