wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
Loading...
Searching...
No Matches
wowlib::fs::ListfileProvider Concept Reference

The pluggable path<->FileDataID database contract (CSV today, SQL later). More...

#include <wowlib/fs/listfile.hpp>

Concept definition

template<typename L>
concept ListfileProvider = requires(L l, const L cl, std::string_view path, FileDataID id) {
{ cl.pathToFdid(path) } -> std::same_as<std::optional<FileDataID>>; {
cl.fdidToPath(id)
} -> std::same_as<std::optional<std::string>>; { l.registerPath(path) } -> std::same_as<Result<FileDataID>>; {
cl.contains(path)
} -> std::same_as<bool>;
}
The pluggable path<->FileDataID database contract (CSV today, SQL later).
Definition listfile.hpp:23

Detailed Description

The pluggable path<->FileDataID database contract (CSV today, SQL later).

All methods are thread-safe by contract: lookups may run concurrently with each other and with registerPath. Paths passed in and stored are always in canonical form (see normalizePath). Not bound directly — concrete providers are.

Template Parameters
Lthe provider type under test.

Definition at line 23 of file listfile.hpp.