blob: e62fde72d2047bea1d93d364c3b6dbcffda80bc2 [file] [log] [blame]
Wenzel Jakob38bd7112015-07-05 20:05:44 +02001/*
2 example/example.cpp -- pybind example plugin
3
Wenzel Jakob8cb6cb32016-04-17 20:21:41 +02004 Copyright (c) 2016 Wenzel Jakob <wenzel.jakob@epfl.ch>
Wenzel Jakob38bd7112015-07-05 20:05:44 +02005
6 All rights reserved. Use of this source code is governed by a
7 BSD-style license that can be found in the LICENSE file.
8*/
9
10#include "example.h"
11
Jason Rhinelanderb3f3d792016-07-18 16:43:18 -040012void init_ex_methods_and_attributes(py::module &);
13void init_ex_python_types(py::module &);
14void init_ex_operator_overloading(py::module &);
15void init_ex_constants_and_functions(py::module &);
16void init_ex_callbacks(py::module &);
17void init_ex_sequences_and_iterators(py::module &);
18void init_ex_buffers(py::module &);
19void init_ex_smart_ptr(py::module &);
20void init_ex_modules(py::module &);
21void init_ex_numpy_vectorize(py::module &);
22void init_ex_arg_keywords_and_defaults(py::module &);
23void init_ex_virtual_functions(py::module &);
24void init_ex_keep_alive(py::module &);
25void init_ex_opaque_types(py::module &);
26void init_ex_pickling(py::module &);
27void init_ex_inheritance(py::module &);
28void init_ex_stl_binder_vector(py::module &);
29void init_ex_eval(py::module &);
30void init_ex_custom_exceptions(py::module &);
Wenzel Jakob17cdb062016-03-10 13:24:10 +010031void init_issues(py::module &);
Wenzel Jakob38bd7112015-07-05 20:05:44 +020032
Wenzel Jakob9e0a0562016-05-05 20:33:54 +020033#if defined(PYBIND11_TEST_EIGEN)
34 void init_eigen(py::module &);
35#endif
36
Wenzel Jakobb1b71402015-10-18 16:48:30 +020037PYBIND11_PLUGIN(example) {
Wenzel Jakob38bd7112015-07-05 20:05:44 +020038 py::module m("example", "pybind example plugin");
39
Jason Rhinelanderb3f3d792016-07-18 16:43:18 -040040 init_ex_methods_and_attributes(m);
41 init_ex_python_types(m);
42 init_ex_operator_overloading(m);
43 init_ex_constants_and_functions(m);
44 init_ex_callbacks(m);
45 init_ex_sequences_and_iterators(m);
46 init_ex_buffers(m);
47 init_ex_smart_ptr(m);
48 init_ex_modules(m);
49 init_ex_numpy_vectorize(m);
50 init_ex_arg_keywords_and_defaults(m);
51 init_ex_virtual_functions(m);
52 init_ex_keep_alive(m);
53 init_ex_opaque_types(m);
54 init_ex_pickling(m);
55 init_ex_inheritance(m);
56 init_ex_stl_binder_vector(m);
57 init_ex_eval(m);
58 init_ex_custom_exceptions(m);
Wenzel Jakob17cdb062016-03-10 13:24:10 +010059 init_issues(m);
Wenzel Jakob38bd7112015-07-05 20:05:44 +020060
Wenzel Jakob9e0a0562016-05-05 20:33:54 +020061 #if defined(PYBIND11_TEST_EIGEN)
62 init_eigen(m);
63 #endif
64
Wenzel Jakob38bd7112015-07-05 20:05:44 +020065 return m.ptr();
66}