# asIScriptObject Class Reference

The interface for an instance of a script object.

List of all members.

## Public Member Functions
Memory management
virtual int | AddRef ()=0
| Increase reference counter.
virtual int | Release ()=0
| Decrease reference counter.
Type info
virtual int | GetTypeId () const =0
| Returns the type id of the object.
virtual asIObjectType * | GetObjectType () const =0
| Returns the object type interface for the object.
Properties
virtual int | GetPropertyCount () const =0
| Returns the number of properties that the object contains.
virtual int | GetPropertyTypeId (asUINT prop) const =0
| Returns the type id of the property referenced by prop.
virtual const char * | GetPropertyName (asUINT prop) const =0
| Returns the name of the property referenced by prop.
virtual void * | GetAddressOfProperty (asUINT prop)=0
| Returns a pointer to the property referenced by prop.
Miscellaneous
virtual asIScriptEngine * | GetEngine () const =0
| Return the script engine.
virtual int | CopyFrom (asIScriptObject *other)=0
| Copies the content from another object of the same type.

## Member Function Documentation

virtual int asIScriptObject::AddRef | ( |  | ) | `[pure virtual]`

Returns:
  The number of references to this object.

Call this method when storing an additional reference to the object.

virtual int asIScriptObject::CopyFrom | ( | asIScriptObject * | other | ) | `[pure virtual]`

Parameters:

  `[in]` | other | A pointer to the source object.

Returns:
  A negative value on error.

Return values:

  | asINVALID_ARG | The argument is null.
  | asINVALID_TYPE | The other object is of different type.

This method copies the contents of the other object to this one.

virtual void* asIScriptObject::GetAddressOfProperty | ( | asUINT | prop | ) | `[pure virtual]`

Parameters:

  `[in]` | prop | The property index.

Returns:
  A pointer to the property value.

The method returns a pointer to the memory location for the property. Use the type id for the property to determine the content of the pointer, and how to handle it.

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

Returns:
  The script engine.

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

Returns:
  The object type interface of the script object.

This does not increase the reference count of the returned object type.

virtual int asIScriptObject::GetPropertyCount | ( |  | ) | const`[pure virtual]`

Returns:
  The number of member properties of the script object.

virtual const char* asIScriptObject::GetPropertyName | ( | asUINT | prop | ) | const`[pure virtual]`

Parameters:

  `[in]` | prop | The property index.

Returns:
  A null terminated string with the property name.

virtual int asIScriptObject::GetPropertyTypeId | ( | asUINT | prop | ) | const`[pure virtual]`

Parameters:

  `[in]` | prop | The property index.

Returns:
  The type id of the member property, or a negative value on error.

Return values:

  | asINVALID_ARG | prop is too large

virtual int asIScriptObject::GetTypeId | ( |  | ) | const`[pure virtual]`

Returns:
  The type id of the script object.

virtual int asIScriptObject::Release | ( |  | ) | `[pure virtual]`

Returns:
  The number of references to this object.

Call this method when you will no longer use the references that you own.

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

- angelscript.h