CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

edm::RefBase< KEY > Class Template Reference

#include <RefBase.h>

List of all members.

Public Types

typedef KEY key_type

Public Member Functions

bool isNonnull () const
bool isNull () const
bool isValid () const
 Return true if this RefBase is non-null.
key_type key () const
 Accessor for index and pointer.
 RefBase (ProductID const &productID, void const *prodPtr, key_type itemKey, void const *itemPtr, EDProductGetter const *prodGetter, bool transient)
 General purpose constructor.
 RefBase ()
 Default constructor needed for reading from persistent store. Not for direct use.
 RefBase (RefCore const &prod, KEY const &itm)
 Constructor from RefVector.
RefCore const & refCore () const
 Accessor for product ID and product getter.

Private Attributes

ConstPtrCache cache_
key_type index_
RefCore product_

Detailed Description

template<typename KEY>
class edm::RefBase< KEY >

Definition at line 21 of file RefBase.h.


Member Typedef Documentation

template<typename KEY>
typedef KEY edm::RefBase< KEY >::key_type

Definition at line 23 of file RefBase.h.


Constructor & Destructor Documentation

template<typename KEY>
edm::RefBase< KEY >::RefBase ( ) [inline]

Default constructor needed for reading from persistent store. Not for direct use.

Definition at line 26 of file RefBase.h.

template<typename KEY>
edm::RefBase< KEY >::RefBase ( ProductID const &  productID,
void const *  prodPtr,
key_type  itemKey,
void const *  itemPtr,
EDProductGetter const *  prodGetter,
bool  transient 
) [inline]

General purpose constructor.

Definition at line 29 of file RefBase.h.

                                                                                   :
      product_(productID, prodPtr, prodGetter, transient), index_(itemKey),cache_(itemPtr) {}
template<typename KEY>
edm::RefBase< KEY >::RefBase ( RefCore const &  prod,
KEY const &  itm 
) [inline]

Constructor from RefVector.

Definition at line 34 of file RefBase.h.

                                                 :
      product_(prod), index_(itm),cache_(0) {}

Member Function Documentation

template<typename KEY>
bool edm::RefBase< KEY >::isNonnull ( ) const [inline]

Definition at line 52 of file RefBase.h.

References edm::RefBase< KEY >::isValid().

{ return isValid(); }
template<typename KEY>
bool edm::RefBase< KEY >::isNull ( ) const [inline]

Definition at line 51 of file RefBase.h.

References edm::RefBase< KEY >::isValid().

{ return !isValid(); }
template<typename KEY>
bool edm::RefBase< KEY >::isValid ( void  ) const [inline]

Return true if this RefBase is non-null.

Definition at line 50 of file RefBase.h.

References edm::RefBase< KEY >::index_.

Referenced by edm::RefBase< KEY >::isNonnull(), and edm::RefBase< KEY >::isNull().

template<typename KEY>
key_type edm::RefBase< KEY >::key ( ) const [inline]

Accessor for index and pointer.

Definition at line 46 of file RefBase.h.

References edm::RefBase< KEY >::index_.

{ return index_; }
template<typename KEY>
RefCore const& edm::RefBase< KEY >::refCore ( ) const [inline]

Accessor for product ID and product getter.

Compiler-generated copy constructor, assignment operator, and destructor do the right thing.

Definition at line 41 of file RefBase.h.

References edm::RefBase< KEY >::product_.

Referenced by edm::operator==().

{ return product_;}

Member Data Documentation

template<typename KEY>
ConstPtrCache edm::RefBase< KEY >::cache_ [mutable, private]

Definition at line 57 of file RefBase.h.

template<typename KEY>
key_type edm::RefBase< KEY >::index_ [private]

Definition at line 56 of file RefBase.h.

Referenced by edm::RefBase< KEY >::isValid(), and edm::RefBase< KEY >::key().

template<typename KEY>
RefCore edm::RefBase< KEY >::product_ [private]

Definition at line 55 of file RefBase.h.

Referenced by edm::RefBase< KEY >::refCore().