CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
edm::ValidHandle< T > Class Template Reference

#include <ValidHandle.h>

Public Types

using element_type = T
 

Public Member Functions

ProductID const & id () const noexcept(true)
 
T const & operator* () const noexcept(true)
 
T const * operator-> () const noexcept(true)
 
ValidHandle< T > & operator= (ValidHandle< T > const &rhs)=default
 
T const * product () const noexcept(true)
 
 ValidHandle ()=delete
 
 ValidHandle (const ValidHandle< T > &)=default
 
 ValidHandle (T const &prod, ProductID id) noexcept(true)
 
 ValidHandle (T const *prod, ProductID id) noexcept(false)
 
 ~ValidHandle ()=default
 

Private Attributes

ProductID id_
 
T const * product_
 

Detailed Description

template<typename T>
class edm::ValidHandle< T >

Definition at line 20 of file ValidHandle.h.

Member Typedef Documentation

◆ element_type

template<typename T>
using edm::ValidHandle< T >::element_type = T

Definition at line 22 of file ValidHandle.h.

Constructor & Destructor Documentation

◆ ValidHandle() [1/4]

template<typename T>
edm::ValidHandle< T >::ValidHandle ( )
delete

◆ ValidHandle() [2/4]

template<typename T>
edm::ValidHandle< T >::ValidHandle ( T const *  prod,
ProductID  id 
)
inlinenoexcept

Definition at line 25 of file ValidHandle.h.

25  : product_(prod), id_(std::move(id)) {
27  }

References dumpMFGeometry_cfg::prod, and edm::vhhelper::throwIfNotValid().

◆ ValidHandle() [3/4]

template<typename T>
edm::ValidHandle< T >::ValidHandle ( T const &  prod,
ProductID  id 
)
inlinenoexcept

Definition at line 30 of file ValidHandle.h.

30 : product_(&prod), id_(std::move(id)) {}

◆ ValidHandle() [4/4]

template<typename T>
edm::ValidHandle< T >::ValidHandle ( const ValidHandle< T > &  )
default

◆ ~ValidHandle()

template<typename T>
edm::ValidHandle< T >::~ValidHandle ( )
default

Member Function Documentation

◆ id()

template<typename T>
ProductID const& edm::ValidHandle< T >::id ( ) const
inlinenoexcept

Definition at line 35 of file ValidHandle.h.

35 { return id_; }

References edm::ValidHandle< T >::id_.

◆ operator*()

template<typename T>
T const& edm::ValidHandle< T >::operator* ( ) const
inlinenoexcept

Definition at line 40 of file ValidHandle.h.

40 { return *product(); }

References edm::ValidHandle< T >::product().

◆ operator->()

template<typename T>
T const* edm::ValidHandle< T >::operator-> ( ) const
inlinenoexcept

Definition at line 39 of file ValidHandle.h.

39 { return product(); }

References edm::ValidHandle< T >::product().

◆ operator=()

template<typename T>
ValidHandle<T>& edm::ValidHandle< T >::operator= ( ValidHandle< T > const &  rhs)
default

◆ product()

template<typename T>
T const* edm::ValidHandle< T >::product ( ) const
inlinenoexcept

Definition at line 37 of file ValidHandle.h.

37 { return product_; }

References edm::ValidHandle< T >::product_.

Referenced by edm::ValidHandle< T >::operator*(), and edm::ValidHandle< T >::operator->().

Member Data Documentation

◆ id_

template<typename T>
ProductID edm::ValidHandle< T >::id_
private

Definition at line 44 of file ValidHandle.h.

Referenced by edm::ValidHandle< T >::id().

◆ product_

template<typename T>
T const* edm::ValidHandle< T >::product_
private

Definition at line 43 of file ValidHandle.h.

Referenced by edm::ValidHandle< T >::product().

dumpMFGeometry_cfg.prod
prod
Definition: dumpMFGeometry_cfg.py:24
edm::ValidHandle::id_
ProductID id_
Definition: ValidHandle.h:44
edm::vhhelper::throwIfNotValid
void throwIfNotValid(const void *) noexcept(false)
Definition: ValidHandle.cc:5
eostools.move
def move(src, dest)
Definition: eostools.py:511
edm::ValidHandle::product_
T const * product_
Definition: ValidHandle.h:43
edm::ValidHandle::product
T const * product() const noexcept(true)
Definition: ValidHandle.h:37