#ifndef DVECT_H #define DVECT_H #include #include namespace vects { struct dvect : public std::vector { dvect() : std::vector() {} dvect(std::size_t n) : std::vector(n) {} dvect(boost::python::tuple tuple) : std::vector(tuple.size()) { std::vector::iterator v_it = begin(); for (int i = 0; i < tuple.size(); i++) v_it[i] = BOOST_PYTHON_CONVERSION::from_python(tuple[i].get(), boost::python::type()); } boost::python::tuple as_tuple() const { boost::python::tuple t(size()); for (int i = 0; i < size(); i++) t.set_item(i, boost::python::ref(BOOST_PYTHON_CONVERSION::to_python((*this)[i]))); return t; } }; } #endif // DVECT_H