1 #ifndef DataFormats_Common_FwdPtr_h
2 #define DataFormats_Common_FwdPtr_h
22 #include "boost/type_traits/is_base_of.hpp"
23 #include "boost/utility/enable_if.hpp"
140 return ( lhs.ptr() == rhs.ptr() ||
141 lhs.backPtr() == rhs.ptr() ||
142 lhs.ptr() == rhs.backPtr() ||
143 lhs.backPtr() == rhs.backPtr() );
146 template <
typename T>
150 return !(lhs == rhs);
153 template <
typename T>
159 return ( lhs.ptr() < rhs.ptr() );
Ptr< value_type > const & ptr() const
T const & operator*() const
Dereference operator.
FwdPtr(Ptr< C > f, Ptr< C > b)
bool operator!=(debugging_allocator< X > const &, debugging_allocator< Y > const &)
#define CMS_CLASS_VERSION(_version_)
Ptr< value_type > const & backPtr() const
bool hasProductCache() const
bool isNonnull() const
Checks for non-null.
RefCore const & refCore() const
T const * get() const
Returns C++ pointer to the item.
FwdPtr(FwdPtr< T > const &iOther)
ProductID id() const
Accessor for product ID.
bool isNull() const
Checks for null.
RefCore const & refCore() const
void const * product() const
bool isTransient() const
Checks if this FwdPtr is transient (i.e. not persistable).
bool operator!() const
Checks for null.
bool isTransient() const
Checks if this Ptr is transient (i.e. not persistable).
ProductID id() const
Accessor for product ID.
bool hasProductCache() const
EDProductGetter const * productGetter() const
Accessor for product getter.
bool isNonnull() const
Checks for non-null.
friend class FwdPtrVectorBase
T const * operator->() const
Member dereference operator.
EDProductGetter const * productGetter() const
Accessor for product getter.
Ptr< value_type > backPtr_