PointerHandler Class Reference Data Structures

#include <baseref.h>

详细描述

PointerHandler has to be used as template argument for BaseRef to obtain a reference with ordinary C++-pointer-like behavior. This means that no actions are performed when references are set or cleared. The easiest way to make use of PointerHandler is to use the Pointer template which is a BaseRef with PointerHandler argument.

静态公共成员函数

template<typename T >
static void  InitialReference (const T *o)
template<typename T >
static void  AddReference (T *o)
template<typename T >
static void  RemoveReference (T *o)
template<typename T >
static void  ChangeTarget (T *&o, T *newTarget)
template<typename T >
static void  ChangeTarget (T *&o, ResultPtr < T > newTarget)
template<typename T >
static void  MoveTarget (T *&srcReference, T *&dstReference)
template<typename R >
static ResultRef < typename R::ReferencedType >  MakeWritable (R &ref, Bool resetOnError)

静态公共属性

static const VALUEKIND   KIND

成员函数文档编制

◆  InitialReference()

static void InitialReference ( const T *  o )
static

Sets the initial reference to a newly allocated object (slightly more efficient than AddReference).

参数
[in] o Pointer to the referenced object, must not be nullptr.

◆  AddReference()

static void AddReference ( T *  o )
static

Adds a reference to the referenced object.

参数
[in] o Pointer to the referenced object, must not be nullptr.

◆  RemoveReference()

static void RemoveReference ( T *  o )
static

Removes a reference to the referenced object.

参数
[in] o Pointer to the referenced object, must not be nullptr.

◆  ChangeTarget() [1/2]

static void ChangeTarget ( T *&  o ,
T *  newTarget  
)
static

Changes the target of the pointer.

参数
[in] o Reference to the pointer to the old object.
[in] newTarget Pointer to the new target object.

◆  ChangeTarget() [2/2]

static void ChangeTarget ( T *&  o ,
ResultPtr < T >  newTarget  
)
static

◆  MoveTarget()

static void MoveTarget ( T *&  srcReference ,
T *&  dstReference  
)
static

Moves a target from one pointer to another.

参数
[in] srcReference Reference to the source object pointer.
[in] dstReference Reference to the destination object pointer.

◆  MakeWritable()

static ResultRef <typename R::ReferencedType> MakeWritable ( R &  ref ,
Bool   resetOnError  
)
static

Member Data Documentation

◆  KIND

const VALUEKIND KIND static