1 #ifndef DataFormats_Common_RefHolder__h
2 #define DataFormats_Common_RefHolder__h
19 class RefHolder :
public RefHolderBase {
27 virtual ProductID
id()
const;
28 virtual size_t key()
const;
37 virtual void const *
product()
const;
86 RefHolder const*
h(dynamic_cast<RefHolder const*>(&rhs));
87 return h && (
getRef() == h->getRef());
96 bool conversion_worked = (h != 0);
97 if (conversion_worked)
100 msg =
typeid(REF).
name();
101 return conversion_worked;
114 return ref_.productGetter();
119 return ref_.hasProductCache();
124 return ref_.product();
148 static TypeWithDict const s_type(
typeid(contained_type));
helper::MatcherGetRef< C >::ref_type getRef(const Handle< C > &c, size_t k)
void const * pointerToBaseType(void const *ptr, TypeWithDict const &derivedType) const
REF const & getRef() const
virtual ProductID id() const
virtual bool hasProductCache() const
virtual RefHolderBase * clone() const
#define CMS_CLASS_VERSION(_version_)
virtual bool isAvailable() const
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Container::value_type value_type
virtual EDProductGetter const * productGetter() const
virtual void const * product() const
virtual bool fillRefIfMyTypeMatches(RefHolderBase &fillme, std::string &msg) const
virtual std::auto_ptr< RefVectorHolderBase > makeVectorHolder() const
void setRef(REF const &r)
virtual bool isEqualTo(RefHolderBase const &rhs) const
virtual size_t key() const
virtual void const * pointerToType(TypeWithDict const &iToType) const
void swap(RefHolder &other)