From 3de265422308dd2f1e09c83d7ed649389d9d9bd5 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sat, 15 Oct 2016 18:51:22 +0900 Subject: [PATCH] src: Add noexcept to move constructor and assignment operator --- src/template.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/template.h b/src/template.h index dbd8e8e7..6d94a9cd 100644 --- a/src/template.h +++ b/src/template.h @@ -79,7 +79,7 @@ template constexpr size_t str_size(T (&)[N]) { template struct Defer { Defer(F &&f, T &&... t) : f(std::bind(std::forward(f), std::forward(t)...)) {} - Defer(Defer &&o) : f(std::move(o.f)) {} + Defer(Defer &&o) noexcept : f(std::move(o.f)) {} ~Defer() { f(); } using ResultType = typename std::result_of::type( @@ -104,12 +104,13 @@ template struct DList { DList(const DList &) = delete; DList &operator=(const DList &) = delete; - DList(DList &&other) : head(other.head), tail(other.tail), len(other.len) { + DList(DList &&other) noexcept + : head(other.head), tail(other.tail), len(other.len) { other.head = other.tail = nullptr; other.len = 0; } - DList &operator=(DList &&other) { + DList &operator=(DList &&other) noexcept { if (this == &other) { return *this; }