wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
Loading...
Searching...
No Matches
storage_backend.hpp
Go to the documentation of this file.
1#pragma once
2
5
6#include <concepts>
7
10#include <wowlib/core/error.hpp>
12
13namespace wowlib::fs {
20 template <typename B> concept StorageBackend = std::movable<B> && requires(B b, const FileKey& key) {
21 { b.readFile(key) } -> std::same_as<Result<FileBuffer>>; { b.exists(key) } -> std::same_as<bool>; {
22 B::kind()
23 } -> std::same_as<StorageKind>;
24 };
25}
The owning byte buffer file contents are read into.
Client version identity, the flavor axis that separates a client's CONTENT version from the engine ge...
The storage backend contract: what MpqStorage and CascStorage implement and ClientFileSystem composes...
The error-handling vocabulary: ErrorCode, Error and the Result<T> alias every fallible wowlib operati...
File identity types: the strong FileDataID and the FileKey a read request travels as.