18#ifndef TRINITY_ADVSTD_H
19#define TRINITY_ADVSTD_H
23#ifdef __cpp_lib_bit_cast
34[[nodiscard]]
constexpr bool is_eq(std::partial_ordering cmp)
noexcept {
return cmp == 0; }
35[[nodiscard]]
constexpr bool is_neq(std::partial_ordering cmp)
noexcept {
return cmp != 0; }
37#ifdef __cpp_lib_bit_cast
41template <
typename To,
typename From,
42 std::enable_if_t<std::conjunction_v<
43 std::bool_constant<
sizeof(To) ==
sizeof(From)>,
44 std::is_trivially_copyable<To>,
45 std::is_trivially_copyable<From>>,
int> = 0>
46[[nodiscard]]
constexpr To
bit_cast(From
const& from)
noexcept
49 std::memcpy(&to, &from,
sizeof(To));
constexpr bool is_eq(std::partial_ordering cmp) noexcept
constexpr bool is_neq(std::partial_ordering cmp) noexcept
constexpr To bit_cast(From const &from) noexcept