diff --git a/src/entt/resource/resource.hpp b/src/entt/resource/resource.hpp index c2294e937..42b480524 100644 --- a/src/entt/resource/resource.hpp +++ b/src/entt/resource/resource.hpp @@ -157,6 +157,14 @@ public: return value.use_count(); } + /** + * @brief Returns the underlying resource handle. + * @return The underlying resource handle. + */ + [[nodiscard]] handle_type handle() const noexcept { + return value; + } + private: handle_type value; }; diff --git a/test/entt/resource/resource.cpp b/test/entt/resource/resource.cpp index 25b493a25..637e7d4f4 100644 --- a/test/entt/resource/resource.cpp +++ b/test/entt/resource/resource.cpp @@ -30,7 +30,7 @@ TEST(Resource, Functionalities) { ASSERT_FALSE(resource); ASSERT_EQ(resource.operator->(), nullptr); - ASSERT_EQ(resource.use_count(), 0l); + ASSERT_EQ(resource.handle().use_count(), 0l); const auto value = std::make_shared(); entt::resource other{value};