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/
|