![]() |
XII Release 0.1.0
|
Helper class to acquire and release a resource safely. More...
#include <ResourceLock.h>
Public Member Functions | |
XII_ALWAYS_INLINE | xiiResourceLock (const xiiTypedResourceHandle< RESOURCE_TYPE > &hResource, xiiResourceAcquireMode mode, const xiiTypedResourceHandle< RESOURCE_TYPE > &hFallbackResource=xiiTypedResourceHandle< RESOURCE_TYPE >()) |
xiiResourceLock (const xiiResourceLock &)=delete | |
xiiResourceLock (xiiResourceLock &&other) | |
XII_ALWAYS_INLINE RESOURCE_TYPE * | operator-> () |
XII_ALWAYS_INLINE const RESOURCE_TYPE * | operator-> () const |
XII_ALWAYS_INLINE bool | IsValid () const |
XII_ALWAYS_INLINE | operator bool () const |
XII_ALWAYS_INLINE xiiResourceAcquireResult | GetAcquireResult () const |
XII_ALWAYS_INLINE const RESOURCE_TYPE * | GetPointer () const |
XII_ALWAYS_INLINE RESOURCE_TYPE * | GetPointerNonConst () const |
Helper class to acquire and release a resource safely.
The constructor calls xiiResourceManager::BeginAcquireResource, the destructor makes sure to call xiiResourceManager::EndAcquireResource. The instance of this class can be used like a pointer to the resource.
Whether the acquisition succeeded or returned a loading fallback, missing fallback or even no result, at all, can be retrieved through GetAcquireResult().