[C++-sig] Delete objects, remove from dict

Ralf W. Grosse-Kunstleve rwgk at yahoo.com
Mon Oct 25 18:46:53 CEST 2010


I've only tried it with Python 2; I'm not setup for working with Python 3.

Try

  boost::python::api::delitem(target, key);

and if that fails too

  PyObject_DelItem(target.ptr(), key.ptr());

Ralf


>
>From: Simon W <simwarg at gmail.com>
>To: Development of Python/C++ integration <cplusplus-sig at python.org>
>Sent: Mon, October 25, 2010 8:48:27 AM
>Subject: Re: [C++-sig] Delete objects, remove from dict
>
>Hey and thanks for the answer! Unfortunately that doesn't seem to work. I'm 
>using boost.python for Python 3 ( boost python 1.44? )
>
>error C2039: 'del' : is not a member of 'boost::python::api::object'
>
>I've had a look on the reference manual but I don't understand if it's a free 
>function or an method of object() ? Neither work ..
>
>The code i'm using:
>            object obj = mMainNamespace[ name.c_str() ];
>            obj.del();
>
>// Simon
>
>
>On Mon, Oct 25, 2010 at 1:26 AM, Ralf W. Grosse-Kunstleve <rwgk at yahoo.com> 
>wrote:
>
>> namespace.remove("test"); // <- how can I do something like this with boost
>>>python?
>>
>>namespace["test"].del();
>>
>>See also:
>>
>>http://www.boost.org/doc/libs/1_44_0/libs/python/doc/v2/object.html
>>
>>Ralf


More information about the Cplusplus-sig mailing list