7#ifndef __cpp_size_t_suffix
9#pragma warning(suppress: 4455)
10inline constexpr std::size_t
operator"" uz(
unsigned long long int k)
12 return static_cast<std::size_t
>(k);
24 template <
class,
class = std::
void_t<>>
31 struct has_builder_t<T, std::void_t<typename T::builder>> : std::true_type { };
64 template <
typename T,
typename TArg,
typename ...TArgs>
73 template <
typename T,
typename TArg,
typename ...TArgs>
82 template <
typename T,
typename TArg,
typename ...TArgs>
91 template <
typename T,
typename TArg,
typename ...TArgs>
100 template <
typename T,
typename TArg,
typename ...TArgs>
109 template <
typename T,
typename TArg,
typename ...TArgs>
117 template <
typename TDerived,
typename TBase>
118 concept implements = !std::is_abstract_v<TDerived> && std::derived_from<TDerived, TBase>;
125 template <
typename T,
typename... Ts>
126 concept are_same = std::conjunction_v<std::is_same<T, Ts>...>;