Re: C++11 features, move semantics?

I thought about using C++11 a lot in terms of gstreamermm - there is a lot of places where new features should be used (e.g. rvalue references when argument is transfer full etc.). Moreover, it will be easier, when I finish work on using gobject-introspection in mm generators (it's going slow for now because of lack of time, but I'll have more time in the following year).
Unfortunately, using c++11 in gtkmm/glibmm might cause following problems:
 -  numerous people still use compilers which don't support c++11
 - very often it requires modifying interface, and existing code won't work with new version of libraries.

Personally, I'm fan of C++11 and 14 features, but last word belongs to gtkmm/glibmm maintainers.

2014-12-28 15:42 GMT+01:00 Christof Meerwald <cmeerw cmeerw org>:

just wondering if anyone has given any thought on C++11 features for

One thing that seems very unfortunate is that all objects are
non-movable (due to them being explicitly made non-copyable which then
also deletes the move constructor).

Actually, what I was trying to do was to create an array of
Gtk::Label, e.g.

  { Gtk::Label l[] { Gtk::Label{"1"}, Gtk::Label{"2"} }; }

this one doesn't work because a Gtk::Label is neither copyable nor
movable (but I think it should be movable) - the alternative

  { Gtk::Label l[] { {"1"}, {"2"} }; }

doesn't work either because the constructor is marked explicit.

I have only done a very cursory search through the mailing list
archive, but haven't found much related. Any thoughts?


--                              sip:cmeerw at
mailto:cmeerw at                   xmpp:cmeerw at
gtkmm-list mailing list
gtkmm-list gnome org

Marcin Kolny

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