LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
typelist.h File Reference
#include <tuple>
+ Include dependency graph for typelist.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  LC::Util::Typelist<... >
 
struct  LC::Util::Head< typename >
 
struct  LC::Util::Head< List< H, T... > >
 
struct  LC::Util::detail::DropImpl< N, List >
 
struct  LC::Util::detail::DropImpl< 0, List >
 
struct  LC::Util::detail::Filter< Pred, List< Head, Tail... >, std::enable_if_t< Pred< Head >::value > >
 
struct  LC::Util::detail::Filter< Pred, List< Head, Tail... >, std::enable_if_t<!Pred< Head >::value > >
 
struct  LC::Util::detail::Filter< Pred, List<> >
 
struct  LC::Util::AsTypelist< T >
 
struct  LC::Util::AsTypelist< OtherList< Args... > >
 
struct  LC::Util::detail::Find< Name, Def, Args >
 
struct  LC::Util::detail::Find< Name, Def, T, Rest... >
 
struct  LC::Util::detail::Find< Name, Def, Name< T >, Rest... >
 
struct  LC::Util::detail::Find< Name, Def >
 

Namespaces

 LC
 
 LC::Util
 
 LC::Util::detail
 

Typedefs

template<typename List >
using LC::Util::Head_t = typename Head< List >::Head_t
 
template<typename T >
using LC::Util::AsTypelist_t = typename AsTypelist< T >::Result_t
 
template<template< typename > class Name, typename Def , typename... Args>
using LC::Util::Find = typename detail::Find< Name, Def, Args... >::type
 

Functions

template<template< typename... > class List, typename H , typename... T>
constexpr List< T... > LC::Util::Tail (List< H, T... >)
 
template<int N, template< typename... > class List, typename... Args>
constexpr detail::DropImpl< N, List< Args... > >::Result_t LC::Util::Drop (List< Args... >)
 
template<template< typename... > class List, typename... Args1, typename... Args2>
constexpr List< Args1..., Args2... > LC::Util::Concat (List< Args1... >, List< Args2... >)
 
template<template< typename... > class List>
constexpr List LC::Util::Reverse (List<>)
 
template<template< typename... > class List, typename Head , typename... Tail>
constexpr auto LC::Util::Reverse (List< Head, Tail... >) -> decltype(Concat(Reverse(List< Tail... >
 
template<typename F , typename G , typename Def , typename Head , typename... Args>
auto LC::Util::FirstMatching (F f, G g, Def def, Util::Typelist< Head, Args... >)
 

Variables

 LC::Util::List< Head >