1 #ifndef DataFormats_Common_IndirectHolder_h 2 #define DataFormats_Common_IndirectHolder_h 41 T const*
getPtr()
const override;
43 size_t key()
const override;
46 std::unique_ptr<RefHolderBase>
holder()
const override;
99 return helper_->template getPtr<T>();
102 template <
typename T>
104 return helper_->
id();
107 template <
typename T>
109 return helper_->key();
112 template <
typename T>
114 return helper_->productGetter();
117 template <
typename T>
120 return h && helper_->isEqualTo(*
h->helper_);
123 template <
typename T>
125 return std::unique_ptr<RefHolderBase>(helper_->clone());
129 template <
typename T>
141 namespace reftobase {
142 template <
typename T>
144 std::unique_ptr<RefVectorHolderBase>
p = helper_->makeVectorHolder();
145 std::shared_ptr<RefVectorHolderBase> sp(
p.release());
std::unique_ptr< RefHolderBase > holder() const override
bool isAvailable() const override
virtual bool isTransient() const =0
bool isTransient() const override
BaseHolder< T > * clone() const override
EDProductGetter const * productGetter() const override
virtual bool isAvailable() const =0
#define CMS_CLASS_VERSION(_version_)
~IndirectHolder() override
T const * getPtr() const override
IndirectHolder(std::unique_ptr< U > p)
size_t key() const override
IndirectHolder & operator=(IndirectHolder const &rhs)
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
def template(fileName, svg, replaceme="REPLACEME")
ProductID id() const override
bool isEqualTo(BaseHolder< T > const &rhs) const override
void swap(IndirectHolder &other)
std::unique_ptr< BaseVectorHolder< T > > makeVectorHolder() const override
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
void swap(BaseHolder< T > &lhs, BaseHolder< T > &rhs)