1 #ifndef DataFormats_Common_RefHolder__h
2 #define DataFormats_Common_RefHolder__h
18 class RefHolder :
public RefHolderBase {
26 ProductID
id()
const override;
27 size_t key()
const override;
73 RefHolder const*
h(dynamic_cast<RefHolder const*>(&rhs));
74 return h && (
getRef() == h->getRef());
80 bool conversion_worked = (h !=
nullptr);
81 if (conversion_worked)
84 msg =
typeid(REF).
name();
85 return conversion_worked;
95 return ref_.productGetter();
111 if (iToType ==
typeid(contained_type)) {
helper::MatcherGetRef< C >::ref_type getRef(const Handle< C > &c, size_t k)
bool isAvailable() const override
void const * pointerToType(std::type_info const &iToType) const override
REF const & getRef() const
std::unique_ptr< RefVectorHolderBase > makeVectorHolder() const override
#define CMS_CLASS_VERSION(_version_)
Container::value_type value_type
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
bool isTransient() const override
ProductID id() const override
RefHolderBase * clone() const override
bool fillRefIfMyTypeMatches(RefHolderBase &fillme, std::string &msg) const override
void setRef(REF const &r)
EDProductGetter const * productGetter() const override
bool isEqualTo(RefHolderBase const &rhs) const override
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
void const * pointerToBase(std::type_info const &baseTypeInfo, T const *address)
void swap(RefHolder &other)
size_t key() const override