NSCreatedPointerHandler Class Reference

#include <mac_cfhelpers.h>

Static Public Member Functions

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 Public Attributes

static const VALUEKIND KIND
 

Member Function Documentation

◆ InitialReference()

static void InitialReference ( const T *  o)
static

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

Parameters
[in]oPointer to the referenced object, must not be nullptr.

◆ AddReference()

static void AddReference ( T *  o)
static

Adds a reference to the referenced object.

Parameters
[in]oPointer to the referenced object, must not be nullptr.

◆ RemoveReference()

static void RemoveReference ( T *  o)
static

Removes a reference to the referenced object.

Parameters
[in]oPointer 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.

Parameters
[in]oReference to the pointer to the old object.
[in]newTargetPointer to the new target object.

◆ ChangeTarget() [2/2]

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

Changes the target of the reference to a created object returned from an ObjC call.

Parameters
[in]oReference to the pointer to the old object.
[in]newTargetPointer to an already retained target object.

◆ MoveTarget()

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

Moves a target from one BaseRef to another. This is being called when a BaseRef is moved to another BaseRef using operator =(&&).

Parameters
[in]srcReferenceReference to the source object pointer.
[in]dstReferenceReference 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