wowlib
0.0.0
Read & write World of Warcraft client files — a C++26 core
Toggle main menu visibility
Loading...
Searching...
No Matches
version_slot.hpp
Go to the documentation of this file.
1
#pragma once
2
12
13
#include <type_traits>
14
15
#include <
wowlib/core/client_version.hpp
>
16
17
namespace
wowlib::formats
{
21
template
<
class
Trait>
22
struct
Absent
{
23
// excluded from bindings: the parameter type is this unwelded base
24
[[=welder::mark::exclude]]
25
bool
operator==
(
const
Absent
&)
const
=
default
;
26
};
27
29
inline
constexpr
ClientVersion
VersionNeverRemoved
{255, 0, 0, 0};
30
41
template
<ClientVersion V, ClientVersion Since,
class
Trait, ClientVersion Until = VersionNeverRemoved>
42
using
Slot
= std::conditional_t<(V.formatLineage() >= Since && V.formatLineage() < Until), Trait,
Absent<Trait>
>;
43
}
client_version.hpp
Client version identity, the flavor axis that separates a client's CONTENT version from the engine ge...
wowlib::formats
Definition
adt.hpp:68
wowlib::formats::VersionNeverRemoved
constexpr ClientVersion VersionNeverRemoved
Above any supported client build — the default Until (never removed).
Definition
version_slot.hpp:28
wowlib::formats::Slot
std::conditional_t<(V.formatLineage() >=Since &&V.formatLineage()< Until), Trait, Absent< Trait > > Slot
A version-gated base: the entity inherits Trait (flattening its chunk members in) iff Since <= V < Un...
Definition
version_slot.hpp:41
wowlib::ClientVersion
Definition
client_version.hpp:33
wowlib::formats::Absent
A distinct empty base per Trait, so an entity inheriting several inactive version slots never inherit...
Definition
version_slot.hpp:22
wowlib::formats::Absent::operator==
bool operator==(const Absent &) const =default
src
wowlib
formats
common
version_slot.hpp
Generated by
1.17.0