7 #ifndef PY_CONTAINER_UTILS_JDG20038_HPP
8 # define PY_CONTAINER_UTILS_JDG20038_HPP
10 # include <boost/python/object.hpp>
11 # include <boost/python/handle.hpp>
12 # include <boost/python/extract.hpp>
14 namespace boost {
namespace python {
namespace container_utils {
16 template <
typename Container>
20 typedef typename Container::value_type data_type;
24 for (
int i = 0; i < l.attr(
"__len__")(); i++)
27 extract<data_type const&>
x(elem);
31 container.push_back(
x());
36 extract<data_type>
x(elem);
39 container.push_back(
x());
43 PyErr_SetString(PyExc_TypeError,
"Incompatible Data Type");
44 throw_error_already_set();