Regina Calculation Engine
|
An NProperty storage policy indicating that the property should be held by pointer and that the property wrapper will also take responsibility for memory management. More...
#include <nproperty.h>
Public Types | |
typedef T * | InitType |
The type by which new values for the underlying property are passed. | |
typedef const T * | QueryType |
The type by which the property value is returned to the user. | |
Public Member Functions | |
StoreManagedPtr () | |
Constructor that sets the held pointer to 0. | |
void | clear () |
Cleans up any currently held value before the property value is changed or cleared. | |
Protected Member Functions | |
~StoreManagedPtr () | |
Destroys the currently held value if one exists. | |
Protected Attributes | |
T * | value_ |
The held property value. |
An NProperty storage policy indicating that the property should be held by pointer and that the property wrapper will also take responsibility for memory management.
The property assignment and query routines will also use pointers; in particular the query routines will return a constant pointer. When the held value is changed or the NProperty wrapper is destroyed, any currently held value will be destroyed automatically.
See the NProperty class notes for details.
typedef T* regina::StoreManagedPtr< T >::InitType |
The type by which new values for the underlying property are passed.
Reimplemented in regina::NProperty< NGroupPresentation, StoreManagedPtr >, and regina::NProperty< NAbelianGroup, StoreManagedPtr >.
typedef const T* regina::StoreManagedPtr< T >::QueryType |
The type by which the property value is returned to the user.
Reimplemented in regina::NProperty< NGroupPresentation, StoreManagedPtr >, and regina::NProperty< NAbelianGroup, StoreManagedPtr >.
regina::StoreManagedPtr< T >::StoreManagedPtr | ( | ) | [inline] |
Constructor that sets the held pointer to 0.
regina::StoreManagedPtr< T >::~StoreManagedPtr | ( | ) | [inline, protected] |
Destroys the currently held value if one exists.
void regina::StoreManagedPtr< T >::clear | ( | ) | [inline] |
Cleans up any currently held value before the property value is changed or cleared.
This implementation resets the held pointer to 0 and destroys the previously held value if any exists.
Reimplemented in regina::NProperty< NGroupPresentation, StoreManagedPtr >, and regina::NProperty< NAbelianGroup, StoreManagedPtr >.
T* regina::StoreManagedPtr< T >::value_ [protected] |
The held property value.