Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
Gray::cNewPtr2< TYPE > Class Template Reference

#include <cNewPtr.h>

Inheritance diagram for Gray::cNewPtr2< TYPE >:
Gray::cNewPtr< TYPE > Gray::cPtrFacade< TYPE >

Public Member Functions

 cNewPtr2 ()
 
 cNewPtr2 (const THIS_t &rObj)
 
 cNewPtr2 (const SUPER_t &rObj)
 
 cNewPtr2 (TYPE *pObj)
 
THIS_t & operator= (TYPE *p2)
 
THIS_t & operator= (const THIS_t &ref)
 
- Public Member Functions inherited from Gray::cNewPtr< TYPE >
 cNewPtr () noexcept
 
 cNewPtr (TYPE *pObj) noexcept
 
 ~cNewPtr ()
 
void AllocArray (size_t nSize=1) noexcept
 
void AllocArray (size_t nSize, const TYPE *p) noexcept
 
void ReleasePtr () noexcept
 
THIS_t & operator= (TYPE *p2) noexcept
 
THIS_t & operator= (THIS_t &ref) noexcept
 
TYPE & operator* () const
 
TYPE * operator-> () const
 
bool operator!= (const TYPE *p2) const noexcept
 
bool operator== (const TYPE *p2) const noexcept
 
- Public Member Functions inherited from Gray::cPtrFacade< TYPE >
 cPtrFacade (TYPE *p=nullptr) noexcept
 
 cPtrFacade (THIS_t &&ref) noexcept
 
bool isValidPtr () const noexcept
 
TYPE ** get_PPtr ()
 
TYPE * get_Ptr () const noexcept
 
void put_Ptr (TYPE *p) noexcept
 
void ReleasePtr () noexcept
 
void AttachPtr (TYPE *p) noexcept
 
TYPE * DetachPtr () noexcept
 
THIS_t & operator= (TYPE *p) noexcept
 
THIS_t & operator= (THIS_t &&ref) noexcept
 
 operator TYPE * () const noexcept
 
TYPE & get_Ref () const
 
TYPE & operator* () const
 
TYPE * operator-> () const
 
bool operator! () const noexcept
 Comparison ops. More...
 
bool operator!= (TYPE *p2) const noexcept
 
bool operator== (TYPE *p2) const noexcept
 

Static Public Member Functions

static TYPE * Dupe (const SUPER_t &rObj)
 

Additional Inherited Members

- Protected Member Functions inherited from Gray::cNewPtr< TYPE >
void AsignPtr (TYPE *p2) noexcept
 
void AsignRef (THIS_t &ref) noexcept
 
void FreeLast () noexcept
 
- Protected Attributes inherited from Gray::cPtrFacade< TYPE >
TYPE * m_p
 Pointer to some object of TYPE. More...
 

Detailed Description

template<class TYPE>
class Gray::cNewPtr2< TYPE >

cNewPtr Allow a copy constructor that does deep copy.

Constructor & Destructor Documentation

◆ cNewPtr2() [1/4]

template<class TYPE >
Gray::cNewPtr2< TYPE >::cNewPtr2 ( )
inline

◆ cNewPtr2() [2/4]

template<class TYPE >
Gray::cNewPtr2< TYPE >::cNewPtr2 ( const THIS_t &  rObj)
inline

copy the contents? beware performance problems here. I don't know if its a derived type or array?

◆ cNewPtr2() [3/4]

template<class TYPE >
Gray::cNewPtr2< TYPE >::cNewPtr2 ( const SUPER_t &  rObj)
inline

copy the contents? beware performance problems here. I don't know if its a derived type or array?

◆ cNewPtr2() [4/4]

template<class TYPE >
Gray::cNewPtr2< TYPE >::cNewPtr2 ( TYPE *  pObj)
inlineexplicit

Member Function Documentation

◆ Dupe()

template<class TYPE >
static TYPE* Gray::cNewPtr2< TYPE >::Dupe ( const SUPER_t &  rObj)
inlinestatic

◆ operator=() [1/2]

template<class TYPE >
THIS_t& Gray::cNewPtr2< TYPE >::operator= ( const THIS_t &  ref)
inline

◆ operator=() [2/2]

template<class TYPE >
THIS_t& Gray::cNewPtr2< TYPE >::operator= ( TYPE *  p2)
inline

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