Чтобы упростить привязку lua типов к вашим C++ функция и объектам, luabind содержит класс object. Этот класс может представлять любой тип lua. Интерфейс класса object скопирован с документации luabind:
class object
{
public:
class iterator;
class raw_iterator;
class array_iterator;
template<class T>
object(lua_State*, const T& value);
object(const object&);
object(lua_State*);
object();
-object();
iterator begin() const;
iterator end() const;
raw_iterator raw_begin() const;
raw_iterator raw_end() const;
array_iterator abegin() const;
array_iterator aend() const;
void set();
lua_State* lua_state() const;
void pushvalue() const;
bool is_valid() const;
operator bool() const;
template<class Key>
<implementation-defined> operator[](const Key&);
template<class Key>
object at(const Key&) const;
template<class Key>
object raw_at(const Key&) const;
template<class T>
object& operator=(const T&);
object& operator=(const object&);
template<class T>
bool operator==(const T&) const;
bool operator==(const object&) const;
bool operator<(const object&) const;
bool operator<=(const object&) const;
bool operator>(const object&) const;
bool operator>=(const object&) const;
bool operator!=(const object&) const;
void swap(object&);
int type() const;
<implementation-defined> operator()();
template<class A0>
<implementation-defined> operator()(const A0& a0);
template<class A0, class A1>
<implementation-defined> operator()(const A0& a0, const A1& a1);
/* ... */
};
Комментариев нет:
Отправить комментарий