thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
ThePEG::Pointer::TransientRCPtr< T > Class Template Reference

TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr and ConstRCPtr without problem. More...

#include <RCPtr.h>

Public Types

typedef void iterator_category
 Template argument typedef.
 
typedef void difference_type
 Template argument typedef.
 
typedef T * pointer
 Template argument typedef.
 
typedef const T * const_pointer
 Template argument typedef.
 
typedef T & reference
 Template argument typedef.
 
typedef const T & const_reference
 Template argument typedef.
 
typedef T value_type
 Template argument typedef.
 

Public Member Functions

 TransientRCPtr ()
 Constructor for null pointer.
 
 TransientRCPtr (decltype(nullptr))
 Constructor for nullptr.
 
 TransientRCPtr (const TransientRCPtr &p)
 Copy constructor.
 
template<typename UPtr >
 TransientRCPtr (const UPtr &u)
 Copyconstructor for class UPtr which has operator-> defined resulting in a value implicitly convertible to T *.
 
 TransientRCPtr (pointer p)
 Construction from real pointer.
 
 ~TransientRCPtr ()
 Destructor.
 
TransientRCPtroperator= (const TransientRCPtr &p)
 Assignment.
 
template<typename UPtr >
TransientRCPtroperator= (const UPtr &u)
 Assignment from class UPtr which has operator-> defined resulting in a value implicitly convertible to T *.
 
template<typename UPtr >
TransientRCPtrassignDynamic (const UPtr &u)
 Assignment from class UPtr which has operator-> defined resulting in a value which can be cast dynamically to T *.
 
template<typename UPtr >
TransientRCPtrassignConst (const UPtr &u)
 Assignment from class UPtr which has operator-> defined resulting in a value whcih can be const_cast'ed to T *.
 
bool operator== (const TransientRCPtr &p) const
 Test for equality of the underlying pointers.
 
bool operator!= (const TransientRCPtr &p) const
 Test for inequality of the underlying pointers.
 
bool operator== (const_pointer p) const
 Test for equality of the underlying pointers.
 
bool operator!= (const_pointer p) const
 Test for inequality of the underlying pointers.
 
template<typename UPtr >
bool operator== (const UPtr &u) const
 Test for equality of the underlying pointers.
 
template<typename UPtr >
bool operator!= (const UPtr &u) const
 Test for inequality of the underlying pointers.
 
bool operator< (const TransientRCPtr &p) const
 Test for ordering.
 
bool operator< (const_pointer p) const
 Test for ordering.
 
bool operator! () const
 Returns true if the underlying pointer is null.
 
 operator T* () const
 Returns the underlying pointer.
 
pointer operator-> () const
 Member access.
 
reference operator* () const
 Dereferencing.
 

Private Attributes

pointer ptr
 The actual pointer.
 

Detailed Description

template<typename T>
class ThePEG::Pointer::TransientRCPtr< T >

TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr and ConstRCPtr without problem.

See also
RCPtr
ConstRCPtr

Definition at line 519 of file RCPtr.h.

Member Typedef Documentation

◆ const_pointer

template<typename T >
typedef const T* ThePEG::Pointer::TransientRCPtr< T >::const_pointer

Template argument typedef.

Definition at line 530 of file RCPtr.h.

◆ const_reference

template<typename T >
typedef const T& ThePEG::Pointer::TransientRCPtr< T >::const_reference

Template argument typedef.

Definition at line 534 of file RCPtr.h.

◆ difference_type

template<typename T >
typedef void ThePEG::Pointer::TransientRCPtr< T >::difference_type

Template argument typedef.

Definition at line 526 of file RCPtr.h.

◆ iterator_category

template<typename T >
typedef void ThePEG::Pointer::TransientRCPtr< T >::iterator_category

Template argument typedef.

Definition at line 524 of file RCPtr.h.

◆ pointer

template<typename T >
typedef T* ThePEG::Pointer::TransientRCPtr< T >::pointer

Template argument typedef.

Definition at line 528 of file RCPtr.h.

◆ reference

template<typename T >
typedef T& ThePEG::Pointer::TransientRCPtr< T >::reference

Template argument typedef.

Definition at line 532 of file RCPtr.h.

◆ value_type

template<typename T >
typedef T ThePEG::Pointer::TransientRCPtr< T >::value_type

Template argument typedef.

Definition at line 536 of file RCPtr.h.

Constructor & Destructor Documentation

◆ TransientRCPtr() [1/5]

template<typename T >
ThePEG::Pointer::TransientRCPtr< T >::TransientRCPtr ( )
inline

Constructor for null pointer.

Definition at line 543 of file RCPtr.h.

◆ TransientRCPtr() [2/5]

template<typename T >
ThePEG::Pointer::TransientRCPtr< T >::TransientRCPtr ( decltype(nullptr)  )
inline

Constructor for nullptr.

Definition at line 548 of file RCPtr.h.

◆ TransientRCPtr() [3/5]

template<typename T >
ThePEG::Pointer::TransientRCPtr< T >::TransientRCPtr ( const TransientRCPtr< T > &  p)
inline

Copy constructor.

Definition at line 553 of file RCPtr.h.

◆ TransientRCPtr() [4/5]

template<typename T >
template<typename UPtr >
ThePEG::Pointer::TransientRCPtr< T >::TransientRCPtr ( const UPtr &  u)
inline

Copyconstructor for class UPtr which has operator-> defined resulting in a value implicitly convertible to T *.

Definition at line 560 of file RCPtr.h.

◆ TransientRCPtr() [5/5]

template<typename T >
ThePEG::Pointer::TransientRCPtr< T >::TransientRCPtr ( pointer  p)
inlineexplicit

Construction from real pointer.

Definition at line 565 of file RCPtr.h.

◆ ~TransientRCPtr()

template<typename T >
ThePEG::Pointer::TransientRCPtr< T >::~TransientRCPtr ( )
inline

Destructor.

Does not delete the object pointed to.

Definition at line 570 of file RCPtr.h.

Member Function Documentation

◆ assignConst()

template<typename T >
template<typename UPtr >
TransientRCPtr & ThePEG::Pointer::TransientRCPtr< T >::assignConst ( const UPtr &  u)
inline

Assignment from class UPtr which has operator-> defined resulting in a value whcih can be const_cast'ed to T *.

Definition at line 605 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ assignDynamic()

template<typename T >
template<typename UPtr >
TransientRCPtr & ThePEG::Pointer::TransientRCPtr< T >::assignDynamic ( const UPtr &  u)
inline

Assignment from class UPtr which has operator-> defined resulting in a value which can be cast dynamically to T *.

Definition at line 595 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ operator T*()

template<typename T >
ThePEG::Pointer::TransientRCPtr< T >::operator T* ( ) const
inline

Returns the underlying pointer.

Definition at line 666 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ operator!()

template<typename T >
bool ThePEG::Pointer::TransientRCPtr< T >::operator! ( ) const
inline

Returns true if the underlying pointer is null.

Definition at line 661 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ operator!=() [1/3]

template<typename T >
bool ThePEG::Pointer::TransientRCPtr< T >::operator!= ( const TransientRCPtr< T > &  p) const
inline

Test for inequality of the underlying pointers.

Definition at line 618 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ operator!=() [2/3]

template<typename T >
template<typename UPtr >
bool ThePEG::Pointer::TransientRCPtr< T >::operator!= ( const UPtr &  u) const
inline

Test for inequality of the underlying pointers.

Definition at line 640 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ operator!=() [3/3]

template<typename T >
bool ThePEG::Pointer::TransientRCPtr< T >::operator!= ( const_pointer  p) const
inline

Test for inequality of the underlying pointers.

Definition at line 628 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ operator*()

template<typename T >
reference ThePEG::Pointer::TransientRCPtr< T >::operator* ( ) const
inline

Dereferencing.

Definition at line 676 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ operator->()

template<typename T >
pointer ThePEG::Pointer::TransientRCPtr< T >::operator-> ( ) const
inline

Member access.

Definition at line 671 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ operator<() [1/2]

template<typename T >
bool ThePEG::Pointer::TransientRCPtr< T >::operator< ( const TransientRCPtr< T > &  p) const
inline

Test for ordering.

Definition at line 645 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ operator<() [2/2]

template<typename T >
bool ThePEG::Pointer::TransientRCPtr< T >::operator< ( const_pointer  p) const
inline

Test for ordering.

Definition at line 653 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ operator=() [1/2]

template<typename T >
TransientRCPtr & ThePEG::Pointer::TransientRCPtr< T >::operator= ( const TransientRCPtr< T > &  p)
inline

Assignment.

Definition at line 575 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ operator=() [2/2]

template<typename T >
template<typename UPtr >
TransientRCPtr & ThePEG::Pointer::TransientRCPtr< T >::operator= ( const UPtr &  u)
inline

Assignment from class UPtr which has operator-> defined resulting in a value implicitly convertible to T *.

Definition at line 585 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ operator==() [1/3]

template<typename T >
bool ThePEG::Pointer::TransientRCPtr< T >::operator== ( const TransientRCPtr< T > &  p) const
inline

Test for equality of the underlying pointers.

Definition at line 613 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ operator==() [2/3]

template<typename T >
template<typename UPtr >
bool ThePEG::Pointer::TransientRCPtr< T >::operator== ( const UPtr &  u) const
inline

Test for equality of the underlying pointers.

Definition at line 634 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

◆ operator==() [3/3]

template<typename T >
bool ThePEG::Pointer::TransientRCPtr< T >::operator== ( const_pointer  p) const
inline

Test for equality of the underlying pointers.

Definition at line 623 of file RCPtr.h.

References ThePEG::Pointer::TransientRCPtr< T >::ptr.

Member Data Documentation

◆ ptr


The documentation for this class was generated from the following file: