Skip to content
Snippets Groups Projects
Commit f971e514 authored by Valerio Mariani's avatar Valerio Mariani
Browse files

Turned vec to list converter into a python converter. Removed inverse

conversion
parent b96aa9a9
No related branches found
No related tags found
No related merge requests found
...@@ -25,32 +25,24 @@ ...@@ -25,32 +25,24 @@
#include <vector> #include <vector>
namespace ost{ namespace ost{
/// \brief helper to convert between python list and std::vector /// \brief helper to convert between python list tuple and std::vecot
/// ///
/// Usage: /// Usage:
/// #include vec_to_list_conv.hh ///
/// std::vector<Real> fancy_vector(); /// register_to_python_converter<VectorToListConverter<T>,
/// boost::python::list fancy_list = VecToList<Real>(fancy_vector); /// std::vector<T>>()
template<typename T> template<typename T>
boost::python::list VecToList(std::vector<T>& vec){ struct VectorToListConverter {
boost::python::list l; static PyObject* convert(const std::vector<T>& vec) {
for(typename std::vector<T>::iterator it=vec.begin();it!=vec.end();++it){ boost::python::list l;
l.append(*it); for(typename std::vector<T>::const_iterator it=vec.begin();it!=vec.end();++it){
l.append(*it);
}
return boost::python::incref(l.ptr());
} }
return l; };
}
template<typename T>
std::vector<T> ListToVec(boost::python::list& l){
std::vector<T> vec;
for (int i = 0; i < boost::python::len(l); ++i){
vec.push_back(boost::python::extract<T>(l[i]));
}
return vec;
}
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment