MCPcopy Create free account
hub / github.com/ChaiScript/ChaiScript / ModulePtr create_chaiscript_module_test_module

Method ModulePtr create_chaiscript_module_test_module

src/test_module.cpp:148–220  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

146#endif
147
148CHAISCRIPT_MODULE_EXPORT chaiscript::ModulePtr create_chaiscript_module_test_module()
149{
150 chaiscript::ModulePtr m(new chaiscript::Module());
151
152 m->add(chaiscript::fun(hello_world), "hello_world");
153
154 m->add(chaiscript::user_type<TestBaseType>(), "TestBaseType");
155 m->add(chaiscript::user_type<TestDerivedType>(), "TestDerivedType");
156 m->add(chaiscript::user_type<TestMoreDerivedType>(), "TestMoreDerivedType");
157 m->add(chaiscript::user_type<Type2>(), "Type2");
158
159 m->add(chaiscript::constructor<TestBaseType ()>(), "TestBaseType");
160// m->add(chaiscript::constructor<TestBaseType (int)>(), "TestBaseType");
161 m->add(chaiscript::constructor<TestBaseType (const TestBaseType &)>(), "TestBaseType");
162 m->add(chaiscript::constructor<TestBaseType (int *)>(), "TestBaseType");
163
164 m->add(chaiscript::constructor<TestDerivedType ()>(), "TestDerivedType");
165 m->add(chaiscript::constructor<TestDerivedType (const TestDerivedType &)>(), "TestDerivedType");
166
167 m->add(chaiscript::constructor<TestMoreDerivedType ()>(), "TestMoreDerivedType");
168 m->add(chaiscript::constructor<TestMoreDerivedType (const TestMoreDerivedType &)>(), "TestMoreDerivedType");
169
170 /// \todo automatic chaining of base classes?
171 m->add(chaiscript::base_class<TestBaseType, TestDerivedType>());
172 m->add(chaiscript::base_class<TestBaseType, TestMoreDerivedType>());
173 m->add(chaiscript::base_class<TestDerivedType, TestMoreDerivedType>());
174
175 m->add(chaiscript::fun(&TestDerivedType::derived_only_func), "derived_only_func");
176
177 m->add(chaiscript::fun(&derived_type_factory), "derived_type_factory");
178 m->add(chaiscript::fun(&more_derived_type_factory), "more_derived_type_factory");
179 m->add(chaiscript::fun(&null_factory), "null_factory");
180
181 m->add(chaiscript::fun(&TestDerivedType::func), "func");
182
183 m->add(chaiscript::fun(&TestBaseType::func), "func");
184 m->add(chaiscript::fun(&TestBaseType::val), "val");
185 m->add(chaiscript::fun(&TestBaseType::const_val), "const_val");
186 m->add(chaiscript::fun(&TestBaseType::const_val_ptr), "const_val_ptr");
187 m->add(chaiscript::fun(&TestBaseType::get_const_val_ptr), "get_const_val_ptr");
188 m->add(chaiscript::fun(&TestBaseType::base_only_func), "base_only_func");
189 m->add(chaiscript::fun(&TestBaseType::set_string_val), "set_string_val");
190
191 m->add(chaiscript::fun(&TestBaseType::mdarray), "mdarray");
192 chaiscript::bootstrap::array<int[2][3][5]>("IntArray_2_3_5", *m);
193 chaiscript::bootstrap::array<int[3][5]>("IntArray_3_5", *m);
194 chaiscript::bootstrap::array<int[5]>("IntArray_5", *m);
195
196 // member that is a function
197 m->add(chaiscript::fun(&TestBaseType::func_member), "func_member");
198 m->add(chaiscript::fun(&get_new_int), "get_new_int");
199
200
201 m->add_global_const(chaiscript::const_var(TestValue1), "TestValue1");
202
203 m->add(chaiscript::user_type<TestEnum>(), "TestEnum");
204
205 m->add(chaiscript::fun(&to_int), "to_int");

Callers

nothing calls this directly

Calls 5

funFunction · 0.85
const_varFunction · 0.85
Type2Class · 0.85
add_global_constMethod · 0.80
addMethod · 0.45

Tested by

no test coverage detected