From 70eb884a0ee3f19fb2a7dc91d2f25f6348d4167d 2018-11-01 14:37:27 From: Alexis Jeandet Date: 2018-11-01 14:37:27 Subject: [PATCH] Added QVector PB11 wrapper this will help debug Many DataSeries related methods still returns QVector Signed-off-by: Alexis Jeandet --- diff --git a/src/pybind11_wrappers/CoreWrappers.cpp b/src/pybind11_wrappers/CoreWrappers.cpp index 6d36031..0f751f4 100644 --- a/src/pybind11_wrappers/CoreWrappers.cpp +++ b/src/pybind11_wrappers/CoreWrappers.cpp @@ -54,7 +54,8 @@ PYBIND11_MODULE(pysciqlopcore,m){ py::class_(m,"DataSeriesIteratorValue") .def_property_readonly("x", &DataSeriesIteratorValue::x) .def("value", py::overload_cast<>(&DataSeriesIteratorValue::value, py::const_)) - .def("value", py::overload_cast(&DataSeriesIteratorValue::value, py::const_)); + .def("value", py::overload_cast(&DataSeriesIteratorValue::value, py::const_)) + .def("values", &DataSeriesIteratorValue::values); py::class_>(m, "IDataSeries") .def("nbPoints", &IDataSeries::nbPoints) diff --git a/src/pybind11_wrappers/QtWrappers.cpp b/src/pybind11_wrappers/QtWrappers.cpp index c979bf2..37b21aa 100644 --- a/src/pybind11_wrappers/QtWrappers.cpp +++ b/src/pybind11_wrappers/QtWrappers.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include #include #include "pywrappers_common.h" @@ -27,7 +28,17 @@ PYBIND11_MODULE(sciqlopqt,m){ py::class_(m,"QTime") .def(py::init()); - + py::class_>(m, "DoubleQVector") + .def(py::init<>()) + .def("clear", &QVector::clear) + .def("pop_back", &QVector::pop_back) + .def("__len__", [](const QVector &v) { return v.size(); }) + .def("__iter__", [](QVector &v) { + return py::make_iterator(v.begin(), v.end()); + }, py::keep_alive<0, 1>()) + .def("__getitem__", [](const QVector &s, size_t i) { + if (i >= s.size()) throw py::index_error(); + return s[i];}); py::implicitly_convertible(); }