 |
Cytopia
0.3
A city building simulation game
|
Go to the documentation of this file.
10 template <
bool value,
typename ReturnType =
void>
using EnableIf = std::enable_if_t<value, ReturnType>;
25 template <
typename T,
typename... Ts>
struct TypeList<T, Ts...>
31 template <
size_t i,
typename List,
typename =
void>
struct GetType_t
36 template <
size_t i,
template <
typename...>
typename List,
typename T,
typename... Ts>
42 template <
size_t i,
template <
typename...>
typename List,
typename T1,
typename T2,
typename... Ts>
66 using type = std::variant<Ts...>;
76 template <
template <
typename...>
typename List,
typename... Ts>
struct TupleType<
List<Ts...>>
78 using type = std::tuple<Ts...>;
81 template <
typename List,
typename Type> constexpr
bool ContainsType =
false;
83 template <
template <
typename...>
typename List,
typename T1,
typename T2,
typename... Ts>
92 template <auto val,
typename Type = decltype(val)>
using Constant = std::integral_constant<Type, val>;
98 template <
typename Type,
typename Member>
struct GetMemberType<Member Type::*>
121 template <
typename... Args,
typename = std::enable_if_t<std::is_constructible_v<WeakType, Args...>>>
139 template <
typename WeakType,
typename Tag>
struct std::hash<StrongType<WeakType, Tag>>
Constant::value returns the value.
StrongType & operator=(const WeakType &weak)
StrongType & operator=(WeakType &&weak)
VariantType::type returns std::variant<All fields inside the TypeList>
Represent a list of types.
std::size_t operator()(const StrongType< WeakType, Tag > &key) const
StrongType(Args &&...args)
friend std::ostream & operator<<(std::ostream &os, const StrongType &obj)
TupleType::type returns std::tuple<All fields inside the TypeList>
friend bool operator==(const StrongType &s1, const StrongType &s2) noexcept
friend std::istream & operator>>(std::istream &is, StrongType &obj)
StrongType & operator=(const StrongType &)=default
typename GetType_t< i - 1, List< T2, Ts... > >::type type
const WeakType & get() const noexcept
GetType is the ith type in TypeList if within range, otherwise nullptr_t.
WeakType & get() noexcept
std::variant< Ts... > type