1 // Copyright Daniel Wallin 2009. Use, modification and distribution is
2 // subject to the Boost Software License, Version 1.0. (See accompanying
3 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 #include <luabind/luabind.hpp>
37 struct Unregistered
: Base
44 std::auto_ptr
<Base
> make_derived()
46 return std::auto_ptr
<Base
>(new Derived
);
49 std::auto_ptr
<Base
> make_unregistered()
51 return std::auto_ptr
<Base
>(new Unregistered
);
54 void test_main(lua_State
* L
)
56 using namespace luabind
;
61 class_
<Derived
, Base
>("Derived")
62 .def("f", &Derived::f
),
63 def("make_derived", &make_derived
),
64 def("make_unregistered", &make_unregistered
)
68 "x = make_derived()\n"
69 "assert(x:f() == 1)\n"
73 "x = make_unregistered()\n"
74 "assert(x:g() == 3)\n"