1 #ifndef DataFormats_Common_Wrapper_h
2 #define DataFormats_Common_Wrapper_h
25 class Wrapper :
public WrapperBase {
31 explicit Wrapper(std::unique_ptr<T> ptr);
62 std::vector<void const*>& pointers,
64 virtual void do_setPtr(std::type_info
const& iToType,
68 std::vector<unsigned long>
const& iIndices,
91 present(ptr.
get() != 0),
105 std::unique_ptr<T>
temp(ptr);
135 assert(wrappedNewProduct !=
nullptr);
149 assert(wrappedNewProduct !=
nullptr);
155 #include "DataFormats/Common/interface/WrapperView.icc"
virtual std::type_info const & valueTypeInfo_() const
T const * operator->() const
virtual std::type_info const & memberTypeInfo_() const
virtual bool isProductEqual_(WrapperBase const *newProduct) const
virtual bool isMergeable_() const
void swap_or_assign(T &a, T &b)
static std::type_info const & productTypeInfo()
virtual void do_fillPtrVector(std::type_info const &iToType, std::vector< unsigned long > const &iIndices, std::vector< void const * > &oPtr) const
#define CMS_CLASS_VERSION(_version_)
virtual bool mergeProduct_(WrapperBase const *newProduct)
virtual bool hasIsProductEqual_() const
virtual std::type_info const & dynamicTypeInfo_() const
virtual bool isPresent_() const
virtual void do_setPtr(std::type_info const &iToType, unsigned long iIndex, void const *&oPtr) const
T const * product() const
virtual std::type_info const & wrappedTypeInfo_() const
virtual void do_fillView(ProductID const &id, std::vector< void const * > &pointers, FillViewHelperVector &helpers) const
volatile std::atomic< bool > shutdown_flag false
std::vector< std::pair< edm::ProductID, unsigned long > > FillViewHelperVector
Wrapper< T > & operator=(Wrapper< T > const &)
T get(const Candidate &c)
static std::type_info const & typeInfo()