ScopedSnapshot#
Fully qualified name: carb::assets::ScopedSnapshot
Defined in carb/assets/AssetsUtils.h
-
template<class Type>
class ScopedSnapshot# A scoped snapshot, this automatically releases the snapshot when it goes out of scope.
A RAII-style helper class to manage the result of IAssets::acquireSnapshot().
operator bool()can be used to test if the asset successfully acquired.getReason()can be used to check why an asset failed to load. If the asset successfully loaded, it can be obtained withget().Public Functions
-
ScopedSnapshot() = default#
Default Constructor; produces an empty object.
-
inline ScopedSnapshot(IAssets *assets, Id assetId)#
Constructs a
ScopedSnapshotfor the given asset ID.If snapshot acquisition fails,
*thiswill befalse; use getReason() to determine why.- Parameters:
assets – The IAssets interface
assetId – The asset ID to acquire a snapshot for.
-
inline ~ScopedSnapshot()#
Destructor.
-
inline ScopedSnapshot(ScopedSnapshot &&other)#
ScopedSnapshot is move-constructible.
- Parameters:
other – The other
ScopedSnapshotto move from;otherwill be empty.
-
inline ScopedSnapshot &operator=(ScopedSnapshot &&other)#
Move-assignment operator.
- Parameters:
other – The other
ScopedSnapshotto move from;otherwill be empty.- Returns:
*this
-
inline Type *get()#
Obtain the asset data from the snapshot.
- Returns:
The loaded asset if the asset load was successful;
nullptrotherwise.
-
inline const Type *get() const#
Obtain the asset data from the snapshot.
- Returns:
The loaded asset if the asset load was successful;
nullptrotherwise.
-
inline Type *operator->()#
Dereference-access operator.
- Returns:
The loaded asset; malformed if
*this == false.
-
inline const Type *operator->() const#
Dereference-access operator.
- Returns:
The loaded asset; malformed if
*this == false.
-
inline Type &operator*()#
Dereference operator.
- Returns:
A reference to the loaded asset; malformed if
*this == false.
-
inline const Type &operator*() const#
Dereference operator.
- Returns:
A reference to the loaded asset; malformed if
*this == false.
-
inline explicit constexpr operator bool() const noexcept#
Test if the asset snapshot successfully loaded.
- Returns:
trueif the asset snapshot successfully loaded and its value can be retrieved via get();falseotherwise.
-
inline Reason getReason() const#
Obtain the current asset status.
- Returns:
the Reason status code based on acquiring the snapshot. An empty
ScopedSnapshotwill return Reason::eFailed.
-
ScopedSnapshot() = default#