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 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) (limited to 'include') 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); -- cgit 0.0.5-2-1-g0f52