encoding+util: ensure move constructors are properly declared
This also fixes a race condition in scheduler::EventId::operator bool()
Change-Id: I468f0c46039a3d1a38c69c419ae45b4445d8205a
Refs: #3414
diff --git a/src/util/signal/connection.hpp b/src/util/signal/connection.hpp
index 6ee8e1c..528dcba 100644
--- a/src/util/signal/connection.hpp
+++ b/src/util/signal/connection.hpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
- * Copyright (c) 2013-2017 Regents of the University of California.
+ * Copyright (c) 2013-2018 Regents of the University of California.
*
* This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
*
@@ -34,7 +34,8 @@
class Connection
{
public:
- Connection();
+ constexpr
+ Connection() noexcept = default;
/** \brief disconnects from the signal
* \note If the connection is already disconnected, or if the Signal has been destructed,
@@ -49,7 +50,7 @@
* \return false if disconnected from the signal
*/
bool
- isConnected() const;
+ isConnected() const noexcept;
/** \brief compare for equality
*
@@ -66,7 +67,7 @@
/** \param disconnect weak_ptr to a function that disconnects the handler
*/
explicit
- Connection(weak_ptr<function<void()>> disconnect);
+ Connection(weak_ptr<function<void()>> disconnect) noexcept;
template<typename Owner, typename ...TArgs>
friend class Signal;