repr 0.1
Reconstructable string representations and more
|
#include <list.h>
Public Types | |
template<template< typename... > class T = TypeList> | |
using | wrap = pack::wrap< T, Vs... > |
template<template< typename... > class T = TypeList> | |
using | types = T< decltype(Vs)... > |
template<std::size_t Idx> | |
using | do_split = pack::Split< Idx, List< Vs... > > |
template<std::size_t Idx> | |
using | split = TypeList< pack::unwrap< List, typename do_split< Idx >::head >, pack::unwrap< List, typename do_split< Idx >::tail > > |
template<std::size_t Idx> | |
using | head = typename do_split< Idx >::head |
template<std::size_t Idx> | |
using | tail = typename do_split< Idx >::tail |
template<auto V> | |
using | append = List< Vs..., V > |
template<auto V> | |
using | prepend = List< V, Vs... > |
template<template< auto... > class T> | |
using | to = T< Vs... > |
Static Public Member Functions | |
template<typename F , typename... Args> | |
static constexpr decltype(auto) | invoke (F &&callable, Args &&... args) |
template<typename F , typename... Args> | |
static constexpr void | for_each (F &&callable, Args &&... args) |
template<typename F , typename... Args> | |
static constexpr void | enumerate (F &&callable, Args &&... args) |
Static Public Attributes | |
static constexpr std::size_t | size = sizeof...(Vs) |
template<std::size_t Idx> | |
static constexpr auto | get = wrap<>::template get<Idx>::type::value |
using librepr::ValueListBase< List, Vs >::append = List<Vs..., V> |
using librepr::ValueListBase< List, Vs >::do_split = pack::Split<Idx, List<Vs...> > |
using librepr::ValueListBase< List, Vs >::head = typename do_split<Idx>::head |
using librepr::ValueListBase< List, Vs >::prepend = List<V, Vs...> |
using librepr::ValueListBase< List, Vs >::split = TypeList<pack::unwrap<List, typename do_split<Idx>::head>, pack::unwrap<List, typename do_split<Idx>::tail> > |
using librepr::ValueListBase< List, Vs >::tail = typename do_split<Idx>::tail |
using librepr::ValueListBase< List, Vs >::to = T<Vs...> |
using librepr::ValueListBase< List, Vs >::wrap = pack::wrap<T, Vs...> |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
staticconstexpr |
|
staticconstexpr |