1 #ifndef DataFormats_Common_IndirectHolder_h
2 #define DataFormats_Common_IndirectHolder_h
39 virtual T const*
getPtr()
const override;
41 virtual size_t key()
const override;
46 virtual std::auto_ptr<RefHolderBase>
holder()
const override;
47 virtual std::auto_ptr<BaseVectorHolder<T> >
makeVectorHolder()
const override;
104 template <
typename T>
111 template <
typename T>
115 return helper_->
template getPtr<T>();
118 template <
typename T>
122 return helper_->
id();
125 template <
typename T>
129 return helper_->key();
132 template <
typename T>
135 return helper_->productGetter();
138 template <
typename T>
146 template <
typename T>
151 return helper_->fillRefIfMyTypeMatches(fillme, msg);
154 template <
typename T>
156 return std::auto_ptr<RefHolderBase>( helper_->clone() );
160 template <
typename T>
174 namespace reftobase {
175 template <
typename T>
177 std::auto_ptr<RefVectorHolderBase>
p = helper_->makeVectorHolder();
178 std::shared_ptr<RefVectorHolderBase>
sp( p.release() );
virtual bool isTransient() const =0
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
virtual bool fillRefIfMyTypeMatches(RefHolderBase &fillme, std::string &msg) const override
virtual T const * getPtr() const override
virtual BaseHolder< T > * clone() const override
virtual bool isAvailable() const override
virtual bool isAvailable() const =0
#define CMS_CLASS_VERSION(_version_)
virtual std::auto_ptr< RefHolderBase > holder() const override
IndirectHolder(std::unique_ptr< U > p)
virtual bool isTransient() const override
virtual size_t key() const override
IndirectHolder & operator=(IndirectHolder const &rhs)
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
virtual ProductID id() const override
virtual EDProductGetter const * productGetter() const override
virtual bool isEqualTo(BaseHolder< T > const &rhs) const override
virtual ~IndirectHolder()
virtual std::auto_ptr< BaseVectorHolder< T > > makeVectorHolder() const override
void swap(IndirectHolder &other)
void swap(BaseHolder< T > &lhs, BaseHolder< T > &rhs)