Add example of wrapping data members of a class #79
This commit is contained in:
parent
d068ce472c
commit
1858885010
@ -5,12 +5,14 @@
|
|||||||
class TestBaseType
|
class TestBaseType
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TestBaseType() {}
|
TestBaseType() : val(10), const_val(15) { }
|
||||||
TestBaseType(int) {}
|
TestBaseType(int) : val(10), const_val(15) {}
|
||||||
TestBaseType(int *) {}
|
TestBaseType(int *) : val(10), const_val(15) {}
|
||||||
virtual ~TestBaseType() {}
|
virtual ~TestBaseType() {}
|
||||||
virtual int func() { return 0; }
|
virtual int func() { return 0; }
|
||||||
|
|
||||||
|
int val;
|
||||||
|
const int const_val;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum TestEnum
|
enum TestEnum
|
||||||
@ -68,6 +70,8 @@ CHAISCRIPT_MODULE_EXPORT chaiscript::ModulePtr create_chaiscript_module_test_mo
|
|||||||
m->add(chaiscript::base_class<TestBaseType, TestDerivedType>());
|
m->add(chaiscript::base_class<TestBaseType, TestDerivedType>());
|
||||||
|
|
||||||
m->add(chaiscript::fun(&TestBaseType::func), "func");
|
m->add(chaiscript::fun(&TestBaseType::func), "func");
|
||||||
|
m->add(chaiscript::fun(&TestBaseType::val), "val");
|
||||||
|
m->add(chaiscript::fun(&TestBaseType::const_val), "const_val");
|
||||||
|
|
||||||
m->add(chaiscript::fun(&get_new_int), "get_new_int");
|
m->add(chaiscript::fun(&get_new_int), "get_new_int");
|
||||||
|
|
||||||
|
@ -6,3 +6,12 @@ var t = TestDerivedType();
|
|||||||
assert_equal(t0.func(), 0);
|
assert_equal(t0.func(), 0);
|
||||||
assert_equal(t.func(), 1);
|
assert_equal(t.func(), 1);
|
||||||
|
|
||||||
|
assert_equal(10, t0.val);
|
||||||
|
assert_equal(15, t0.const_val);
|
||||||
|
|
||||||
|
assert_equal(10, t.val);
|
||||||
|
assert_equal(15, t.const_val);
|
||||||
|
|
||||||
|
t.val = 23;
|
||||||
|
assert_equal(23, t.val)
|
||||||
|
|
||||||
|
@ -1,2 +1,4 @@
|
|||||||
load_module("test_module")
|
load_module("test_module")
|
||||||
assert_equal("Hello World", hello_world());
|
assert_equal("Hello World", hello_world());
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user