|
|
Go to the documentation of this file. 1 #ifndef DataFormats_Common_Wrapper_h
2 #define DataFormats_Common_Wrapper_h
24 class Wrapper :
public WrapperBase {
29 explicit Wrapper(std::unique_ptr<T> ptr);
31 template <
typename... Args>
32 explicit Wrapper(Emplace, Args&&...);
64 std::vector<void const*>& pointers,
66 void do_setPtr(std::type_info
const& iToType,
unsigned long iIndex,
void const*& oPtr)
const override;
68 std::vector<unsigned long>
const& iIndices,
69 std::vector<void const*>& oPtr)
const override;
71 std::shared_ptr<soa::TableExaminerBase>
tableExaminer_()
const override;
91 template <
typename... Args>
96 std::unique_ptr<T>
temp(ptr);
102 template <
typename T>
107 template <
typename T>
112 template <
typename T>
117 template <
typename T>
120 assert(wrappedNewProduct !=
nullptr);
124 template <
typename T>
129 template <
typename T>
132 assert(wrappedNewProduct !=
nullptr);
136 template <
typename T>
141 template <
typename T>
144 assert(wrappedNewProduct !=
nullptr);
151 static std::shared_ptr<edm::soa::TableExaminerBase>
make(
void const*) {
152 return std::shared_ptr<edm::soa::TableExaminerBase>{};
156 template <
typename T>
163 #include "DataFormats/Common/interface/WrapperView.icc"
std::vector< std::pair< edm::ProductID, unsigned long > > FillViewHelperVector
void do_fillPtrVector(std::type_info const &iToType, std::vector< unsigned long > const &iIndices, std::vector< void const * > &oPtr) const override
std::type_info const & wrappedTypeInfo_() const override
std::type_info const & memberTypeInfo_() const override
bool mergeProduct_(WrapperBase const *newProduct) override
std::shared_ptr< soa::TableExaminerBase > tableExaminer_() const override
static std::type_info const & productTypeInfo()
std::type_info const & dynamicTypeInfo_() const override
void do_fillView(ProductID const &id, std::vector< void const * > &pointers, FillViewHelperVector &helpers) const override
T const * product() const
void do_setPtr(std::type_info const &iToType, unsigned long iIndex, void const *&oPtr) const override
#define CMS_CLASS_VERSION(_version_)
bool isProductEqual_(WrapperBase const *newProduct) const override
bool isMergeable_() const override
T const & get(Event const &event, InputTag const &tag) noexcept(false)
Wrapper< T > & operator=(Wrapper< T > const &)=delete
static std::type_info const & typeInfo()
S make(const edm::ParameterSet &cfg)
bool hasSwap_() const override
void swapProduct_(WrapperBase *newProduct) override
bool isPresent_() const override
bool hasIsProductEqual_() const override
T const * operator->() const
std::type_info const & valueTypeInfo_() const override
static std::shared_ptr< edm::soa::TableExaminerBase > make(void const *)