CMS 3D CMS Logo

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) noexcept
 
 clone_ptr (clone_ptr const &rh)
 
 clone_ptr (clone_ptr &&rh) noexcept
 
template<typename U >
 clone_ptr (clone_ptr< U > const &rh)
 
template<typename U >
 clone_ptr (clone_ptr< U > &&rh) noexcept
 
clone_ptroperator= (clone_ptr const &rh)
 
clone_ptroperator= (clone_ptr &&rh) noexcept
 
template<typename U >
clone_ptroperator= (clone_ptr< U > const &rh)
 
template<typename U >
clone_ptroperator= (clone_ptr< U > &&rh) noexcept
 

Detailed Description

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

Definition at line 11 of file clone_ptr.h.

Constructor & Destructor Documentation

◆ clone_ptr() [1/5]

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

Definition at line 13 of file clone_ptr.h.

13 : std::unique_ptr<T>(std::forward<Args>(args)...) {}

◆ clone_ptr() [2/5]

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

Definition at line 15 of file clone_ptr.h.

15 : std::unique_ptr<T>(rh ? rh->clone() : nullptr) {}

◆ clone_ptr() [3/5]

template<typename T>
extstd::clone_ptr< T >::clone_ptr ( clone_ptr< T > &&  rh)
inlinenoexcept

Definition at line 16 of file clone_ptr.h.

16 : std::unique_ptr<T>(std::move(rh)) {}
def move(src, dest)
Definition: eostools.py:511

◆ clone_ptr() [4/5]

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

Definition at line 30 of file clone_ptr.h.

30 : std::unique_ptr<T>(rh ? rh->clone() : nullptr) {}

◆ clone_ptr() [5/5]

template<typename T>
template<typename U >
extstd::clone_ptr< T >::clone_ptr ( clone_ptr< U > &&  rh)
inlinenoexcept

Definition at line 32 of file clone_ptr.h.

32 : std::unique_ptr<T>(std::move(rh)) {}
def move(src, dest)
Definition: eostools.py:511

Member Function Documentation

◆ operator=() [1/4]

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

Definition at line 18 of file clone_ptr.h.

18  {
19  if (&rh != this)
20  this->reset(rh ? rh->clone() : nullptr);
21  return *this;
22  }
void reset(double vett[256])
Definition: TPedValues.cc:11

◆ operator=() [2/4]

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

Definition at line 23 of file clone_ptr.h.

23  {
24  if (&rh != this)
26  return *this;
27  }
Basic3DVector & operator=(const Basic3DVector &)=default
Assignment operator.
def move(src, dest)
Definition: eostools.py:511

◆ operator=() [3/4]

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

Definition at line 35 of file clone_ptr.h.

35  {
36  if (&rh != this)
37  this->reset(rh ? rh->clone() : nullptr);
38  return *this;
39  }
void reset(double vett[256])
Definition: TPedValues.cc:11

◆ operator=() [4/4]

template<typename T>
template<typename U >
clone_ptr& extstd::clone_ptr< T >::operator= ( clone_ptr< U > &&  rh)
inlinenoexcept

Definition at line 41 of file clone_ptr.h.

41  {
42  if (&rh != this)
44  return *this;
45  }
Basic3DVector & operator=(const Basic3DVector &)=default
Assignment operator.
def move(src, dest)
Definition: eostools.py:511