18#ifndef TRINITYCORE_FOURCC_H
19#define TRINITYCORE_FOURCC_H
25template <
typename Tag>
50 template <
typename Other>
53 template <
typename Other>
59consteval uint32 operator""_fourcc(
char const* chars, std::size_t length)
61 if (length >
sizeof(
uint32))
62 throw "Text can only be max 4 characters long";
71 template <
typename FormatContext>
72 auto format(
FourCC<void> fcc, FormatContext& ctx)
const ->
decltype(ctx.out());
75template <
typename Tag>
78 template <
typename FormatContext>
constexpr FourCC(uint32 value)
constexpr bool operator==(FourCC< Other > const &right) const =delete
constexpr std::strong_ordering operator<=>(FourCC< Other > const &right) const =delete
constexpr std::strong_ordering operator<=>(FourCC const &right) const =default
constexpr bool operator==(FourCC const &right) const =default
static constexpr FourCC FromString(std::string_view text)