1 #ifndef DataFormats_Common_RefProd_h
2 #define DataFormats_Common_RefProd_h
91 template<
typename T,
typename F>
95 template<
typename T,
typename F>
176 template<
typename C,
typename T,
typename F>
181 template<
typename T,
typename F>
184 product_(ref.id(), ref.hasProductCache() ? ref.product() : 0, ref.productGetter(), ref.isTransient()) {
189 template<
typename T,
typename F>
192 product_(ref.id(), ref.hasProductCache() ? ref.product() : 0, ref.productGetter(), ref.isTransient()) {
227 return !(lhs == rhs);
234 return(lhs.refCore() < rhs.refCore());
247 namespace reftobase {
253 return std::auto_ptr<BaseVectorHolder<T> >();
257 return std::auto_ptr<RefVectorHolderBase>();
261 template<
typename C,
typename T>
269 return std::auto_ptr<RefVectorHolderBase>();
273 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_)
void checkTypeAtCompileTime(C const *)
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()
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.
RefProd(C const *iProduct)
Constructor for ref to object that is not in an event.
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.
volatile std::atomic< bool > shutdown_flag false
edm::RefVector< Container > RefVector