1 #ifndef DataFormats_Common_RefProd_h
2 #define DataFormats_Common_RefProd_h
93 template <
typename T,
typename F>
97 template <
typename T,
typename F>
178 template<
typename C,
typename T,
typename F>
182 template <
typename C>
183 template <
typename T,
typename F>
186 product_(ref.id(), ref.hasProductCache() ? ref.product() : 0, ref.productGetter(), ref.isTransient())
190 template <
typename C>
191 template <
typename T,
typename F>
194 product_(ref.id(), ref.hasProductCache() ? ref.product() : 0, ref.productGetter(), ref.isTransient())
198 template <
typename C>
205 template <
typename C>
218 template <
typename C>
225 template <
typename C>
229 return !(lhs == rhs);
232 template <
typename C>
236 return (lhs.refCore() < rhs.refCore());
249 namespace reftobase {
251 template <
typename T>
255 return std::auto_ptr<BaseVectorHolder<T> >();
259 return std::auto_ptr<RefVectorHolderBase>();
263 template<
typename C,
typename T>
271 return std::auto_ptr<RefVectorHolderBase>();
275 return std::auto_ptr<RefVectorHolderBase>();
void swap(ora::Record &rh, ora::Record &lh)
static std::auto_ptr< BaseVectorHolder< T > > makeVectorHolder()
EDProductGetter const * mustBeNonZero(EDProductGetter const *prodGetter, std::string refType, ProductID const &productID)
bool operator!() const
Checks for null.
RefProd()
Default constructor needed for reading from persistent store. Not for direct use. ...
RefProd(OrphanHandle< C > const &handle)
General purpose constructor from orphan handle.
T const * product() const
bool isNull() const
Checks for null.
bool hasProductCache() const
Checks if product is in memory.
bool operator!=(debugging_allocator< X > const &, debugging_allocator< Y > const &)
bool operator==(const CaloTower &t1, const CaloTower &t2)
#define CMS_CLASS_VERSION(_version_)
product_type const * operator->() const
Member dereference operator.
RefProdRefHolderToRefVector type
static void throwThis(Code category, char const *message0="", char const *message1="", char const *message2="", char const *message3="", char const *message4="")
bool hasCache() const
Checks if product is in memory.
RefProd(ProductID const &productID, EDProductGetter const *prodGetter)
EDProductGetter const * productGetter() const
Accessor for product getter.
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
static std::auto_ptr< RefVectorHolderBase > makeVectorHolder()
void const * productPtr() const
void swap(RefProd< C > &)
bool isTransient() const
Checks if this RefProd is transient (i.e. not persistable).
RefProdHolderToVector< T > type
static std::auto_ptr< RefVectorHolderBase > makeVectorBaseHolder()
void checkTypeAtCompileTime(C const *ptr)
static std::auto_ptr< RefVectorHolderBase > makeVectorBaseHolder()
RefCore const & refCore() const
edm::RefProd< Container > RefProd
product_type const & operator*() const
Dereference operator.
T const * product() const
T const * product() const
EDProductGetter const * productGetter() const
RefProd(TestHandle< C > const &handle)
General purpose constructor from test handle.
product_type const * product() const
bool isNonnull() const
Checks for non-null.
ProductID id() const
Accessor for product ID.
RefProd(Handle< C > const &handle)
General purpose constructor from handle.
RefProd(C const *product)
Constructor for ref to object that is not in an event.
edm::RefVector< Container > RefVector