From cdf4f244e240727ace167488b84e9fb0352bdc02 Mon Sep 17 00:00:00 2001 From: Abhishek Dasgupta Date: Tue, 1 Dec 2020 15:19:03 +0000 Subject: [PATCH] Add pybind for classes --- src/pybind_3_classes.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/pybind_3_classes.cpp diff --git a/src/pybind_3_classes.cpp b/src/pybind_3_classes.cpp new file mode 100644 index 0000000..fc6c4a8 --- /dev/null +++ b/src/pybind_3_classes.cpp @@ -0,0 +1,23 @@ +#include +#include +#include +#include "library.hpp" + +namespace py = pybind11; +using namespace py::literals; +PYBIND11_MAKE_OPAQUE(std::vector); + +PYBIND11_MODULE(pyBarbadoop, m) { + m.doc() = "PybindCourse module - barbadoop"; + m.def("factorial", &factorial, "Calculate factorial", "n"_a); + m.def("fibonacci", &fibonacci, "Calculate fibonacci series, first N numbers", "n"_a = 10); + m.def("square_vector", &square_vector, "Square vector elements in place", "v"_a); + m.def("hypotenuse", &hypotenuse, "Calculate hypotenuse of triangle", "a"_a, "b"_a); + py::bind_vector>(m, "VectorInt"); + py::class_(m, "Date") + .def(py::init()) + .def_readwrite("year", &Date::year) + .def_readwrite("month", &Date::month) + .def_readwrite("day", &Date::day) + ; +}