Browse Source

added default constructor to resource handle

Michele Caini 7 years ago
parent
commit
a62471b9b8
2 changed files with 11 additions and 1 deletions
  1. 3 0
      src/entt/resource/handle.hpp
  2. 8 1
      test/entt/resource/resource.cpp

+ 3 - 0
src/entt/resource/handle.hpp

@@ -37,6 +37,9 @@ class resource_handle {
     {}
 
 public:
+    /*! @brief Default constructor. */
+    resource_handle() ENTT_NOEXCEPT = default;
+
     /**
      * @brief Gets a reference to the managed resource.
      *

+ 8 - 1
test/entt/resource/resource.cpp

@@ -1,3 +1,4 @@
+#include <type_traits>
 #include <gtest/gtest.h>
 #include <entt/resource/cache.hpp>
 
@@ -15,7 +16,7 @@ struct broken_loader: entt::resource_loader<broken_loader, resource> {
     }
 };
 
-TEST(ResourceCache, Functionalities) {
+TEST(Resource, Functionalities) {
     entt::resource_cache<resource> cache;
 
     constexpr auto hs1 = entt::hashed_string{"res1"};
@@ -82,4 +83,10 @@ TEST(ResourceCache, Functionalities) {
 
     ASSERT_TRUE(cache.temp<loader>(42));
     ASSERT_TRUE(cache.empty());
+
+    ASSERT_FALSE(entt::resource_handle<resource>{});
+    ASSERT_TRUE(std::is_copy_constructible_v<entt::resource_handle<resource>>);
+    ASSERT_TRUE(std::is_move_constructible_v<entt::resource_handle<resource>>);
+    ASSERT_TRUE(std::is_copy_assignable_v<entt::resource_handle<resource>>);
+    ASSERT_TRUE(std::is_move_assignable_v<entt::resource_handle<resource>>);
 }