| GL Studio C++ Runtime API

Public Member Functions | Public Attributes | Protected Attributes | List of all members
DistiAttributeEnumDirect< enumType > Class Template Reference

`#include <gls_metadata_attributes.h>`

Inheritance diagram for DistiAttributeEnumDirect< enumType >:

## Public Member Functions
| DistiAttributeEnumDirect (CallbackMethodCallerBase *callback, const AttributeName &name, enumType *attribPtr, DistiAttributeEnumDefList *pairList)
| DistiAttributeEnumDirect (CallbackMethodCallerBase *callback, const AttributeName &name, const enumType &value, DistiAttributeEnumDefList *pairList)
virtual long | ValueInt () override
virtual void | ValueInt (long val) override
virtual DistiAttributeBase & | operator= (const DistiAttributeBase &oldClass) override
virtual std::ostream & | WriteValue (std::ostream &outstr) override
virtual std::istream & | ReadValue (std::istream &instr) override
std::string | Type () const override
Public Member Functions inherited from DistiAttributeBase
| DistiAttributeBase (CallbackMethodCallerBase *callback, const AttributeName &name, bool localStorage)
virtual DistiAttributeBase & | operator= (const DistiAttributeBase &oldClass)
const AttributeName & | Name () const
AttributeName & | Name ()
bool | LocalStorage () const
virtual bool | Copyable () const
virtual bool | OkToWrite () const
virtual bool | ValueChanged ()
virtual void | ResetValueChanged ()
virtual std::string | ValueString ()
virtual void | ValueString (const std::string &s)
virtual long | ValueInt ()
virtual void | ValueInt (long val)
virtual double | ValueFloat ()
virtual void | ValueFloat (double val)
virtual void | CallCallback ()
| Calls callback CallType3 if it has been set.
virtual std::ostream & | WriteValue (std::ostream &outstr)=0
virtual std::istream & | ReadValue (std::istream &instr)=0
virtual std::string | Type () const
virtual bool | operator== (const DistiAttributeBase &r)
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) override
void | NotifyWeakReferenceDestroyed (WeakReference *ref) override
virtual void | AddWeakReference (WeakReference *weakRef)=0
virtual void | NotifyWeakReferenceDestroyed (WeakReference *weakReference)=0

## Public Attributes
DistiAttributeEnumDefList * | _pairList
| Observing pointer to the enum string to integer conversion data.

## Protected Attributes
enumType * | _attribPtr
| Underlying storage for this attribute.
Protected Attributes inherited from DistiAttributeBase
AttributeName | _name
CallbackMethodCallerBase * | _callback
ScopedPtr< DistiAttributeObserverList > | _observerList
bool | _localStorage
Protected Attributes inherited from WeakReferenceableMixin
DynamicArray< WeakReference * > * | _weakRefs

## Additional Inherited Members
Public Types inherited from DistiAttributeBase
typedef unsigned int | CallbackID
| Type for unique identifiers.
Protected Member Functions inherited from WeakReferenceableMixin
| WeakReferenceableMixin ()
virtual | ~WeakReferenceableMixin ()

## Detailed Description

template<class enumType>
class disti::DistiAttributeEnumDirect< enumType >

A Disti Attribute which reads and writes enumerations directly, bypassing method calls.

## Constructor & Destructor Documentation

## ◆ DistiAttributeEnumDirect() [1/2]

DistiAttributeEnumDirect | ( | CallbackMethodCallerBase * | callback,
|  | const AttributeName & | name,
|  | enumType * | attribPtr,
|  | DistiAttributeEnumDefList * | pairList
| ) |  |
| inline

Constructor, uses existing storage.

Parameters

  callback | The callback function pointer to call back.
  name | The name of this new attribute.
  attribPtr | A pointer to a pointer to existing storage for this attribute.
  pairList | The enum string to integer data to use for this attribute.

## ◆ DistiAttributeEnumDirect() [2/2]

DistiAttributeEnumDirect | ( | CallbackMethodCallerBase * | callback,
|  | const AttributeName & | name,
|  | const enumType & | value,
|  | DistiAttributeEnumDefList * | pairList
| ) |  |
| inline

Constructor, creates local storage

Parameters

  callback | The callback function pointer to call back.
  name | The name of this new attribute.
  value | The initial value for this attribute.
  pairList | The enum string to integer data to use for this attribute.

## Member Function Documentation

## ◆ operator=()

virtual DistiAttributeBase & operator= | ( | const DistiAttributeBase & | oldClass | ) |
| inline override virtual

Assignment operator

Parameters

  oldClass | The object to copy from.

Returns
  The resulting object (this).

Reimplemented from DistiAttributeBase.

## ◆ ReadValue()

virtual std::istream & ReadValue | ( | std::istream & | instr | ) |
| inline override virtual

Read data from the stream into this attribute.

Parameters

  instr | The stream to read from.

Returns
  The stream in its current state.

Implements DistiAttributeBase.

## ◆ Type()

std::string Type | ( |  | ) | const
| inline override virtual

Demangles type enumType.

Returns
  String containing new name for type enumType.

Precondition
  none

Postcondition
  none

Reimplemented from DistiAttributeBase.

## ◆ ValueInt() [1/2]

virtual long ValueInt | ( |  | ) |
| inline override virtual

Returns
  The attribute value as an integer.

Reimplemented from DistiAttributeBase.

## ◆ ValueInt() [2/2]

virtual void ValueInt | ( | long | val | ) |
| inline override virtual

Set the attribute value as an integer.

Parameters

  val | The new value to set.

Reimplemented from DistiAttributeBase.

## ◆ WriteValue()

virtual std::ostream & WriteValue | ( | std::ostream & | outstr | ) |
| inline override virtual

Write data from this attribute into the stream.

Parameters

  outstr | The stream to write to.

Returns
  The stream in its current state.

Implements DistiAttributeBase.

The documentation for this class was generated from the following file:

- gls_metadata_attributes.h