Re: [pygccxml-development] FT - transformer changes
Brought to you by:
mbaas,
roman_yakovenko
From: Roman Y. <rom...@gm...> - 2006-10-12 09:57:50
|
On 10/9/06, Roman Yakovenko <rom...@gm...> wrote: > Hi. I would like to introduce next changes to the FT classes. > > 1. rename function_transformer_t to transformer_t and add new class > function_transformation_t > Consider next example: > struct vector3{ > vector3( int, int, int ){...} > } > > draw_dot( vector3 ){ ... } > > User can expose this function as is, but will be able also define > convenience method > that takes tuple. > > draw_dot( tuple ){ > internally constructs vector3 from tuple and calls the original > function. > } > > function_transformation_t will keep list of all transformers that should > be applied to the function > > decl_wrappers.member_function_t will keep a list of all > function_transformation_t > > Obviously the user code, creator_t classes will have to change, but I > think this is a good > reason. > > 2. rename arg_policies.py file to transformers.py > > Get rid of old name > > 3. every transformer class should derive from transformer_t > > 1. This will introduce "transformer" concept to the Py++. Very, very > important. > > 2. This will allow us to get rid of code > src = map(lambda cb: getattr(cb, "wrapper_pre_call", defmeth)(self), > transformers) > > 4. every method defined in transformer_t class should return empty string > and not None. > > It will make it clear for user that every redefined method in the > derived class should return string > Matthias what do you think about these changes? -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |