[glibmm] Make destructors explicitly noexcept.



commit 7705b7174b41394c9b00bc5ed15c116169ac7cf3
Author: Murray Cumming <murrayc murrayc com>
Date:   Mon Aug 31 08:55:58 2015 +0200

    Make destructors explicitly noexcept.
    
    Destructors are already noexcept, but this makes that even clearer.
    This might be foolish.

 gio/giomm/socketsource.cc         |    2 +-
 gio/giomm/socketsource.h          |    2 +-
 glib/glibmm/arrayhandle.cc        |    2 +-
 glib/glibmm/arrayhandle.h         |    6 +++---
 glib/glibmm/class.h               |    2 +-
 glib/glibmm/dispatcher.cc         |    6 +++---
 glib/glibmm/dispatcher.h          |    2 +-
 glib/glibmm/helperlist.h          |    2 +-
 glib/glibmm/interface.cc          |    2 +-
 glib/glibmm/interface.h           |    2 +-
 glib/glibmm/listhandle.h          |    4 ++--
 glib/glibmm/main.cc               |    8 ++++----
 glib/glibmm/main.h                |    8 ++++----
 glib/glibmm/object.cc             |    4 ++--
 glib/glibmm/object.h              |    4 ++--
 glib/glibmm/objectbase.cc         |    2 +-
 glib/glibmm/objectbase.h          |    2 +-
 glib/glibmm/pattern.cc            |    2 +-
 glib/glibmm/pattern.h             |    2 +-
 glib/glibmm/property.cc           |    2 +-
 glib/glibmm/property.h            |    2 +-
 glib/glibmm/propertyproxy_base.cc |    2 +-
 glib/glibmm/propertyproxy_base.h  |    2 +-
 glib/glibmm/quark.cc              |    2 +-
 glib/glibmm/quark.h               |    4 ++--
 glib/glibmm/random.cc             |    2 +-
 glib/glibmm/random.h              |    2 +-
 glib/glibmm/signalproxy.cc        |    4 ++--
 glib/glibmm/slisthandle.h         |    4 ++--
 glib/glibmm/streamiochannel.cc    |    2 +-
 glib/glibmm/streamiochannel.h     |    2 +-
 glib/glibmm/threadpool.cc         |    6 +++---
 glib/glibmm/threadpool.h          |    2 +-
 glib/glibmm/timer.cc              |    2 +-
 glib/glibmm/timer.h               |    2 +-
 glib/glibmm/ustring.cc            |    4 ++--
 glib/glibmm/ustring.h             |    4 ++--
 glib/glibmm/utility.h             |    2 +-
 glib/glibmm/value.cc              |    2 +-
 glib/glibmm/value.h               |    2 +-
 glib/glibmm/vectorutils.h         |   12 ++++++------
 41 files changed, 66 insertions(+), 66 deletions(-)
---
diff --git a/gio/giomm/socketsource.cc b/gio/giomm/socketsource.cc
index f17b41a..32c89bd 100644
--- a/gio/giomm/socketsource.cc
+++ b/gio/giomm/socketsource.cc
@@ -95,7 +95,7 @@ SocketSource::SocketSource(const Glib::RefPtr<Socket>& socket, Glib::IOCondition
            (GSourceFunc)&giomm_socketsource_callback)
 {}
 
-SocketSource::~SocketSource()
+SocketSource::~SocketSource() noexcept
 {}
 
 } // namespace Gio
diff --git a/gio/giomm/socketsource.h b/gio/giomm/socketsource.h
index 77bec40..826dca5 100644
--- a/gio/giomm/socketsource.h
+++ b/gio/giomm/socketsource.h
@@ -108,7 +108,7 @@ public:
 protected:
   SocketSource(const Glib::RefPtr<Socket>& socket, Glib::IOCondition condition,
     const Glib::RefPtr<Cancellable>& cancellable);
-  virtual ~SocketSource();
+  virtual ~SocketSource() noexcept;
 };
 
 } // namespace Gio
