# asIScriptFunction Class Reference

The interface for a script function description.

List of all members.

## Public Member Functions
Miscellaneous
virtual asIScriptEngine * | GetEngine () const =0
| Returns a pointer to the script engine.
virtual const char * | GetModuleName () const =0
| Returns the name of the module where the function was implemented.
virtual const char * | GetScriptSectionName () const =0
| Returns the name of the script section where the function was implemented.
virtual const char * | GetConfigGroup () const =0
| Returns the name of the config group in which the function was registered.
Function info
virtual asIObjectType * | GetObjectType () const =0
| Returns the object type for class or interface method.
virtual const char * | GetObjectName () const =0
| Returns the name of the object for class or interface methods.
virtual const char * | GetName () const =0
| Returns the name of the function or method.
virtual const char * | GetDeclaration (bool includeObjectName=true) const =0
| Returns the function declaration.
virtual bool | IsClassMethod () const =0
| Returns true if it is a class method.
virtual bool | IsInterfaceMethod () const =0
| Returns true if it is an interface method.
Parameter and return types
virtual int | GetParamCount () const =0
| Returns the number of parameters for this function.
virtual int | GetParamTypeId (int index, asDWORD *flags=0) const =0
| Returns the type id of the specified parameter.
virtual int | GetReturnTypeId () const =0
| Returns the type id of the return type.

## Member Function Documentation

virtual asIScriptEngine* asIScriptFunction::GetEngine | ( |  | ) | const`[pure virtual]`

Returns:
  A pointer to the engine.

virtual const char* asIScriptFunction::GetModuleName | ( |  | ) | const`[pure virtual]`

Returns:
  A null terminated string with the module name.

virtual const char* asIScriptFunction::GetScriptSectionName | ( |  | ) | const`[pure virtual]`

Returns:
  A null terminated string with the script section name where the function was implemented.

virtual const char* asIScriptFunction::GetConfigGroup | ( |  | ) | const`[pure virtual]`

Returns:
  The name of the config group, or null if not in any group.

virtual asIObjectType* asIScriptFunction::GetObjectType | ( |  | ) | const`[pure virtual]`

Returns:
  A pointer to the object type interface if this is a method.

virtual const char* asIScriptFunction::GetObjectName | ( |  | ) | const`[pure virtual]`

Returns:
  A null terminated string with the name of the object type if this a method.

virtual const char* asIScriptFunction::GetName | ( |  | ) | const`[pure virtual]`

Returns:
  A null terminated string with the name of the function.

virtual const char* asIScriptFunction::GetDeclaration | ( | bool | includeObjectName = `true` | ) | const`[pure virtual]`

Parameters:

  `[in]` | includeObjectName | Indicate whether the object name should be prepended to the function name

Returns:
  A null terminated string with the function declaration.

virtual bool asIScriptFunction::IsClassMethod | ( |  | ) | const`[pure virtual]`

Returns:
  True if this a class method.

virtual bool asIScriptFunction::IsInterfaceMethod | ( |  | ) | const`[pure virtual]`

Returns:
  True if this is an interface method.

virtual int asIScriptFunction::GetParamCount | ( |  | ) | const`[pure virtual]`

Returns:
  The number of parameters.

virtual int asIScriptFunction::GetParamTypeId | ( | int | index,
|  | asDWORD * | flags = `0` |
| ) |  |  | const`[pure virtual]`

Parameters:

  `[in]` | index | The zero based parameter index.
  `[out]` | flags | A combination of asETypeModifiers.

Returns:
  A negative value on error, or the type id of the specified parameter.

Return values:

  | asINVALID_ARG | The index is out of bounds.

virtual int asIScriptFunction::GetReturnTypeId | ( |  | ) | const`[pure virtual]`

Returns:
  The type id of the return type.