Re: [Re: [gtkmm] status of memberfunctions of Glib::TimeVal ]



I would like to avoid API addition as well as API breakage. It's all API
change. We should only do it in emergencies.

Karl Nelson <kenelson ece ucdavis edu> wrote:
> > Hi Stephan!
> > 
> > Feel free to write a patch that adds the functions you mention
> > below. Make a "cvs diff -u3" against current cvs and attach the
> > patch to a new bug report in bugzilla. As long as we don't have
> > a stable release, small, useful API additions usually get approved.
> 
> Even after stable certain additions can be made,  I think there was a
> document on the Qt site which covers this, but the bookmark I had 
> no longer exists.
> 
> Just for future reference these are what can be done...
>   - add a new non-virtual function 
>   - add a new inline function (such as operator +)
>   - add a new overload on existing non-virtual function.
>   - add a new data type
>   - add a const version of a non-virtual function
> 
> What can't be done once stable (without breaking binaries)
>   - remove or add virtual function
>   - remove an existing non-virtual function (*)
>   - convert non-virtual to inline (*)
>   - change the return or arguments on existing functions
>   - remove or add a new data member to an existing structure
>   - change the inheritance tree
>   - mark a function const  (changes mangle name)
> 
> Basically, you must keep all structures the same size, preserve the
> virtual tables, and keep the existing functions. 
> 
> (*) these can be done, but must use #if to compile the functions 
> into library.
> 
> --Karl
> _______________________________________________
> gtkmm-list mailing list
> gtkmm-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtkmm-list



Murray Cumming
murrayc usa net
www.murrayc.com




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]