Browse Source

entity: default destructors and noexcept-ness review

Michele Caini 1 year ago
parent
commit
d0f8974e08

+ 1 - 1
src/entt/entity/group.hpp

@@ -94,7 +94,7 @@ template<typename... Lhs, typename... Rhs>
 
 struct group_descriptor {
     using size_type = std::size_t;
-    virtual ~group_descriptor() = default;
+    virtual ~group_descriptor() noexcept = default;
     virtual size_type owned(const id_type *, const size_type) const noexcept {
         return 0u;
     }

+ 1 - 1
src/entt/entity/mixin.hpp

@@ -135,7 +135,7 @@ public:
           update{std::move(other.update), allocator} {}
 
     /*! @brief Default destructor. */
-    ~basic_sigh_mixin() noexcept = default;
+    ~basic_sigh_mixin() noexcept override = default;
 
     /**
      * @brief Move assignment operator.

+ 3 - 0
src/entt/entity/observer.hpp

@@ -303,6 +303,9 @@ public:
         connect<Matcher...>(reg, std::index_sequence_for<Matcher...>{});
     }
 
+    /*! @brief Default destructor. */
+    ~basic_observer() noexcept = default;
+
     /**
      * @brief Default copy assignment operator, deleted on purpose.
      * @return This observer.

+ 3 - 0
src/entt/entity/runtime_view.hpp

@@ -173,6 +173,9 @@ public:
         : pools{std::move(other.pools), allocator},
           filter{std::move(other.filter), allocator} {}
 
+    /*! @brief Default destructor. */
+    ~basic_runtime_view() noexcept = default;
+
     /**
      * @brief Default copy assignment operator.
      * @return This container.

+ 1 - 1
src/entt/entity/sparse_set.hpp

@@ -450,7 +450,7 @@ public:
     }
 
     /*! @brief Default destructor. */
-    virtual ~basic_sparse_set() {
+    virtual ~basic_sparse_set() noexcept {
         release_sparse_pages();
     }
 

+ 7 - 1
src/entt/entity/storage.hpp

@@ -456,7 +456,7 @@ public:
     }
 
     /*! @brief Default destructor. */
-    ~basic_storage() override {
+    ~basic_storage() noexcept override {
         shrink_to_size(0u);
     }
 
@@ -827,6 +827,9 @@ public:
     basic_storage(basic_storage &&other, const allocator_type &allocator) noexcept
         : base_type{std::move(other), allocator} {}
 
+    /*! @brief Default destructor. */
+    ~basic_storage() noexcept override = default;
+
     /**
      * @brief Move assignment operator.
      * @param other The instance to move from.
@@ -1036,6 +1039,9 @@ public:
         : base_type{std::move(other), allocator},
           placeholder{other.placeholder} {}
 
+    /*! @brief Default destructor. */
+    ~basic_storage() noexcept override = default;
+
     /**
      * @brief Move assignment operator.
      * @param other The instance to move from.