2 #ifndef DataFormats_Common_Holder_h
3 #define DataFormats_Common_Holder_h
15 template <
class T,
class REF>
16 class Holder :
public BaseHolder<T> {
20 explicit Holder(REF
const& iRef);
24 BaseHolder<T>*
clone()
const override;
26 T const*
getPtr()
const override;
27 ProductID
id()
const override;
28 size_t key()
const override;
29 bool isEqualTo(BaseHolder<T>
const& rhs)
const override;
34 std::unique_ptr<RefHolderBase>
holder()
const override {
60 template <
class T,
class REF>
63 template <
class T,
class REF>
66 template <
class T,
class REF>
73 template <
class T,
class REF>
78 template <
class T,
class REF>
81 template <
class T,
class REF>
86 template <
class T,
class REF>
88 return ref_.operator->();
91 template <
class T,
class REF>
96 template <
class T,
class REF>
99 return h && (
getRef() == h->getRef());
104 template <
class T,
class REF>
109 template <
class T,
class REF>
111 return ref_.productGetter();
114 template <
class T,
class REF>
117 bool conversion_worked = (h !=
nullptr);
119 if (conversion_worked)
122 msg =
typeid(REF).
name();
124 return conversion_worked;
134 namespace reftobase {
136 template <
typename T,
typename REF>
139 return helper::makeVectorHolder();
147 namespace reftobase {
149 template <
class T,
class REF>
helper::MatcherGetRef< C >::ref_type getRef(const Handle< C > &c, size_t k)
std::unique_ptr< BaseVectorHolder< T > > makeVectorHolder() const override
Holder & operator=(Holder const &rhs)
REF const & getRef() const
EDProductGetter const * productGetter() const override
std::unique_ptr< RefHolderBase > holder() const override
#define CMS_CLASS_VERSION(_version_)
bool isTransient() const override
BaseHolder< T > * clone() const override
bool fillRefIfMyTypeMatches(RefHolderBase &fillme, std::string &msg) const override
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
tuple key
prepare the HTCondor submission files and eventually submit them
bool isAvailable() const override
void setRef(REF const &r)
T const * getPtr() const override
ProductID id() const override
bool isEqualTo(BaseHolder< T > const &rhs) const override
size_t key() 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)