On Fri, Mar 12, 2010 at 6:28 AM, Lisandro Dalcin <[email protected]> wrote:
> On 11 March 2010 23:14, Ondrej Certik <[email protected]> wrote:
[...]
>> but the rest will be a bit more complicated. Let me know if you think
>> this is the right approach. I guess I could add some cython cmdline
>> option to control the global/local api.
>>
>
> How about controling global/local api at C compile time, using
> preprocessor definitions?

But how about the generation of the .cpp file? I need cython to
generate it. But most users imho just need the .h file.

>>
>>    p->insert_object("i", c2py_int(5));
>>
>
> I would prefer p->put("i", c2py_int(5))

As I wrote, I would actually prefer push. That's what ipython uses
(Brian suggested this to me) and I like it. E.g. push/pull.

Yours idea would be put/get. I guess that's cool too. I am not a
native speaker, so my intuition might be wrong, but I like to think of
pushing the variables in there, rather than just putting them there.
:)

>
>>
>>    int i = py2c_int(p->get_object("i"));
>>
>
> Can you explain me how are you managing reference counting? I think
> that you will need a proxy C++ class to manage incref()/decref()

Here are the definitions of py2c_int and c2py_int:

cdef api object c2py_int(int i):
    return i

cdef api int py2c_int(object i):
    return i


So what exactly do you mean by reference counting? Isn't this safe?

Ondrej
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to