diff --git a/glib/glibmm/arrayhandle.cc b/glib/glibmm/arrayhandle.cc
index ce153c7..95a67eb 100644
--- a/glib/glibmm/arrayhandle.cc
+++ b/glib/glibmm/arrayhandle.cc
@@ -20,7 +20,7 @@
 namespace Glib
 {
 
-ArrayHandle<bool,Container_Helpers::TypeTraits<bool> >::~ArrayHandle()
+ArrayHandle<bool,Container_Helpers::TypeTraits<bool> >::~ArrayHandle() noexcept
 {
   if(parray_ && ownership_ != Glib::OWNERSHIP_NONE)
   {
diff --git a/glib/glibmm/arrayhandle.h b/glib/glibmm/arrayhandle.h
index 87127eb..e92223f 100644
--- a/glib/glibmm/arrayhandle.h
+++ b/glib/glibmm/arrayhandle.h
@@ -247,7 +247,7 @@ public:
   // Copying clears the ownership flag of the source handle.
   inline ArrayHandle(const ArrayHandle<T,Tr>& other);
 
-  ~ArrayHandle();
+  ~ArrayHandle() noexcept;
 
   inline const_iterator begin() const;
   inline const_iterator end()   const;
@@ -302,7 +302,7 @@ public:
   // Copying clears the ownership flag of the source handle.
   inline ArrayHandle(const Me& other);
 
-  ~ArrayHandle();
+  ~ArrayHandle() noexcept;
 
   inline const_iterator begin() const;
   inline const_iterator end()   const;
@@ -549,7 +549,7 @@ ArrayHandle<T,Tr>::ArrayHandle(const ArrayHandle<T,Tr>& other)
 }
 
 template <class T, class Tr>
-ArrayHandle<T,Tr>::~ArrayHandle()
+ArrayHandle<T,Tr>::~ArrayHandle() noexcept
 {
   if(parray_ && ownership_ != Glib::OWNERSHIP_NONE)
   {
diff --git a/glib/glibmm/class.h b/glib/glibmm/class.h
index 89e9d34..d43f7ce 100644
--- a/glib/glibmm/class.h
+++ b/glib/glibmm/class.h
@@ -43,7 +43,7 @@ public:
    * is zero-initialized at program start.
    */
   //Class();
-  //~Class();
+  //~Class() noexcept;
 
   //static void class_init_function(BaseClassType *p);
   //static void object_init_function(BaseObjectType *o);
diff --git a/glib/glibmm/dispatcher.cc b/glib/glibmm/dispatcher.cc
index d611731..5a206ff 100644
--- a/glib/glibmm/dispatcher.cc
+++ b/glib/glibmm/dispatcher.cc
@@ -125,7 +125,7 @@ namespace Glib
 class DispatchNotifier : public sigc::trackable
 {
 public:
-  ~DispatchNotifier();
+  ~DispatchNotifier() noexcept;
 
   // noncopyable
   DispatchNotifier(const DispatchNotifier&) = delete;
@@ -218,7 +218,7 @@ DispatchNotifier::DispatchNotifier(const Glib::RefPtr<MainContext>& context)
   }
 }
 
-DispatchNotifier::~DispatchNotifier()
+DispatchNotifier::~DispatchNotifier() noexcept
 {
 #ifndef G_OS_WIN32
   fd_close_and_invalidate(fd_sender_);
@@ -481,7 +481,7 @@ Dispatcher::Dispatcher(const Glib::RefPtr<MainContext>& context)
   notifier_ (DispatchNotifier::reference_instance(context, this))
 {}
 
-Dispatcher::~Dispatcher()
+Dispatcher::~Dispatcher() noexcept
 {
   DispatchNotifier::unreference_instance(notifier_, this);
 }
diff --git a/glib/glibmm/dispatcher.h b/glib/glibmm/dispatcher.h
index 5de499d..e7fda78 100644
--- a/glib/glibmm/dispatcher.h
+++ b/glib/glibmm/dispatcher.h
@@ -86,7 +86,7 @@ public:
    * @throw Glib::FileError
    */
   explicit Dispatcher(const Glib::RefPtr<MainContext>& context);
-  ~Dispatcher();
+  ~Dispatcher() noexcept;
 
   void emit();
   void operator()();
diff --git a/glib/glibmm/helperlist.h b/glib/glibmm/helperlist.h
index 1c9b9ba..1b5c2c6 100644
--- a/glib/glibmm/helperlist.h
+++ b/glib/glibmm/helperlist.h
@@ -51,7 +51,7 @@ public:
   : gparent_(gp)
   {}
 
-  virtual ~HelperList()
+  virtual ~HelperList() noexcept
   {}
 
   typedef T_Child value_type;
diff --git a/glib/glibmm/interface.cc b/glib/glibmm/interface.cc
index 1f66c90..b6e8323 100644
--- a/glib/glibmm/interface.cc
+++ b/glib/glibmm/interface.cc
@@ -133,7 +133,7 @@ Interface& Interface::operator=(Interface&& src)
   return *this;
 }
 
-Interface::~Interface()
+Interface::~Interface() noexcept
 {}
 
 GType Interface::get_type()
diff --git a/glib/glibmm/interface.h b/glib/glibmm/interface.h
index 4ebf1f6..9f7eabe 100644
--- a/glib/glibmm/interface.h
+++ b/glib/glibmm/interface.h
@@ -63,7 +63,7 @@ public:
    * if necessary.
    */
   explicit Interface(GObject* castitem);
-  virtual ~Interface();
+  virtual ~Interface() noexcept;
 
   // noncopyable
   Interface(const Interface&) = delete;
diff --git a/glib/glibmm/listhandle.h b/glib/glibmm/listhandle.h
index 76bb7a8..25ca328 100644
--- a/glib/glibmm/listhandle.h
+++ b/glib/glibmm/listhandle.h
@@ -181,7 +181,7 @@ public:
   // Copying clears the ownership flag of the source handle.
   inline ListHandle(const ListHandle<T,Tr>& other);
 
-  ~ListHandle();
+  ~ListHandle() noexcept;
 
   inline const_iterator begin() const;
   inline const_iterator end()   const;
@@ -290,7 +290,7 @@ ListHandle<T,Tr>::ListHandle(const ListHandle<T,Tr>& other)
 }
 
 template <class T, class Tr>
-ListHandle<T,Tr>::~ListHandle()
+ListHandle<T,Tr>::~ListHandle() noexcept
 {
   if(ownership_ != Glib::OWNERSHIP_NONE)
   {
diff --git a/glib/glibmm/main.cc b/glib/glibmm/main.cc
index 9dfe09f..c2f1c4d 100644
--- a/glib/glibmm/main.cc
+++ b/glib/glibmm/main.cc
@@ -934,7 +934,7 @@ Source::Source(GSource* cast_item, GSourceFunc callback_func)
       &SourceCallbackData::destroy_notify_callback);
 }
 
-Source::~Source()
+Source::~Source() noexcept
 {
   // The dtor should be invoked by destroy_notify_callback() only, which clears
   // gobject_ before deleting.  However, we might also get to this point if
@@ -1120,7 +1120,7 @@ TimeoutSource::TimeoutSource(unsigned int interval)
   expiration_.add_milliseconds(std::min<unsigned long>(G_MAXLONG, interval_));
 }
 
-TimeoutSource::~TimeoutSource()
+TimeoutSource::~TimeoutSource() noexcept
 {}
 
 bool TimeoutSource::prepare(int& timeout)
@@ -1212,7 +1212,7 @@ IdleSource::IdleSource()
   set_priority(PRIORITY_DEFAULT_IDLE);
 }
 
-IdleSource::~IdleSource()
+IdleSource::~IdleSource() noexcept
 {}
 
 bool IdleSource::prepare(int& timeout)
@@ -1268,7 +1268,7 @@ IOSource::IOSource(GSource* cast_item, GSourceFunc callback_func)
   Source(cast_item, callback_func)
 {}
 
-IOSource::~IOSource()
+IOSource::~IOSource() noexcept
 {}
 
 bool IOSource::prepare(int& timeout)
diff --git a/glib/glibmm/main.h b/glib/glibmm/main.h
index 53a2370..2dd9358 100644
--- a/glib/glibmm/main.h
+++ b/glib/glibmm/main.h
@@ -741,7 +741,7 @@ protected:
    */
   Source(GSource* cast_item, GSourceFunc callback_func);
 
-  virtual ~Source();
+  virtual ~Source() noexcept;
 
   sigc::connection connect_generic(const sigc::slot_base& slot);
 
@@ -819,7 +819,7 @@ public:
 
 protected:
   explicit TimeoutSource(unsigned int interval);
-  virtual ~TimeoutSource();
+  virtual ~TimeoutSource() noexcept;
 
   virtual bool prepare(int& timeout);
   virtual bool check();
@@ -843,7 +843,7 @@ public:
 
 protected:
   IdleSource();
-  virtual ~IdleSource();
+  virtual ~IdleSource() noexcept;
 
   virtual bool prepare(int& timeout);
   virtual bool check();
@@ -871,7 +871,7 @@ protected:
    */
   IOSource(GSource* cast_item, GSourceFunc callback_func);
 
-  virtual ~IOSource();
+  virtual ~IOSource() noexcept;
 
   virtual bool prepare(int& timeout);
   virtual bool check();
diff --git a/glib/glibmm/object.cc b/glib/glibmm/object.cc
index 29ef4ee..0373c5d 100644
--- a/glib/glibmm/object.cc
+++ b/glib/glibmm/object.cc
@@ -128,7 +128,7 @@ ConstructParams::ConstructParams(const Glib::Class& glibmm_class_,
   va_end(var_args);
 }
 
-ConstructParams::~ConstructParams()
+ConstructParams::~ConstructParams() noexcept
 {
   while(n_parameters > 0)
     g_value_unset(&parameters[--n_parameters].value);
@@ -297,7 +297,7 @@ Object& Object::operator=(Object&& src) noexcept
   return *this;
 }
 
-Object::~Object()
+Object::~Object() noexcept
 {
   cpp_destruction_in_progress_ = true;
 }
diff --git a/glib/glibmm/object.h b/glib/glibmm/object.h
index 0b275fd..d172025 100644
--- a/glib/glibmm/object.h
+++ b/glib/glibmm/object.h
@@ -77,7 +77,7 @@ public:
   explicit ConstructParams(const Glib::Class& glibmm_class_);
   ConstructParams(const Glib::Class& glibmm_class_, const char* first_property_name, ...)
     G_GNUC_NULL_TERMINATED; // warn if called without a trailing NULL pointer
-  ~ConstructParams();
+  ~ConstructParams() noexcept;
 
   // The copy constructor is semantically required by the C++ compiler
   // (since g++ 3.4) to be able to create temporary instances, depending
@@ -114,7 +114,7 @@ protected:
   Object(); //For use by C++-only sub-types.
   explicit Object(const Glib::ConstructParams& construct_params);
   explicit Object(GObject* castitem);
-  virtual ~Object(); //It should only be deleted by the callback.
+  virtual ~Object() noexcept; //It should only be deleted by the callback.
 
 public:
   //static RefPtr<Object> create(); //You must reimplement this in each derived class.
diff --git a/glib/glibmm/objectbase.cc b/glib/glibmm/objectbase.cc
index 370e2f5..96fba70 100644
--- a/glib/glibmm/objectbase.cc
+++ b/glib/glibmm/objectbase.cc
@@ -130,7 +130,7 @@ ObjectBase& ObjectBase::operator=(ObjectBase&& src) noexcept
   return *this;
 }
 
