Add `noexcept` to move constructors and move assignment operators

refs #2966

Change-Id: Ib87da2b8dc2d77fa9beb8bc6b5323498057b76a2
diff --git a/src/encoding/block.cpp b/src/encoding/block.cpp
index 5e5f666..32016f8 100644
--- a/src/encoding/block.cpp
+++ b/src/encoding/block.cpp
@@ -33,15 +33,15 @@
 
 namespace ndn {
 
-#if NDN_CXX_HAVE_IS_MOVE_CONSTRUCTIBLE
-static_assert(std::is_move_constructible<Buffer>::value,
-              "Buffer must be MoveConstructible");
-#endif // NDN_CXX_HAVE_IS_MOVE_CONSTRUCTIBLE
+#if NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
+static_assert(std::is_nothrow_move_constructible<Block>::value,
+              "Block must be MoveConstructible with noexcept");
+#endif // NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
 
-#if NDN_CXX_HAVE_IS_MOVE_ASSIGNABLE
-static_assert(std::is_move_assignable<Buffer>::value,
-              "Buffer must be MoveAssignable");
-#endif // NDN_CXX_HAVE_IS_MOVE_ASSIGNABLE
+#if NDN_CXX_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE
+static_assert(std::is_nothrow_move_assignable<Block>::value,
+              "Block must be MoveAssignable with noexcept");
+#endif // NDN_CXX_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE
 
 const size_t MAX_SIZE_OF_BLOCK_FROM_STREAM = 8800;
 
diff --git a/src/encoding/buffer.cpp b/src/encoding/buffer.cpp
index 0402d7d..940ed88 100644
--- a/src/encoding/buffer.cpp
+++ b/src/encoding/buffer.cpp
@@ -25,15 +25,15 @@
 
 namespace ndn {
 
-#if NDN_CXX_HAVE_IS_MOVE_CONSTRUCTIBLE
-static_assert(std::is_move_constructible<Buffer>::value,
-              "Buffer must be MoveConstructible");
-#endif // NDN_CXX_HAVE_IS_MOVE_CONSTRUCTIBLE
+#if NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
+static_assert(std::is_nothrow_move_constructible<Buffer>::value,
+              "Buffer must be MoveConstructible with noexcept");
+#endif // NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
 
-#if NDN_CXX_HAVE_IS_MOVE_ASSIGNABLE
-static_assert(std::is_move_assignable<Buffer>::value,
-              "Buffer must be MoveAssignable");
-#endif // NDN_CXX_HAVE_IS_MOVE_ASSIGNABLE
+#if NDN_CXX_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE
+static_assert(std::is_nothrow_move_assignable<Buffer>::value,
+              "Buffer must be MoveAssignable with noexcept");
+#endif // NDN_CXX_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE
 
 Buffer::Buffer()
 {