Cytopia  0.3
A city building simulation game
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Meta.hxx File Reference
#include <iostream>
#include <type_traits>
#include <variant>
#include <tuple>
+ Include dependency graph for Meta.hxx:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  TypeList
 Represent a list of types. More...
 
struct  TypeList< T >
 
struct  TypeList< T, Ts... >
 
struct  GetType_t< i, List, typename >
 
struct  GetType_t< i, List< T, Ts... >, EnableIf< i==0 > >
 
struct  GetType_t< i, List< T1, T2, Ts... >, EnableIf< i !=0 > >
 
struct  VariantType
 VariantType::type returns std::variant<All fields inside the TypeList> More...
 
struct  VariantType< List< Ts... > >
 
struct  TupleType
 TupleType::type returns std::tuple<All fields inside the TypeList> More...
 
struct  TupleType< List< Ts... > >
 
struct  GetMemberType< typename >
 
struct  GetMemberType< Member Type::* >
 
struct  StrongType< WeakType, typename >
 
struct  std::hash< StrongType< WeakType, Tag > >
 

Typedefs

using nullptr_t = std::nullptr_t
 
template<bool value, typename ReturnType = void>
using EnableIf = std::enable_if_t< value, ReturnType >
 
template<auto i, typename List >
using GetType = typename GetType_t< i, List >::type
 
template<auto val, typename Type = decltype(val)>
using Constant = std::integral_constant< Type, val >
 

Variables

template<typename List , typename Type >
constexpr bool ContainsType = false
 
template<template< typename... > typename List, typename T1 , typename T2 , typename... Ts>
constexpr bool ContainsType< List< T1, Ts... >, T2 > = std::is_same_v<T1, T2> ? true : ContainsType<List<Ts...>, T2>
 

Typedef Documentation

◆ Constant

template<auto val, typename Type = decltype(val)>
using Constant = std::integral_constant<Type, val>

Definition at line 92 of file Meta.hxx.

◆ EnableIf

template<bool value, typename ReturnType = void>
using EnableIf = std::enable_if_t<value, ReturnType>

Definition at line 10 of file Meta.hxx.

◆ GetType

template<auto i, typename List >
using GetType = typename GetType_t<i, List>::type

Definition at line 55 of file Meta.hxx.

◆ nullptr_t

using nullptr_t = std::nullptr_t

Definition at line 8 of file Meta.hxx.

Variable Documentation

◆ ContainsType

template<typename List , typename Type >
constexpr bool ContainsType = false
constexpr

Definition at line 81 of file Meta.hxx.

◆ ContainsType< List< T1, Ts... >, T2 >

template<template< typename... > typename List, typename T1 , typename T2 , typename... Ts>
constexpr bool ContainsType< List< T1, Ts... >, T2 > = std::is_same_v<T1, T2> ? true : ContainsType<List<Ts...>, T2>
constexpr

Definition at line 84 of file Meta.hxx.