From 45f349644fb3b7b1c9c08bf83bffe2c827fb4498 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 21 Oct 2012 16:58:54 +0200 Subject: [PATCH] Ability to easily get pointer to data from Resource. Neither operator*() nor operator->() can be used to pass plain pointer to function or store it in variable. Now it should be converted automatically. --- src/ResourceManager.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ResourceManager.h b/src/ResourceManager.h index d4b1db993..62a717913 100644 --- a/src/ResourceManager.h +++ b/src/ResourceManager.h @@ -345,6 +345,12 @@ template class Resource { return static_cast(data); } + /** @brief %Resource data */ + inline operator U*() { + acquire(); + return static_cast(data); + } + private: inline Resource(Implementation::ResourceManagerData* manager, ResourceKey key): manager(manager), _key(key), lastCheck(0), _state(ResourceState::NotLoaded), data(nullptr) { manager->incrementReferenceCount(key);