SDKReferenceObjectPtr< ObjectInterface > Class Template Reference

#include <sdkreferenceobjectptr.h>

Inheritance diagram for SDKReferenceObjectPtr< ObjectInterface >:

详细描述

template<class ObjectInterface>
class SDKReferenceObjectPtr< ObjectInterface >

Reference Object Pointer template for automatic destruction of unused objects.

注意
Simultaneous access to a SDKReferenceObjectPtr from different threads must be synchronized because the assignment operators are not atomic.

公共成员函数

  SDKReferenceObjectPtr ()
  SDKReferenceObjectPtr (const SDKReferenceObjectPtr &src)
  SDKReferenceObjectPtr (const SDKReferenceObjectBasePtr &src)
  SDKReferenceObjectPtr (int zero)
  SDKReferenceObjectPtr (const ObjectInterface *src_itf)
  ~SDKReferenceObjectPtr ()
ObjectInterface *  GetPtr (void) const
SDKReferenceObjectPtr operator= (int zero)
SDKReferenceObjectPtr operator= (const SDKReferenceObjectPtr &src)
SDKReferenceObjectPtr operator= (const SDKReferenceObjectBasePtr &src)
SDKReferenceObjectPtr operator= (ObjectInterface *src_itf)
  operator ObjectInterface * (void) const
ObjectInterface *  operator-> (void) const
Bool   operator== (ObjectInterface *x) const
Bool   IsNull (void) const

Additional Inherited Members

-  Protected Attributes inherited from SDKReferenceObjectBasePtr
SDKReferenceObject itf

构造函数 & 析构函数文档编制

◆  SDKReferenceObjectPtr() [1/5]

SDKReferenceObjectPtr ( )

Default constructor.

◆  SDKReferenceObjectPtr() [2/5]

SDKReferenceObjectPtr ( const SDKReferenceObjectPtr < ObjectInterface > &  src )

Copy constructor. Constructs a reference object with reference data from an existing object.

参数
[in] src The source reference object containing an interface pointer.

◆  SDKReferenceObjectPtr() [3/5]

SDKReferenceObjectPtr ( const SDKReferenceObjectBasePtr src )

Copy constructor. Constructs a reference object with reference data from an existing object.

注意
This constructor is for assignment from a different type of SDKReferenceObjectPtr without use of additional pointer casts
参数
[in] src The source reference object (of a different type) containing an interface pointer.

◆  SDKReferenceObjectPtr() [4/5]

SDKReferenceObjectPtr ( int  zero )

Constructs a nullptr interface.

参数
[in] zero Pass 0 .

◆  SDKReferenceObjectPtr() [5/5]

SDKReferenceObjectPtr ( const ObjectInterface *  src_itf )

Constructs a reference object with an interface/class pointer.

参数
[in] src_itf The interface/class pointer.

◆  ~SDKReferenceObjectPtr()

~ SDKReferenceObjectPtr ( )

Destructs the reference object, removes reference to the interface.

成员函数文档编制

◆  GetPtr()

ObjectInterface* GetPtr ( void  ) const

Gets the reference pointer.

返回
The pointer to the interface.

◆  operator=() [1/4]

SDKReferenceObjectPtr & operator= ( int  zero )

Removes a references.

参数
[in] zero Pass 0 .
返回
*this

◆  operator=() [2/4]

SDKReferenceObjectPtr & operator= ( const SDKReferenceObjectPtr < ObjectInterface > &  src )

Assigns a reference to an already initialized reference object.

参数
[in] src A reference object containing an interface pointer.
返回
*this

◆  operator=() [3/4]

SDKReferenceObjectPtr & operator= ( const SDKReferenceObjectBasePtr src )

Assigns a reference to an already initialized reference object.

注意
This operator is for assignment from a different type of SDKReferenceObjectPtr without use of additional pointer casts.
参数
[in] src A reference object (of a different type) containing an interface pointer
返回
*this

◆  operator=() [4/4]

SDKReferenceObjectPtr & operator= ( ObjectInterface *  src_itf )

Assigns a reference to an already initialized reference object.

参数
[in] src_itf An interface pointer.
返回
*this

◆  operator ObjectInterface *()

operator ObjectInterface * ( void  ) const

Gets the reference pointer.

返回
The pointer to the interface.

◆  operator->()

ObjectInterface* operator-> ( void  ) const

Overrides the -> operator. Makes the SDKReferenceObjectPtr looks like a real pointer.

返回
The pointer to the interface.

◆  operator==()

Bool operator== ( ObjectInterface *  x ) const

Compares the reference and the given object pointer.

参数
[in] x An object pointer.
返回
true if the reference and the given object pointer are equal, otherwise false .

◆  IsNull()

Bool IsNull ( void  ) const

Checks if an interface has been assigned.

返回
true if the interface pointer is not nullptr , otherwise false .