#ifndef IVECT_H #define IVECT_H #include #include namespace vects { struct ivect : public std::vector { ivect() : std::vector() {} ivect(std::size_t n) : std::vector(n) {} ivect(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 // IVECT_H