CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
edm::CloningPtr< T, P > Class Template Reference

#include <CloningPtr.h>

Public Member Functions

 CloningPtr ()
 
 CloningPtr (const T &iPtr)
 
 CloningPtr (std::auto_ptr< T > iPtr)
 
 CloningPtr (const CloningPtr< T, P > &iPtr)
 
Tget () const
 
Toperator* () const
 
Toperator-> () const
 
CloningPtr< T, P > & operator= (const CloningPtr< T, P > &iRHS)
 
void swap (CloningPtr< T, P > &iPtr)
 
 ~CloningPtr ()
 

Private Attributes

Tptr_
 

Detailed Description

template<class T, class P = ClonePolicy<T>>
class edm::CloningPtr< T, P >

Definition at line 32 of file CloningPtr.h.

Constructor & Destructor Documentation

template<class T, class P = ClonePolicy<T>>
edm::CloningPtr< T, P >::CloningPtr ( )
inline

Definition at line 34 of file CloningPtr.h.

34 : ptr_(0) {}
template<class T, class P = ClonePolicy<T>>
edm::CloningPtr< T, P >::CloningPtr ( const T iPtr)
inline

Definition at line 35 of file CloningPtr.h.

35 : ptr_(P::clone(iPtr)) {}
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
template<class T, class P = ClonePolicy<T>>
edm::CloningPtr< T, P >::CloningPtr ( std::auto_ptr< T iPtr)
inline

Definition at line 36 of file CloningPtr.h.

36 : ptr_(iPtr.release()) {}
template<class T, class P = ClonePolicy<T>>
edm::CloningPtr< T, P >::CloningPtr ( const CloningPtr< T, P > &  iPtr)
inline

Definition at line 37 of file CloningPtr.h.

37 : ptr_(P::clone(*(iPtr.ptr_))) {}
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition: eve_macros.cc:135
template<class T, class P = ClonePolicy<T>>
edm::CloningPtr< T, P >::~CloningPtr ( )
inline

Definition at line 49 of file CloningPtr.h.

References edm::CloningPtr< T, P >::ptr_.

49 { delete ptr_;}

Member Function Documentation

template<class T, class P = ClonePolicy<T>>
T* edm::CloningPtr< T, P >::get ( void  ) const
inline
template<class T, class P = ClonePolicy<T>>
T& edm::CloningPtr< T, P >::operator* ( ) const
inline

Definition at line 52 of file CloningPtr.h.

References edm::CloningPtr< T, P >::ptr_.

52 { return *ptr_; }
template<class T, class P = ClonePolicy<T>>
T* edm::CloningPtr< T, P >::operator-> ( ) const
inline

Definition at line 54 of file CloningPtr.h.

References edm::CloningPtr< T, P >::ptr_.

54 { return ptr_; }
template<class T, class P = ClonePolicy<T>>
CloningPtr<T,P>& edm::CloningPtr< T, P >::operator= ( const CloningPtr< T, P > &  iRHS)
inline

Definition at line 39 of file CloningPtr.h.

References edm::CloningPtr< T, P >::swap(), and groupFilesInBlocks::temp.

39  {
40  CloningPtr<T,P> temp(iRHS);
41  swap(temp);
42  return *this;
43  }
void swap(CloningPtr< T, P > &iPtr)
Definition: CloningPtr.h:45
template<class T, class P = ClonePolicy<T>>
void edm::CloningPtr< T, P >::swap ( CloningPtr< T, P > &  iPtr)
inline

Definition at line 45 of file CloningPtr.h.

References edm::CloningPtr< T, P >::ptr_, and std::swap().

Referenced by edm::CloningPtr< T, P >::operator=(), and edm::swap().

45  {
46  std::swap(ptr_, iPtr.ptr_);
47  }
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)

Member Data Documentation

template<class T, class P = ClonePolicy<T>>
T* edm::CloningPtr< T, P >::ptr_
private