# CSLEnumProxy Class Template Reference

Class that allows modification of an enum implemented as an integer in a template. More...

`#include <SL_Enum.h>`

Inheritance diagram for CSLEnumProxy:

List of all members.

## Public Member Functions
| CSLEnumProxy (CdotXSITemplate *in_pTemplate, SI_Int in_nIndex)
CSLEnumProxy & | operator= (const CSLEnumProxy &in_Value)
CSLEnumProxy & | operator= (const EnumType &in_Value)
SI_Bool | operator== (const CSLEnumProxy &in_ToCompare)
SI_Bool | operator== (const EnumType &in_ToCompare)
SI_Bool | IsValid ()
| Checks if the internally stored enum value is valid.
| operator EnumType ()
| Conversion operator.
virtual EElementType | Type ()
virtual SI_Float | GetFloatValue ()
virtual SI_Void | SetFloatValue (SI_Float in_fValue)
virtual SI_Error | Connect (CdotXSITemplate *in_pTemplate, SI_Int in_nIndex)
virtual CdotXSIParam * | ParameterReference ()

## Detailed Description

### template<class EnumType, SI_Int MaxValue>
class CSLEnumProxy< EnumType, MaxValue >

Class that allows modification of an enum implemented as an integer in a template.

## Constructor & Destructor Documentation

CSLEnumProxy | ( | CdotXSITemplate * | in_pTemplate,
|  | SI_Int | in_nIndex |
| ) |  |  |

Constructor. Connects to an enum parameter implemented as an integer in the template

Parameters:

  | in_pTemplate | Pointer to the template
  | in_Index | Index of the parameter in the template

## Member Function Documentation

CSLEnumProxy< EnumType, MaxValue > & operator= | ( | const CSLEnumProxy< EnumType, MaxValue > & | in_Value | ) | `[inline]`

Assignment operator. Assigns the value of `in_Value` to this class

Parameters:

  | in_Value | The new value

Returns:
  Reference to the current object.

CSLEnumProxy< EnumType, MaxValue > & operator= | ( | const EnumType & | in_Value | ) | `[inline]`

Assignment operator. Assigns `in_Value` to the parameter referred by this proxy.

Parameters:

  | in_Value | The new value

Returns:
  Reference to the current object.

SI_Bool operator== | ( | const CSLEnumProxy< EnumType, MaxValue > & | in_ToCompare | ) | `[inline]`

Comparison operator. Compares `in_ToCompare` with the value of the parameter referred by this proxy.

Parameters:

  | in_ToCompare | The instance to compare values with

Returns:
  Whether or not the referred parameter and `in_ToCompare` are equal

SI_Bool operator== | ( | const EnumType & | in_ToCompare | ) | `[inline]`

Comparison operator. Compares `in_ToCompare` with the value of the parameter referred by this proxy.

Parameters:

  | in_ToCompare | The instance to compare values with

Returns:
  Whether or not the referred parameter and `in_ToCompare` are equal

SI_Bool IsValid | ( |  | ) | `[inline]`

Checks if the internally stored enum value is valid.

Return values:

  | True | if the stored enum is within valid range
  | False | if the stored enum is invalid

operator EnumType | ( |  | ) | `[inline]`

Conversion operator.

Returns:
  The stored enum value

CSLAnimatableType::EElementType Type | ( |  | ) | `[virtual]`

Returns the animatable type of this class

Returns:
  CSLAnimatableType::SI_ENUM_TYPE

Implements CSLAnimatableType.

SI_Float GetFloatValue | ( |  | ) | `[virtual]`

Converts the value of the referred parameter to float

Returns:
  The converted value

Implements CSLAnimatableType.

SI_Void SetFloatValue | ( | SI_Float | in_fValue | ) | `[virtual]`

Sets the value of the referred parameter from a float

Parameters:

  | in_fValue | The float value used to set the parameter

Implements CSLAnimatableType.

SI_Error Connect | ( | CdotXSITemplate * | in_pTemplate,
|  | SI_Int | in_nIndex |
| ) |  |  | `[virtual]`

Connects the proxy to a parameter of a template

Parameters:

  | in_pTemplate | Parent template
  | in_nIndex | Index of the parameter in the parent template

Return values:

  | SI_SUCCESS |

Reimplemented from CSLAnimatableType.

CdotXSIParam * ParameterReference | ( |  | ) | `[virtual]`

Returns the CdotXSIParam reference of that proxy

Returns:
  the CdotXSIParam reference of that proxy

Reimplemented from CSLAnimatableType.

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

- SL_Enum.h