ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> cpp-sig
cpp-sig
Re: [C++-sig] Virtual Methods + default arguments
by Nicodemus other posts by this author
Feb 26 2003 4:58AM messages near this date
Re: [C++-sig] Virtual Methods + default arguments | [C++-sig] problem wrapping a c++ function on windows
David Abrahams wrote:

> Bruno da Silva de Oliveira <bso@[...].br> writes:
>   
> 
> >Hi!
> >
> >Is it possible to indicate default arguments for virtual methods,
> >using the BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS macro?
> >
> >    
> >
> 
> <snip>
> 
>   
> 
> >I also tried to change the second .def to:
> >
> >   .def("f", &XWrap::f, f_overloads())
> >
> >and:
> >
> >   .def("f", &XWrap::default_f, f_overloads())
> >
> >But with the same results.
> >    
> >
> 
> This one is on the right track, but you need a separate version of
> f_overloads for the second one.  The 2nd argument to def in this case
> just carries type information; it could be a null function pointer
> for all Boost.Python cares.  It's the 3rd arg which carries all the
> info about what functions to call.
> 

Nice. The solution is define the overloads as:

    BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_overloads, default_f, 0, 2)

generate the module as:

    class_< X, XWrap > ("X")       
        .def("f", &X::f, &XWrap::default_f )
        .def("f", &XWrap::default_f, f_overloads())
    ;

Thanks a lot Dave! (Don't you sleep? 8P)

Farewell,
Nicodemus.



_______________________________________________
C++-sig mailing list
C++-sig@[...].org
http://mail.python.org/mailman/listinfo/c++-sig
Thread:
Bruno da Silva de Oliveira
David Abrahams
Nicodemus

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved