---
name: "CL_LuaObject"
section: "3"
platform: "linux"
package: "clanlib0-common-dev"
version: "0.4.4-8"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/CL_LuaObject"
---

# CL\_LuaObject(3)

Lua object

## NAME

CL\_LuaObject - Lua object

## DESCRIPTION

Represents a general Lua object, that is, an object stored at Lua stack.

Inherited from public CL\_LuaValue

## CLASS MEMBERS

- **CL\_LuaObject**(

  ```
  void)
  ```

- **CL\_LuaObject**(

  ```
  const CL_LuaObject& org)
  ```

- virtual **~CL\_LuaObject**(

  ```
  void)
  ```

- CL\_LuaObject& **operator=** (

  ```
  const CL_LuaValue& value)
  ```

- CL\_LuaObject& **operator=** (

  ```
  const CL_LuaValue& value)
  ```

- virtual lua\_Object **getobject**(

  ```
  void)
  ```

- void **push**(

  ```
  void)
  ```

- int **isNil**(

  ```
  void)
  ```

- int **isNumber**(

  ```
  void)
  ```

- int **isString**(

  ```
  void)
  ```

- int **isFunction**(

  ```
  void)
  ```

- int **isUserData**(

  ```
  void)
  ```

- int **isTable**(

  ```
  void)
  ```

- int **type**(

  ```
  void)
  ```

- operator **float**()

  - operator const **char\***()

  - operator const **char\***()

  - operator const **void\***()

  - operator const **void\***()

  - CL\_LuaObject **operator\[\]**(

  ```
  const CL_LuaValue& index)
  ```

- CL\_LuaObject **operator\[\]**(

  ```
  int index)
  ```

- int **operator()**(

  ```
  void)
  ```

- int **operator()**(

  ```
  const CL_LuaValue& arg1)
  ```

- int **operator()**(

  ```
  const CL_LuaValue& arg1,
  const CL_LuaValue& arg2)
  ```

- int **operator()**(

  ```
  const CL_LuaValue& arg1,
  const CL_LuaValue& arg2,
  const CL_LuaValue& arg3)
  ```

- int **operator()**(

  ```
  const CL_LuaValue& arg1,
  const CL_LuaValue& arg2,
  const CL_LuaValue& arg3,
  const CL_LuaValue& arg4)
  ```

- int **operator()**(

  ```
  const CL_LuaValue& arg1,
  const CL_LuaValue& arg2,
  const CL_LuaValue& arg3,
  const CL_LuaValue& arg4,
  const CL_LuaValue& arg5)
  ```

## MEMBERS WITH DESCRIPTIONS

- **CL\_LuaObject**(

  ```
  void)
  ```

  ```
  Description:
  ```

  Create a *nil* object (default) After creating a 'nil' object, we use the Lua class methods to access values from the Lua stack

- **CL\_LuaObject**(

  ```
  const CL_LuaObject& org)
  ```

  ```
  Description:
  ```

- virtual **~CL\_LuaObject**(

  ```
  void)
  ```

  ```
  Description:
  ```

- CL\_LuaObject& **operator=** (

  ```
  const CL_LuaValue& value)
  ```

  ```
  Description:
  ```

  operator=operator=

- CL\_LuaObject& **operator=** (

  ```
  const CL_LuaValue& value)
  ```

  ```
  Description:
  ```

  operator=operator=

- virtual lua\_Object **getobject**(

  ```
  void)
  ```

  ```
  Description:
  ```

  Get the corresponding Lua object

- void **push**(

  ```
  void)
  ```

  ```
  Description:
  ```

  Base virtual functions

- int **isNil**(

  ```
  void)
  ```

  ```
  Description:
  ```

- int **isNumber**(

  ```
  void)
  ```

  ```
  Description:
  ```

- int **isString**(

  ```
  void)
  ```

  ```
  Description:
  ```

- int **isFunction**(

  ```
  void)
  ```

  ```
  Description:
  ```

- int **isUserData**(

  ```
  void)
  ```

  ```
  Description:
  ```

- int **isTable**(

  ```
  void)
  ```

  ```
  Description:
  ```

- int **type**(

  ```
  void)
  ```

  ```
  Description:
  ```

- operator **float**()

  ```
  Description:
  ```

  Convert lua value to ordinary C types

- operator const **char\***()

  ```
  Description:
  ```

  Convert lua value to ordinary C typesConvert lua value to ordinary C types

- operator const **char\***()

  ```
  Description:
  ```

  Convert lua value to ordinary C typesConvert lua value to ordinary C types

- operator const **void\***()

  ```
  Description:
  ```

  Convert lua value to ordinary C typesConvert lua value to ordinary C types TABLES

- operator const **void\***()

  ```
  Description:
  ```

  Convert lua value to ordinary C typesConvert lua value to ordinary C types TABLES

- CL\_LuaObject **operator\[\]**(

  ```
  const CL_LuaValue& index)
  ```

  ```
  Description:
  ```

  Subscription If the object is a Lua table, the {operator\[\]} can be used to indexed the Lua corresponding value.

- CL\_LuaObject **operator\[\]**(

  ```
  int index)
  ```

  ```
  Description:
  ```

  Subscription If the object is a Lua table, the {operator\[\]} can be used to indexed the Lua corresponding value.	 FUNCTIONS If the object is a Lua function, the operator () can be used to call it.

- int **operator()**(

  ```
  void)
  ```

  ```
  Description:
  ```

  Call function with no argument

- int **operator()**(

  ```
  const CL_LuaValue& arg1)
  ```

  ```
  Description:
  ```

  Call function with 1 argument

- int **operator()**(

  ```
  const CL_LuaValue& arg1,
  const CL_LuaValue& arg2)
  ```

  ```
  Description:
  ```

  Call function with 2 arguments

- int **operator()**(

  ```
  const CL_LuaValue& arg1,
  const CL_LuaValue& arg2,
  const CL_LuaValue& arg3)
  ```

  ```
  Description:
  ```

  Call function with 3 arguments

- int **operator()**(

  ```
  const CL_LuaValue& arg1,
  const CL_LuaValue& arg2,
  const CL_LuaValue& arg3,
  const CL_LuaValue& arg4)
  ```

  ```
  Description:
  ```

  Call function with 4 arguments

- int **operator()**(

  ```
  const CL_LuaValue& arg1,
  const CL_LuaValue& arg2,
  const CL_LuaValue& arg3,
  const CL_LuaValue& arg4,
  const CL_LuaValue& arg5)
  ```

  ```
  Description:
  ```

  Call function with 5 arguments

## SEE ALSO

All ClanLib API classes can be found in **clanlib (3)**.

## AUTHORS

Originally written by Magnus Norddahl \<*mbn@dark.x.dtu.dk*\> and Martin Starch \<*starch@dark.x.dtu.dk*\>. ClanLib is now developed by the ClanLib Development team as an Open Source project.

The ClanLib man pages was created using the Perceps documentation system (another excellent piece of Open Source software, available at **http://somewhere.in.the.world.org**).

See **clanlib (3)** to find out how to get a full list of contributors and details on how to submit bug reports, comments etc.
