Re: [gtkmm] status of memberfunctions of Glib::TimeVal
- From: Karl Nelson <kenelson ece ucdavis edu>
- To: MHL Schulze t-online de (Martin Schulze)
- Cc: Stephan Puchegger <puchs ap univie ac at>, gtkmm-list <gtkmm-list gnome org>, kenelson python ece ucdavis edu
- Subject: Re: [gtkmm] status of memberfunctions of Glib::TimeVal
- Date: Mon, 23 Sep 2002 09:32:53 -0700
> 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
] [Thread Prev