[C++-sig] Pyste: bug: overriding overloaded virtual functions.

Nicodemus nicodemus at globalite.com.br
Sat Jul 5 18:25:41 CEST 2003


Prabhu Ramachandran wrote:

>>>>>>"N" == nicodemus  <nicodemus at globalite.com.br> writes:
>>>>>>            
>>>>>>
>
>    N> I just applied your patch. I really appreciate your effort in
>    N> finding this problems, thanks a lot!
>
>No problem.  I also tried solving the problem where Pyste was not
>generating wrapper code for virtual operators.  Unfortunately the code
>was a little too complex and I was not able to generate a patch.  I
>thought I had to re-order some of the function definitions (move
>ExportOperators above ExportVirtualFunctions etc.) and did not want to
>go that far.  Is this also fixed in CVS?
>  
>

No, not yet. I think I will change the way operators are currently 
exported. Currently, it tries to use Boost.Python's facilities for 
operators, ie:

struct A {
    A operator+(const B);
}

It will generate:

    class_<A>(...)
        .def(self + other<B>())
    ;

But I will change it to export the explicit Python special names, to 
ease dealing with virtual operators:

    class<A>(...)
        .def("__add__", &A::operator+)
    ;

You people think that this is a great loss in readability? Because this 
would let my code in the operators section much more clear.

Regards,
Nicodemus.





More information about the Cplusplus-sig mailing list