Re: [pygccxml-development] FT - recent changes
Brought to you by:
mbaas,
roman_yakovenko
From: Roman Y. <rom...@gm...> - 2006-10-25 18:55:35
|
On 10/25/06, Matthias Baas <ba...@ir...> wrote: > Roman Yakovenko wrote: > > For example: > > > > struct error_t{}; > > > > void do_smth( ..., error_t& ); > > > > I want to expose do_smth in 2 ways: > > > > 1. as is: def( "do_smth_no_raise", &do_smth ); > > 2. error status is converted by Py++ to exception: > > > > void do_smth_raise(){ > > error_t x; > > do_smth( x ); > > if x contains error: > > throw actual error; > > } > > > > def( "do_smth", &do_smth_raise ); > > > > > > do_smth.add_transformation() #<- use Py++ default behaviour > > do_smth.add_transformation( raise_on_error( 0, ... ) ) > > How do you rename the first version to "do_smth_no_raise" (without > renaming the other one)? do_smth.add_transformation( "do_smth_no_raise", raise_on_error( 0, ... ) ) I want to make it clear: this functionality is disabled now. But in future function_transformation_t class will get new property - alias. add_transformation method will change: def add_transformation( *args ): alias = self.alias if args and isinstance( args[0], str ): alias = args[0] args = args[1:] .... So it should be pretty simple to add it. I just want to concentrate my attention on small refactoring steps. -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |