Re: [C++-sig] [python] python + phoenix

2009-11-02 Thread lists_ravi
>> I have some code that takes member function pointers of the form >> R Obj::*( A1, A2, A3, ..., An ) >> and converts them to a function object Q with the following signature: >> Rnew Q( Obj&, B1, B2, ..., Bn ) >> where >> Rnew = result_conversion_metafunction::type >> Bi = arg_conversion_

Re: [C++-sig] [python] python + phoenix

2009-11-02 Thread troy d. straszheim
Ravi wrote: On Saturday 31 October 2009 01:24:16 troy d. straszheim wrote: I take it that you have a use-case where it is difficult to specify as(thing) and easy to specify as >(thing) Could you elaborate? I have some code that takes member function pointers of the form R Obj::*( A

Re: [C++-sig] [python] python + phoenix

2009-11-01 Thread Ravi
On Saturday 31 October 2009 01:24:16 troy d. straszheim wrote: > I take it that you have a use-case where it is difficult to specify > >as(thing) > > and easy to specify > >as >(thing) > > Could you elaborate? I have some code that takes member function pointers of the form R Obj::*(

Re: [C++-sig] [python] python + phoenix

2009-10-30 Thread troy d. straszheim
Ravi wrote: On Wednesday 14 October 2009 21:59:42 troy d. straszheim wrote: def("plus", as(arg1 + arg2)); This is very cool and pretty intuitive. My main concern is that one needs to build up the function type in generic code (as opposed to mpl vectors), but we do have function_types to

Re: [C++-sig] [python] python + phoenix

2009-10-30 Thread Ravi
On Wednesday 14 October 2009 21:59:42 troy d. straszheim wrote: > boost::function still works, and doesn't require as<>: > >boost::function myplus = std::plus(); >def("myplus", myplus); > > and old-school function objects: > >def("otherplus", std::plus()) > > I was surprised to find

Re: [C++-sig] [python] python + phoenix

2009-10-14 Thread troy d. straszheim
Ravi wrote: > > I'd rather have something along the lines of > .def< mpl::vector >("f1",f1) I have something working. There is still a bunch of stuff to iron out yet. I went with def("name", as(callable)); where Signature is the signature with which callable will be called, e.g. st