Re: gtkmm and C++0x
- From: Reece Dunn <msclrhd googlemail com>
- To: Murray Cumming <murrayc murrayc com>
- Cc: gtkmm-list <gtkmm-list gnome org>
- Subject: Re: gtkmm and C++0x
- Date: Tue, 30 Mar 2010 21:17:02 +0100
On 30 March 2010 20:46, Murray Cumming <murrayc murrayc com> wrote:
> On Tue, 2010-03-30 at 21:18 +0200, Mark Roberts wrote:
>> I wouldn't want gtkmm to drop compatibilty with my old gcc just
>> because
>> there is a newer gcc available that I know I'm not going to install.
>
> We don't know of any reason that we would need to drop support.
>
> I'm mostly just asking for people to
> a) Check that gtkmm builds with C++0x.
C++0x should be backward compatible with C++98/03.
> b) Check that example code works when it uses C++0x features, and check
> if that suggests any need for improvements in the gtkmm API.
Likewise, the examples should work unmodified.
> c) Explore what C++0x features, if any, we might want to use in the API,
> which might require dropping support.
C++0x language features that should be useful:
1/ auto, esp. in for loops over iterator ranges -- this should just
be internal implementation/external usage, no API/ABI breakage [1];
2/ rvalue references for speeding up returning containers/complex
types by value -- this should work without modification [1];
3/ lambda for signal/slot handlers -- this should work without modification;
4/ variadic template parameters for tuple and function/bind types
(signal/slot functors) -- better support for N-ary template arguments;
5/ scoped and/or sized enumeration types -- better named/scoped
enumerations -- gtk::justification::left;
6/ delagating constructors -- simplify handling of default
arguments/special types, like in Java and C#;
7/ ???
[1] There will be the usual ABI breakage when using a newer version of
standard types (std::string, std::vector, ...).
- Reece
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]