-ObjectBase::~ObjectBase()
+ObjectBase::~ObjectBase() noexcept
 {
   // Normally, gobject_ should always be 0 at this point, because:
   //
diff --git a/glib/glibmm/objectbase.h b/glib/glibmm/objectbase.h
index 3f2771e..43438e0 100644
--- a/glib/glibmm/objectbase.h
+++ b/glib/glibmm/objectbase.h
@@ -98,7 +98,7 @@ protected:
   ObjectBase(ObjectBase&& src) noexcept;
   ObjectBase& operator=(ObjectBase&& src) noexcept;
 
-  virtual ~ObjectBase() = 0;
+  virtual ~ObjectBase() noexcept = 0;
 
   // Called by Glib::Object and Glib::Interface constructors. See comments there.
   void initialize(GObject* castitem);
diff --git a/glib/glibmm/pattern.cc b/glib/glibmm/pattern.cc
index c04e51f..de2e5f6 100644
--- a/glib/glibmm/pattern.cc
+++ b/glib/glibmm/pattern.cc
@@ -37,7 +37,7 @@ PatternSpec::PatternSpec(GPatternSpec* gobject)
   gobject_ (gobject)
 {}
 
-PatternSpec::~PatternSpec()
+PatternSpec::~PatternSpec() noexcept
 {
   g_pattern_spec_free(gobject_);
 }
diff --git a/glib/glibmm/pattern.h b/glib/glibmm/pattern.h
index dff0a97..ff556bd 100644
--- a/glib/glibmm/pattern.h
+++ b/glib/glibmm/pattern.h
@@ -41,7 +41,7 @@ class PatternSpec
 public:
   explicit PatternSpec(const Glib::ustring& pattern);
   explicit PatternSpec(GPatternSpec* gobject);
-  ~PatternSpec();
+  ~PatternSpec() noexcept;
 
   // noncopyable
   PatternSpec(const PatternSpec&) = delete;
diff --git a/glib/glibmm/property.cc b/glib/glibmm/property.cc
index 346c3e1..c3ff33d 100644
--- a/glib/glibmm/property.cc
+++ b/glib/glibmm/property.cc
@@ -231,7 +231,7 @@ PropertyBase::PropertyBase(Glib::Object& object, GType value_type)
   value_.init(value_type);
 }
 
