#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.
◆ InitialReference()
static void InitialReference |
( |
const T * |
o | ) |
|
|
static |
Sets the initial reference to a newly allocated object (slightly more efficient than AddReference).
- Parameters
-
[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.
- Parameters
-
[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.
- Parameters
-
[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.
- Parameters
-
[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.
- Parameters
-
[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 |
◆ KIND