Regina Calculation Engine
|
Stores a calculable property of an object. More...
#include <utilities/property.h>
Public Types | |
typedef Storage< T >::InitType | InitType |
The type by which new values for the underlying property are passed. More... | |
typedef Storage< T >::QueryType | QueryType |
The type by which the property value is returned to the user. More... | |
Public Member Functions | |
Property () | |
Constructor. More... | |
bool | known () const |
Returns whether or not this property is currently marked as known. More... | |
QueryType | value () const |
Returns the current value of this property. More... | |
void | clear () |
Marks this property as unknown. More... | |
QueryType | operator= (InitType newValue) |
Assigns a new value to this property. More... | |
const Property< T, Storage > & | operator= (const Property< T, Storage > &newValue) |
Copies the given property into this property. More... | |
void | swap (Property< T, Storage > &other) |
Swaps this with the given property. More... | |
Stores a calculable property of an object.
The property may be marked as known or unknown, and its value may be set or retrieved.
The template parameter Storage specifies how the property will be internally stored. Storage options range from simple storage by value (see class StoreValue) to more intelligent storage options that include memory management of pointers (see class StoreManagedPtr).