Abstract base class for a raw value. More...
Public Member Functions
|virtual T||getValue () const =0|
|Return the underlying value. |
|virtual bool||setValue (T value)=0|
|Assign a new underlying value. |
|virtual simgear::props::Type||getType () const|
|Return the type tag for this raw value type. |
Static Public Member Functions
|static T||DefaultValue ()|
|The default underlying value for this type. |
Abstract base class for a raw value.
The property manager is implemented in two layers. The SGPropertyNode is the highest and most abstract layer, representing an LValue/RValue pair: it records the position of the property in the property tree and contains facilities for navigation to other nodes. It is guaranteed to be persistent: the SGPropertyNode will not change during a session, even if the property is bound and unbound multiple times.
When the property value is not managed internally in the SGPropertyNode, the SGPropertyNode will contain a reference to an SGRawValue (this class), which provides an abstract way to get, set, and clone the underlying value. The SGRawValue may change frequently during a session as a value is retyped or bound and unbound to various data source, but the abstract SGPropertyNode layer insulates the application from those changes.
|static T SGRawValue< T >::DefaultValue||(||)||
The default underlying value for this type.
Every raw value has a default; the default is false for a boolean, 0 for the various numeric values, and "" for a string. If additional types of raw values are added in the future, they may need different kinds of default values (such as epoch for a date type). The default value is used when creating new values.
|virtual T SGRawValue< T >::getValue||(||)|| const
|virtual bool SGRawValue< T >::setValue||(||T||value||)||
Assign a new underlying value.
If the new value cannot be set (because this is a read-only raw value, or because the new value is not acceptable for some reason) this method returns false and leaves the original value unchanged.
|value||The actual value for the property.|