Open Search
    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