# asIScriptFunction Class Reference

The interface for a script function description.

List of all members.

## Public Member Functions
virtual asIScriptEngine * | GetEngine () const =0
| Returns a pointer to the script engine.
virtual const char * | GetModuleName (int *length=0) const =0
| Returns the name of the module where the function was implemented.
virtual asIObjectType * | GetObjectType () const =0
| Returns the object type for class or interface method.
virtual const char * | GetObjectName (int *length=0) const =0
| Returns the name of the object for class or interface methods.
virtual const char * | GetName (int *length=0) const =0
| Returns the name of the function or method.
virtual const char * | GetDeclaration (int *length=0) const =0
| Returns the function declaration.
virtual const char * | GetScriptSectionName (int *length=0) const =0
| Returns the name of the script section where the function was implemented.
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.
virtual int | GetParamCount () const =0
| Returns the number of parameters for this function.
virtual int | GetParamTypeId (int index) 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 | ( | int * | length = `0` | ) | const`[pure virtual]`

Parameters:

  `[out]` | length | The length of the string

Returns:
  A null terminated string with the module name.

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 | ( | int * | length = `0` | ) | const`[pure virtual]`

Parameters:

  `[out]` | length | The length of the string

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

virtual const char* asIScriptFunction::GetName | ( | int * | length = `0` | ) | const`[pure virtual]`

Parameters:

  `[out]` | length | The length of the string

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

virtual const char* asIScriptFunction::GetDeclaration | ( | int * | length = `0` | ) | const`[pure virtual]`

Parameters:

  `[out]` | length | The length of the string

Returns:
  A null terminated string with the function declaration.

virtual const char* asIScriptFunction::GetScriptSectionName | ( | int * | length = `0` | ) | const`[pure virtual]`

Parameters:

  `[out]` | length | The length of the string

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

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 | ) | const`[pure virtual]`

Parameters:

  `[in]` | index | The zero based parameter index.

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.