-PropertyBase::~PropertyBase()
+PropertyBase::~PropertyBase() noexcept
 {
   if(param_spec_)
     g_param_spec_unref(param_spec_);
diff --git a/glib/glibmm/property.h b/glib/glibmm/property.h
index dadc0f2..0b67906 100644
--- a/glib/glibmm/property.h
+++ b/glib/glibmm/property.h
@@ -84,7 +84,7 @@ protected:
    * first instance of an object.
    */
   PropertyBase(Glib::Object& object, GType value_type);
-  ~PropertyBase();
+  ~PropertyBase() noexcept;
 
   /**
    * Checks if the property has already been installed.
diff --git a/glib/glibmm/propertyproxy_base.cc b/glib/glibmm/propertyproxy_base.cc
index 4d44939..ea69ba3 100644
--- a/glib/glibmm/propertyproxy_base.cc
+++ b/glib/glibmm/propertyproxy_base.cc
@@ -53,7 +53,7 @@ SignalProxyProperty::SignalProxyProperty(Glib::ObjectBase* obj, const gchar* pro
 {
 }
 
-SignalProxyProperty::~SignalProxyProperty()
+SignalProxyProperty::~SignalProxyProperty() noexcept
 {
 }
 
diff --git a/glib/glibmm/propertyproxy_base.h b/glib/glibmm/propertyproxy_base.h
index b933590..c317a2e 100644
--- a/glib/glibmm/propertyproxy_base.h
+++ b/glib/glibmm/propertyproxy_base.h
@@ -38,7 +38,7 @@ public:
   friend class PropertyProxy_Base;
 
   SignalProxyProperty(Glib::ObjectBase* obj, const gchar* property_name);
-  ~SignalProxyProperty();
+  ~SignalProxyProperty() noexcept;
 
   typedef sigc::slot<void> SlotType;
   sigc::connection connect(const SlotType& sl);
diff --git a/glib/glibmm/quark.cc b/glib/glibmm/quark.cc
index 810ec34..29458be 100644
--- a/glib/glibmm/quark.cc
+++ b/glib/glibmm/quark.cc
@@ -55,7 +55,7 @@ Quark::Quark(const char* s)
 : QueryQuark(g_quark_from_string(s))
 {}
 
-Quark::~Quark()
+Quark::~Quark() noexcept
 {}
 
 
diff --git a/glib/glibmm/quark.h b/glib/glibmm/quark.h
index 472589f..5eac617 100644
--- a/glib/glibmm/quark.h
+++ b/glib/glibmm/quark.h
@@ -47,7 +47,7 @@ class QueryQuark
     QueryQuark(const GQuark& q);
     QueryQuark(const ustring& s);
     QueryQuark(const char*s);
-    ~QueryQuark() {}
+    ~QueryQuark() noexcept {}
     QueryQuark& operator=(const QueryQuark& q);
     operator ustring() const;
 
@@ -63,7 +63,7 @@ class Quark: public QueryQuark
   public:
     Quark(const ustring& s);
     Quark(const char* s);
-    ~Quark();
+    ~Quark() noexcept;
 };
 
 /** @relates Glib::QueryQuark */
diff --git a/glib/glibmm/random.cc b/glib/glibmm/random.cc
index a69a63a..daffc6c 100644
--- a/glib/glibmm/random.cc
+++ b/glib/glibmm/random.cc
@@ -36,7 +36,7 @@ Rand::Rand(guint32 seed)
   gobject_ (g_rand_new_with_seed(seed))
 {}
 
-Rand::~Rand()
+Rand::~Rand() noexcept
 {
   g_rand_free(gobject_);
 }
diff --git a/glib/glibmm/random.h b/glib/glibmm/random.h
index aeda3a6..cd6bb77 100644
--- a/glib/glibmm/random.h
+++ b/glib/glibmm/random.h
@@ -41,7 +41,7 @@ class Rand
 public:
   Rand();
   explicit Rand(guint32 seed);
-  ~Rand();
+  ~Rand() noexcept;
 
   // noncopyable
   Rand(const Rand&) = delete;
diff --git a/glib/glibmm/signalproxy.cc b/glib/glibmm/signalproxy.cc
index 41ee5f7..4c9e9d3 100644
--- a/glib/glibmm/signalproxy.cc
+++ b/glib/glibmm/signalproxy.cc
@@ -42,7 +42,7 @@ SignalProxyNormal::SignalProxyNormal(Glib::ObjectBase* obj, const SignalProxyInf
   info_           (info)
 {}
 
-SignalProxyNormal::~SignalProxyNormal()
+SignalProxyNormal::~SignalProxyNormal() noexcept
 {}
 
 sigc::slot_base&
@@ -109,7 +109,7 @@ SignalProxyDetailed::SignalProxyDetailed(Glib::ObjectBase* obj,
                    (detail_name.empty() ? Glib::ustring() : ("::" + detail_name)))
 {}
 
-SignalProxyDetailed::~SignalProxyDetailed()
+SignalProxyDetailed::~SignalProxyDetailed() noexcept
 {}
 
 sigc::slot_base&
diff --git a/glib/glibmm/slisthandle.h b/glib/glibmm/slisthandle.h
index 231d675..c5cf740 100644
--- a/glib/glibmm/slisthandle.h
+++ b/glib/glibmm/slisthandle.h
@@ -181,7 +181,7 @@ public:
   // Copying clears the ownership flag of the source handle.
   inline SListHandle(const SListHandle<T,Tr>& other);
 
-  ~SListHandle();
+  ~SListHandle() noexcept;
 
   inline const_iterator begin() const;
   inline const_iterator end()   const;
@@ -289,7 +289,7 @@ SListHandle<T,Tr>::SListHandle(const SListHandle<T,Tr>& other)
 }
 
 template <class T, class Tr>
-SListHandle<T,Tr>::~SListHandle()
+SListHandle<T,Tr>::~SListHandle() noexcept
 {
   if(ownership_ != Glib::OWNERSHIP_NONE)
   {
diff --git a/glib/glibmm/streamiochannel.cc b/glib/glibmm/streamiochannel.cc
index 674960d..8be257f 100644
--- a/glib/glibmm/streamiochannel.cc
+++ b/glib/glibmm/streamiochannel.cc
@@ -54,7 +54,7 @@ StreamIOChannel::StreamIOChannel(std::istream* stream_in, std::ostream* stream_o
   get_flags_vfunc(); // initialize GIOChannel flag bits
 }
 
-StreamIOChannel::~StreamIOChannel()
+StreamIOChannel::~StreamIOChannel() noexcept
 {}
 
 IOStatus StreamIOChannel::read_vfunc(char* buf, gsize count, gsize& bytes_read)
diff --git a/glib/glibmm/streamiochannel.h b/glib/glibmm/streamiochannel.h
index 16b357f..7c243ba 100644
--- a/glib/glibmm/streamiochannel.h
+++ b/glib/glibmm/streamiochannel.h
@@ -34,7 +34,7 @@ namespace Glib
 class StreamIOChannel : public Glib::IOChannel
 {
 public:
-  virtual ~StreamIOChannel();
+  virtual ~StreamIOChannel() noexcept;
 
   static Glib::RefPtr<StreamIOChannel> create(std::istream& stream);
   static Glib::RefPtr<StreamIOChannel> create(std::ostream& stream);
diff --git a/glib/glibmm/threadpool.cc b/glib/glibmm/threadpool.cc
index a007a43..2cf8f14 100644
--- a/glib/glibmm/threadpool.cc
+++ b/glib/glibmm/threadpool.cc
@@ -32,7 +32,7 @@ class ThreadPool::SlotList
 {
 public:
   SlotList();
-  ~SlotList();
+  ~SlotList() noexcept;
 
   // noncopyable
   SlotList(const ThreadPool::SlotList&) = delete;
@@ -51,7 +51,7 @@ private:
 ThreadPool::SlotList::SlotList()
 {}
 
-ThreadPool::SlotList::~SlotList()
+ThreadPool::SlotList::~SlotList() noexcept
 {}
 
 sigc::slot<void>* ThreadPool::SlotList::push(const sigc::slot<void>& slot)
@@ -141,7 +141,7 @@ ThreadPool::ThreadPool(int max_threads, bool exclusive)
   }
 }
 
-ThreadPool::~ThreadPool()
+ThreadPool::~ThreadPool() noexcept
 {
   if(gobject_)
     g_thread_pool_free(gobject_, 1, 1);
diff --git a/glib/glibmm/threadpool.h b/glib/glibmm/threadpool.h
index 2c65c2e..696e69f 100644
--- a/glib/glibmm/threadpool.h
+++ b/glib/glibmm/threadpool.h
@@ -60,7 +60,7 @@ public:
    * set to <tt>true</tt> and not all @a max_threads threads could be created.
    */
   explicit ThreadPool(int max_threads = -1, bool exclusive = false);
-  virtual ~ThreadPool();
+  virtual ~ThreadPool() noexcept;
 
   //See http://bugzilla.gnome.org/show_bug.cgi?id=512348 about the sigc::trackable issue.
   // TODO: At the next ABI break, consider changing const sigc::slot<void>& slot
diff --git a/glib/glibmm/timer.cc b/glib/glibmm/timer.cc
index 6c0511e..ba69b62 100644
--- a/glib/glibmm/timer.cc
+++ b/glib/glibmm/timer.cc
@@ -32,7 +32,7 @@ Timer::Timer()
   gobject_ (g_timer_new())
 {}
 
-Timer::~Timer()
+Timer::~Timer() noexcept
 {
   g_timer_destroy(gobject_);
 }
diff --git a/glib/glibmm/timer.h b/glib/glibmm/timer.h
index 2c68d3a..9bd75e5 100644
--- a/glib/glibmm/timer.h
+++ b/glib/glibmm/timer.h
@@ -39,7 +39,7 @@ public:
    * Also starts timing by calling start() implicitly.
    */
   Timer();
-  ~Timer();
+  ~Timer() noexcept;
 
   // not copyable
   Timer(const Timer&) = delete;
diff --git a/glib/glibmm/ustring.cc b/glib/glibmm/ustring.cc
index 1d5e841..2ded2c8 100644
--- a/glib/glibmm/ustring.cc
+++ b/glib/glibmm/ustring.cc
@@ -345,7 +345,7 @@ ustring::ustring(const std::string& src)
   string_ (src)
 {}
 
-ustring::~ustring()
+ustring::~ustring() noexcept
 {}
 
 void ustring::swap(ustring& other)
@@ -1255,7 +1255,7 @@ ustring::FormatStream::FormatStream()
   stream_ ()
 {}
 
-ustring::FormatStream::~FormatStream()
+ustring::FormatStream::~FormatStream() noexcept
 {}
 
 ustring ustring::FormatStream::to_string() const
diff --git a/glib/glibmm/ustring.h b/glib/glibmm/ustring.h
index 3f74be7..fa3411b 100644
--- a/glib/glibmm/ustring.h
+++ b/glib/glibmm/ustring.h
@@ -264,7 +264,7 @@ public:
    */
   ustring();
 
-  ~ustring();
+  ~ustring() noexcept;
 
   /*! Construct a ustring as a copy of another ustring.
    * @param other A source string.
@@ -891,7 +891,7 @@ private:
 
 public:
   FormatStream();
-  ~FormatStream();
+  ~FormatStream() noexcept;
 
   template <class T> inline void stream(const T& value);
 
diff --git a/glib/glibmm/utility.h b/glib/glibmm/utility.h
index 79fecb6..3038dff 100644
--- a/glib/glibmm/utility.h
+++ b/glib/glibmm/utility.h
@@ -69,7 +69,7 @@ private:
 public:
   ScopedPtr()                 : ptr_ (0)   {}
   explicit ScopedPtr(T* ptr)  : ptr_ (ptr) {}
-  ~ScopedPtr()                { g_free(ptr_); }
+  ~ScopedPtr()  noexcept      { g_free(ptr_); }
   T*  get() const             { return ptr_;  }
   T** addr()                  { return &ptr_; }
 };
diff --git a/glib/glibmm/value.cc b/glib/glibmm/value.cc
index 811b82d..b49d9a4 100644
--- a/glib/glibmm/value.cc
+++ b/glib/glibmm/value.cc
@@ -62,7 +62,7 @@ ValueBase& ValueBase::operator=(const ValueBase& other)
   return *this;
 }
 
-ValueBase::~ValueBase()
+ValueBase::~ValueBase() noexcept
 {
   g_value_unset(&gobject_);
 }
diff --git a/glib/glibmm/value.h b/glib/glibmm/value.h
index fd1e225..48c934f 100644
--- a/glib/glibmm/value.h
+++ b/glib/glibmm/value.h
@@ -60,7 +60,7 @@ public:
   ValueBase(const ValueBase& other);
   ValueBase& operator=(const ValueBase& other);
 
-  ~ValueBase();
+  ~ValueBase() noexcept;
 
   /** Setup the GValue for storing the specified @a type.
    * The contents will be initialized to the default value for this type.
diff --git a/glib/glibmm/vectorutils.h b/glib/glibmm/vectorutils.h
index 8011344..fcf8fe0 100644
--- a/glib/glibmm/vectorutils.h
+++ b/glib/glibmm/vectorutils.h
@@ -290,7 +290,7 @@ public:
    */
   explicit inline ArrayKeeper(const CType* array, std::size_t array_size, Glib::OwnershipType ownership);
   inline ArrayKeeper(const ArrayKeeper& keeper);
-  ~ArrayKeeper();
+  ~ArrayKeeper() noexcept;
 
   /** Gets data the keeper holds.
    *
@@ -348,7 +348,7 @@ public:
    */
   explicit inline GListKeeper(const GList* glist, Glib::OwnershipType ownership);
   inline GListKeeper(const GListKeeper& keeper);
-  ~GListKeeper();
+  ~GListKeeper() noexcept;
 
   /** Gets data the keeper holds.
    *
@@ -405,7 +405,7 @@ public:
    */
   explicit inline GSListKeeper(const GSList* gslist, Glib::OwnershipType ownership);
   inline GSListKeeper(const GSListKeeper& keeper);
-  ~GSListKeeper();
+  ~GSListKeeper() noexcept;
 
   /** Gets data the keeper holds.
    *
@@ -787,7 +787,7 @@ inline ArrayKeeper<Tr>::ArrayKeeper(const ArrayKeeper& keeper)
 }
 
 template <typename Tr>
-ArrayKeeper<Tr>::~ArrayKeeper()
+ArrayKeeper<Tr>::~ArrayKeeper() noexcept
 {
   if(array_ && ownership_ != Glib::OWNERSHIP_NONE)
   {
@@ -830,7 +830,7 @@ inline GListKeeper<Tr>::GListKeeper(const GListKeeper& keeper)
 }
 
 template <typename Tr>
-GListKeeper<Tr>::~GListKeeper()
+GListKeeper<Tr>::~GListKeeper() noexcept
 {
   typedef typename Tr::CTypeNonConst CTypeNonConst;
 
@@ -873,7 +873,7 @@ inline GSListKeeper<Tr>::GSListKeeper(const GSListKeeper& keeper)
 }
 
 template <typename Tr>
-GSListKeeper<Tr>::~GSListKeeper()
+GSListKeeper<Tr>::~GSListKeeper() noexcept
 {
   typedef typename Tr::CTypeNonConst CTypeNonConst;
   if(gslist_ && ownership_ != Glib::OWNERSHIP_NONE)


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