GL Studio API
|
#include <disti_metadata.h>
Public Member Functions | |
DistiAttribute (CallbackMethodCallerBase *callback, const AttributeName &name, T *attribPtr) | |
DistiAttribute (CallbackMethodCallerBase *callback, const AttributeName &name, const T &initialValue) | |
virtual bool | Copyable () const |
virtual long | ValueInt () |
virtual void | ValueInt (long val) |
virtual double | ValueFloat () |
virtual void | ValueFloat (double val) |
virtual DistiAttributeBase & | operator= (const DistiAttributeBase &oldClass) |
virtual std::ostream & | WriteValue (std::ostream &outstr) |
virtual std::istream & | ReadValue (std::istream &instr) |
virtual T | Value () |
virtual void | Value (const T &val) |
virtual bool | operator== (const DistiAttributeBase &rArg) |
virtual | ~DistiAttribute () |
template<> | |
long | ValueInt () |
template<> | |
void | ValueInt (long val) |
template<> | |
std::ostream & | WriteValue (std::ostream &outstr) |
template<> | |
std::istream & | ReadValue (std::istream &instr) |
template<> | |
long | ValueInt () |
template<> | |
void | ValueInt (long val) |
template<> | |
long | ValueInt () |
template<> | |
void | ValueInt (long val) |
template<> | |
long | ValueInt () |
template<> | |
void | ValueInt (long val) |
template<> | |
long | ValueInt () |
template<> | |
void | ValueInt (long val) |
template<> | |
std::ostream & | WriteValue (std::ostream &outstr) |
template<> | |
std::istream & | ReadValue (std::istream &instr) |
template<> | |
std::istream & | ReadValue (std::istream &instr) |
template<> | |
std::istream & | ReadValue (std::istream &instr) |
template<> | |
long | ValueInt () |
template<> | |
void | ValueInt (long val) |
Public Member Functions inherited from DistiAttributeBase | |
DistiAttributeBase (CallbackMethodCallerBase *callback, const AttributeName &name, bool localStorage) | |
const AttributeName & | Name () const |
AttributeName & | Name () |
bool | LocalStorage () const |
virtual bool | OkToWrite () const |
virtual bool | ValueChanged () |
virtual void | ResetValueChanged () |
virtual std::string | ValueString () |
virtual void | ValueString (const std::string &s) |
virtual void | CallCallback () |
template<class valType > | |
DistiAttributeBase & | operator<< (const valType &val) |
template<class valType > | |
DistiAttributeBase & | operator>> (valType &val) |
virtual CallbackID | RegisterObserver (AttributeObserver *observer) |
virtual void | UnregisterObserver (CallbackID id) |
virtual void | NotifyObservers () |
Public Member Functions inherited from WeakReferenceableMixin | |
void | AddWeakReference (WeakReference *weakRef) |
void | NotifyWeakReferenceDestroyed (WeakReference *ref) |
Protected Attributes | |
T * | _attribPtr |
int | _precision |
Protected Attributes inherited from WeakReferenceableMixin | |
DynamicArray< WeakReference * > * | _weakRefs |
Additional Inherited Members | |
Public Types inherited from DistiAttributeBase | |
typedef unsigned int | CallbackID |
Type for unique identifiers. | |
Public Attributes inherited from DistiAttributeBase | |
AttributeName | _name |
CallbackMethodCallerBase * | _callback |
bool | _localStorage |
Protected Member Functions inherited from WeakReferenceableMixin | |
WeakReferenceableMixin (void) | |
virtual | ~WeakReferenceableMixin () |
A templated class for creating attributes.
|
inline |
Constructor Keeps a pointer to the specified type
callback | The method to call when the value changes. A duplicate of the CallbackMethodCallerBase is created and stored internally. |
name | The name of the attribute |
attribPtr | The address of the storage. |
|
inline |
Constructor Actually creates storage of the specified type
callback | The method to call when the value changes. A duplicate of the CallbackMethodCallerBase is created and stored internally. |
name | The name of the attribute |
initialValue | The initial value of the intenally stored variable. |
|
inlinevirtual |
Destructor deletes local storage if we created it
|
inlinevirtual |
Its not a word, but it means able to be copied This should return true if it makes sense for the data to be copied. By default, will return true for this template. It is overridden here to allow for template specialization
Reimplemented from DistiAttributeBase.
|
inlinevirtual |
This will perform the copy using Value() and Value(val)
Reimplemented from DistiAttributeBase.
Reimplemented in DistiAttributeUCharOrBool.
|
inlinevirtual |
Performs type specific comparison. This results in faster comparisons than the base class
Reimplemented from DistiAttributeBase.
|
inlinevirtual |
Pure virtual because this is specific to the data type to be contained. This should be overridden to read the data from the stream. The value read could be encoded for being read from a file as a single string, or have its own special encoding specific to its underlying type. In the case of attribute strings, this will be the GLS file encoded value. The user is responsible for encoding the value themselves, or using WriteValue which should perform encoding to maintain symmetry.
Implements DistiAttributeBase.
|
inlinevirtual |
Pure virtual because this is specific to the data type to be contained. This should be overridden to read the data from the stream. The value read could be encoded for being read from a file as a single string, or have its own special encoding specific to its underlying type. In the case of attribute strings, this will be the GLS file encoded value. The user is responsible for encoding the value themselves, or using WriteValue which should perform encoding to maintain symmetry.
Implements DistiAttributeBase.
|
inlinevirtual |
Pure virtual because this is specific to the data type to be contained. This should be overridden to read the data from the stream. The value read could be encoded for being read from a file as a single string, or have its own special encoding specific to its underlying type. In the case of attribute strings, this will be the GLS file encoded value. The user is responsible for encoding the value themselves, or using WriteValue which should perform encoding to maintain symmetry.
Implements DistiAttributeBase.
|
inlinevirtual |
Pure virtual because this is specific to the data type to be contained. This should be overridden to read the data from the stream. The value read could be encoded for being read from a file as a single string, or have its own special encoding specific to its underlying type. In the case of attribute strings, this will be the GLS file encoded value. The user is responsible for encoding the value themselves, or using WriteValue which should perform encoding to maintain symmetry.
Implements DistiAttributeBase.
|
inlinevirtual |
Reads the data from the stream The ReadValue call shall consume only what it needs. It is the responsibility of the calling function to read to the end of line, or to clean up from a bad read. The calling function will also ensure that the data starts as the next byte in the stream.
Implements DistiAttributeBase.
Reimplemented in DistiAttributeProperty< containerT, T, SetArgT >, DistiAttributeLocation, DistiAttributeStdString, DistiAttributeEncodedStdString, and DistiAttributeUCharOrBool.
|
inlinevirtual |
Allows for type specific access to the data
Reimplemented in DistiAttributeProperty< containerT, T, SetArgT >.
|
inlinevirtual |
Allows for type specific access to the data
Reimplemented in DistiAttributeProperty< containerT, T, SetArgT >.
|
inlinevirtual |
Allows for faster access to integer types than the more generic GetValueSimple. However, it is only faster if it is overridden. It is overridden here to allow for template specialization
Reimplemented from DistiAttributeBase.
Reimplemented in DistiAttributeProperty< containerT, T, SetArgT >.
|
inlinevirtual |
Allows for faster access to integer types than the more generic SetValueSimple. However, it is only faster if it is overridden. It is overridden here to allow for template specialization
Reimplemented from DistiAttributeBase.
Reimplemented in DistiAttributeProperty< containerT, T, SetArgT >.
|
inlinevirtual |
Allows for faster access to integer types than the more generic stream operators. However, it is only faster if it is overridden.
Reimplemented from DistiAttributeBase.
|
inlinevirtual |
Allows for faster access to integer types than the more generic stream operator. However, it is only faster if it is overridden.
Reimplemented from DistiAttributeBase.
|
inlinevirtual |
Allows for faster access to integer types than the more generic stream operators. However, it is only faster if it is overridden.
Reimplemented from DistiAttributeBase.
|
inlinevirtual |
Allows for faster access to integer types than the more generic stream operator. However, it is only faster if it is overridden.
Reimplemented from DistiAttributeBase.
|
inlinevirtual |
Allows for faster access to integer types than the more generic stream operators. However, it is only faster if it is overridden.
Reimplemented from DistiAttributeBase.
|
inlinevirtual |
Allows for faster access to integer types than the more generic stream operator. However, it is only faster if it is overridden.
Reimplemented from DistiAttributeBase.
|
inlinevirtual |
Allows for faster access to integer types than the more generic stream operators. However, it is only faster if it is overridden.
Reimplemented from DistiAttributeBase.
|
inlinevirtual |
Allows for faster access to integer types than the more generic stream operator. However, it is only faster if it is overridden.
Reimplemented from DistiAttributeBase.
|
inlinevirtual |
Allows for faster access to integer types than the more generic stream operators. However, it is only faster if it is overridden.
Reimplemented from DistiAttributeBase.
|
inlinevirtual |
Allows for faster access to integer types than the more generic stream operator. However, it is only faster if it is overridden.
Reimplemented from DistiAttributeBase.
|
inlinevirtual |
Allows for faster access to integer types than the more generic stream operators. However, it is only faster if it is overridden.
Reimplemented from DistiAttributeBase.
|
inlinevirtual |
Allows for faster access to integer types than the more generic stream operator. However, it is only faster if it is overridden.
Reimplemented from DistiAttributeBase.
|
inlinevirtual |
Allows for faster access to integer types than the more generic GetValueSimple. However, it is only faster if it is overridden. It is overridden here to allow for template specialization
Reimplemented from DistiAttributeBase.
Reimplemented in DistiAttributeProperty< containerT, T, SetArgT >, and DistiAttributeUCharOrBool.
|
inlinevirtual |
Allows for faster access to integer types than the more generic SetValueSimple. However, it is only faster if it is overridden. It is overridden here to allow for template specialization
Reimplemented from DistiAttributeBase.
Reimplemented in DistiAttributeProperty< containerT, T, SetArgT >, and DistiAttributeUCharOrBool.
|
inlinevirtual |
Pure virtual because this is specific to the data type to be contained. This should be overridden to write the data to the stream. The value written could be encoded for writing to a file as a single string, or have its own special encoding specific to its underlying type. In the case of attribute strings, this will be the GLS file encoded value. The user is responsible for decoding the value themselves, or using ReadValue which should perform decoding to maintain symmetry.
Implements DistiAttributeBase.
|
inlinevirtual |
Pure virtual because this is specific to the data type to be contained. This should be overridden to write the data to the stream. The value written could be encoded for writing to a file as a single string, or have its own special encoding specific to its underlying type. In the case of attribute strings, this will be the GLS file encoded value. The user is responsible for decoding the value themselves, or using ReadValue which should perform decoding to maintain symmetry.
Implements DistiAttributeBase.
|
inlinevirtual |
Writes the data to the stream
Implements DistiAttributeBase.
Reimplemented in DistiAttributeProperty< containerT, T, SetArgT >, DistiAttributeLocation, DistiAttributeStdString, DistiAttributeEncodedStdString, and DistiAttributeUCharOrBool.
|
protected |
Points to the actual storage
|
protected |
Allows for setting of precision for floating point numbers