I am trying to translate the following code
d = {}
d[0] = None
into C++ with boost.python
boost::python::dict d;
d[0] = ?None
How can I get a None object in boost.python?
ANSWER:
boost::python::dict d;
d[0] = boost::python::object();
I am trying to translate the following code
d = {}
d[0] = None
into C++ with boost.python
boost::python::dict d;
d[0] = ?None
How can I get a None object in boost.python?
ANSWER:
boost::python::dict d;
d[0] = boost::python::object();
You could use:
d[0] = d.get(0)
d.get
defaults to None
if you don't specify a default value.
There is no constructor of boost::python::object
that takes a PyObject*
(from my understanding, a ctor like that would invalidate the whole idea if mapping Python types to C++ types anyway, because the PyObject* could be anything). According to the documentation:
object();
Effects: Constructs an object managing a reference to the Python
None
object.