From bfea511ea876c5186d98e335c942d0e8389b7eb9 Mon Sep 17 00:00:00 2001 From: ljfa-ag Date: Thu, 23 Jul 2015 11:06:42 +0200 Subject: Add noexcept at some important places --- include/crtp_tag.h | 4 ++-- include/tag_array.h | 2 +- include/tag_primitive.h | 2 +- include/value.h | 8 ++++---- include/value_initializer.h | 4 ++-- src/tag_array.cpp | 2 +- src/tag_primitive.cpp | 2 +- src/value.cpp | 2 +- src/value_initializer.cpp | 22 +++++++++++----------- 9 files changed, 24 insertions(+), 24 deletions(-) diff --git a/include/crtp_tag.h b/include/crtp_tag.h index 94730887d5..25f87bf6e8 100644 --- a/include/crtp_tag.h +++ b/include/crtp_tag.h @@ -34,7 +34,7 @@ namespace detail { public: //Pure virtual destructor to make the class abstract - virtual ~crtp_tag() = 0; + virtual ~crtp_tag() noexcept = 0; tag_type get_type() const noexcept override final; @@ -48,7 +48,7 @@ namespace detail }; template - crtp_tag::~crtp_tag() {} + crtp_tag::~crtp_tag() noexcept {} template tag_type crtp_tag::get_type() const noexcept diff --git a/include/tag_array.h b/include/tag_array.h index 7aca60722b..9a79489c56 100644 --- a/include/tag_array.h +++ b/include/tag_array.h @@ -63,7 +63,7 @@ public: ///Constructs an array with the given values tag_array(std::initializer_list init); - tag_array(std::vector&& vec); + tag_array(std::vector&& vec) noexcept; ///Returns a reference to the vector that contains the values std::vector& get(); diff --git a/include/tag_primitive.h b/include/tag_primitive.h index 93c7936d99..ac41568920 100644 --- a/include/tag_primitive.h +++ b/include/tag_primitive.h @@ -42,7 +42,7 @@ public: static constexpr tag_type type = detail::get_primitive_type::value; //Constructor - tag_primitive(T value = 0); + tag_primitive(T value = 0) noexcept; //Getters operator T&(); diff --git a/include/value.h b/include/value.h index 7c9511d74d..c017bcbd27 100644 --- a/include/value.h +++ b/include/value.h @@ -61,13 +61,13 @@ class value { public: //Constructors - value() {} - explicit value(std::unique_ptr&& t); + value() noexcept {} + explicit value(std::unique_ptr&& t) noexcept; explicit value(tag&& t); //Moving - value(value&&) = default; - value& operator=(value&&) = default; + value(value&&) noexcept = default; + value& operator=(value&&) noexcept = default; //Copying explicit value(const value& rhs); diff --git a/include/value_initializer.h b/include/value_initializer.h index 4ba07cb8c1..42cf77da77 100644 --- a/include/value_initializer.h +++ b/include/value_initializer.h @@ -44,8 +44,8 @@ namespace nbt class value_initializer : public value { public: - value_initializer(std::unique_ptr&& t); - value_initializer(value&& val); + value_initializer(std::unique_ptr&& t) noexcept; + value_initializer(value&& val) noexcept; value_initializer(tag&& t); value_initializer(int8_t val); diff --git a/src/tag_array.cpp b/src/tag_array.cpp index 0db749d1f6..942d1f5c78 100644 --- a/src/tag_array.cpp +++ b/src/tag_array.cpp @@ -28,7 +28,7 @@ tag_array::tag_array(std::initializer_list init): {} template -tag_array::tag_array(std::vector&& vec): +tag_array::tag_array(std::vector&& vec) noexcept: data(std::move(vec)) {} diff --git a/src/tag_primitive.cpp b/src/tag_primitive.cpp index 7f71098bd6..27aabcfed5 100644 --- a/src/tag_primitive.cpp +++ b/src/tag_primitive.cpp @@ -27,7 +27,7 @@ static_assert(std::numeric_limits::is_iec559 && std::numeric_limits -tag_primitive::tag_primitive(T val): +tag_primitive::tag_primitive(T val) noexcept: value(val) {} diff --git a/src/value.cpp b/src/value.cpp index fa6018dd5d..bba76b0c8b 100644 --- a/src/value.cpp +++ b/src/value.cpp @@ -24,7 +24,7 @@ namespace nbt { -value::value(std::unique_ptr&& t): +value::value(std::unique_ptr&& t) noexcept: tag_(std::move(t)) {} diff --git a/src/value_initializer.cpp b/src/value_initializer.cpp index 4b039e441a..468b46e99c 100644 --- a/src/value_initializer.cpp +++ b/src/value_initializer.cpp @@ -23,18 +23,18 @@ namespace nbt { -value_initializer::value_initializer(std::unique_ptr&& t): value(std::move(t)) {} -value_initializer::value_initializer(value&& val): value(std::move(val)) {} -value_initializer::value_initializer(tag&& t): value(std::move(t)) {} +value_initializer::value_initializer(std::unique_ptr&& t) noexcept: value(std::move(t)) {} +value_initializer::value_initializer(value&& val) noexcept : value(std::move(val)) {} +value_initializer::value_initializer(tag&& t) : value(std::move(t)) {} -value_initializer::value_initializer(int8_t val): value(tag_byte(val)) {} -value_initializer::value_initializer(int16_t val): value(tag_short(val)) {} -value_initializer::value_initializer(int32_t val): value(tag_int(val)) {} -value_initializer::value_initializer(int64_t val): value(tag_long(val)) {} -value_initializer::value_initializer(float val): value(tag_float(val)) {} -value_initializer::value_initializer(double val): value(tag_double(val)) {} +value_initializer::value_initializer(int8_t val) : value(tag_byte(val)) {} +value_initializer::value_initializer(int16_t val) : value(tag_short(val)) {} +value_initializer::value_initializer(int32_t val) : value(tag_int(val)) {} +value_initializer::value_initializer(int64_t val) : value(tag_long(val)) {} +value_initializer::value_initializer(float val) : value(tag_float(val)) {} +value_initializer::value_initializer(double val) : value(tag_double(val)) {} value_initializer::value_initializer(const std::string& str): value(tag_string(str)) {} -value_initializer::value_initializer(std::string&& str): value(tag_string(std::move(str))) {} -value_initializer::value_initializer(const char* str): value(tag_string(str)) {} +value_initializer::value_initializer(std::string&& str) : value(tag_string(std::move(str))) {} +value_initializer::value_initializer(const char* str) : value(tag_string(str)) {} } -- cgit 0.0.5-2-1-g0f52