On 02/08/2010 02:02 AM, Ralf W. Grosse-Kunstleve wrote:
if (obj) ...
is definitely the right way to do it.
Sorry to correct, but it isn't equivalent to "obj is None".
if (obj) uses PyObject_IsTrue(); see
boost/python/object_operators.hpp line 60.

Oh, thanks for the correction !

I guess PyObject_IsTrue() returns false for None, so it may just have worked by coincidence in the past. But yes, there is a need to disambiguate between Py_False and Py_None.

I'll add

   obj.is_none()

and

   obj.is_not_none()

when I get a chance.

Thanks. I don't think there is a need for more than one addition, though. I.e., "obj.is_not_none()" is redundant, and could be spelled simply "!obj.is_none()". (Or in fact, "obj.is_none()" may just be the same as "obj == object()", though the latter is a little wasteful.

Thanks,
        Stefan

--

      ...ich hab' noch einen Koffer in Berlin...

_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig

Reply via email to