CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
extstd::clone_ptr< T > Struct Template Reference

#include <clone_ptr.h>

Inheritance diagram for extstd::clone_ptr< T >:

Public Member Functions

template<typename... Args>
 clone_ptr (Args &&...args)
 
 clone_ptr (clone_ptr const &rh)
 
 clone_ptr (clone_ptr &&rh)
 
template<typename U >
 clone_ptr (clone_ptr< U > const &rh)
 
template<typename U >
 clone_ptr (clone_ptr< U > &&rh)
 
clone_ptroperator= (clone_ptr const &rh)
 
clone_ptroperator= (clone_ptr &&rh)
 
template<typename U >
clone_ptroperator= (clone_ptr< U > const &rh)
 
template<typename U >
clone_ptroperator= (clone_ptr< U > &&rh)
 

Detailed Description

template<typename T>
struct extstd::clone_ptr< T >

Definition at line 12 of file clone_ptr.h.

Constructor & Destructor Documentation

template<typename T>
template<typename... Args>
extstd::clone_ptr< T >::clone_ptr ( Args &&...  args)
inlineexplicit

Definition at line 15 of file clone_ptr.h.

15 : std::unique_ptr<T>(std::forward<Args>(args)...){}
template<typename T>
extstd::clone_ptr< T >::clone_ptr ( clone_ptr< T > const &  rh)
inline

Definition at line 17 of file clone_ptr.h.

17 : std::unique_ptr<T>(rh? rh->clone() : nullptr){}
template<typename T>
extstd::clone_ptr< T >::clone_ptr ( clone_ptr< T > &&  rh)
inline

Definition at line 18 of file clone_ptr.h.

18 : std::unique_ptr<T>(std::move(rh)) {}
def move
Definition: eostools.py:508
template<typename T>
template<typename U >
extstd::clone_ptr< T >::clone_ptr ( clone_ptr< U > const &  rh)
inline

Definition at line 31 of file clone_ptr.h.

31 : std::unique_ptr<T>(rh ? rh->clone() : nullptr){}
template<typename T>
template<typename U >
extstd::clone_ptr< T >::clone_ptr ( clone_ptr< U > &&  rh)
inline

Definition at line 33 of file clone_ptr.h.

33 : std::unique_ptr<T>(std::move(rh)) {}
def move
Definition: eostools.py:508

Member Function Documentation

template<typename T>
clone_ptr& extstd::clone_ptr< T >::operator= ( clone_ptr< T > const &  rh)
inline

Definition at line 20 of file clone_ptr.h.

References reset().

20  {
21  if (&rh!=this) this->reset(rh? rh->clone() : nullptr);
22  return *this;
23  }
void reset(double vett[256])
Definition: TPedValues.cc:11
template<typename T>
clone_ptr& extstd::clone_ptr< T >::operator= ( clone_ptr< T > &&  rh)
inline

Definition at line 24 of file clone_ptr.h.

References eostools::move().

24  {
25  if (&rh!=this) std::unique_ptr<T>::operator=(std::move(rh));
26  return *this;
27  }
def move
Definition: eostools.py:508
template<typename T>
template<typename U >
clone_ptr& extstd::clone_ptr< T >::operator= ( clone_ptr< U > const &  rh)
inline

Definition at line 36 of file clone_ptr.h.

References reset().

36  {
37  if (&rh!=this) this->reset(rh? rh->clone() : nullptr);
38  return *this;
39  }
void reset(double vett[256])
Definition: TPedValues.cc:11
template<typename T>
template<typename U >
clone_ptr& extstd::clone_ptr< T >::operator= ( clone_ptr< U > &&  rh)
inline

Definition at line 41 of file clone_ptr.h.

References eostools::move().

41  {
42  if (&rh!=this) std::unique_ptr<T>::operator=(std::move(rh));
43  return *this;
44  }
def move
Definition: eostools.py:508