repr 0.1
Reconstructable string representations and more
Loading...
Searching...
No Matches
librepr::pack Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  Merge
 
struct  Merge< List< T1... >, List< T2... > >
 
struct  Split
 
struct  Split< 0, List< T0, Ts... > >
 
struct  Split< 1, List< T0, T1, Ts... > >
 
struct  Split< 10, List< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, Ts... > >
 
struct  Split< 11, List< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, Ts... > >
 
struct  Split< 12, List< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, Ts... > >
 
struct  Split< 13, List< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, Ts... > >
 
struct  Split< 14, List< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, Ts... > >
 
struct  Split< 15, List< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, Ts... > >
 
struct  Split< 2, List< T0, T1, T2, Ts... > >
 
struct  Split< 3, List< T0, T1, T2, T3, Ts... > >
 
struct  Split< 4, List< T0, T1, T2, T3, T4, Ts... > >
 
struct  Split< 5, List< T0, T1, T2, T3, T4, T5, Ts... > >
 
struct  Split< 6, List< T0, T1, T2, T3, T4, T5, T6, Ts... > >
 
struct  Split< 7, List< T0, T1, T2, T3, T4, T5, T6, T7, Ts... > >
 
struct  Split< 8, List< T0, T1, T2, T3, T4, T5, T6, T7, T8, Ts... > >
 
struct  Split< 9, List< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, Ts... > >
 
struct  Split< Idx, List< Ts... > >
 
struct  ValueWrapper
 

Typedefs

template<template< typename... > class List, auto... Vs>
using wrap = List< ValueWrapper< Vs >... >
 
template<template< auto... > class List, typename T >
using unwrap = typename detail::UnwrapValue< List, T >::type
 
template<typename T , template< typename... > class To>
using rebox = typename detail::ReBoxImpl< T, To >::type
 
template<typename T , template< auto... > class To>
using rebox_v = typename detail::ReBoxVImpl< T, To >::type
 
template<std::size_t Idx, typename T >
using get = typename Split< Idx, T >::type
 

Variables

constexpr auto MAX_SPEC = 15U
 

Typedef Documentation

◆ get

◆ rebox

template<typename T , template< typename... > class To>
using librepr::pack::rebox = typedef typename detail::ReBoxImpl<T, To>::type

◆ rebox_v

◆ unwrap

◆ wrap

template<template< typename... > class List, auto... Vs>
using librepr::pack::wrap = typedef List<ValueWrapper<Vs>...>

Variable Documentation

◆ MAX_SPEC

constexpr auto librepr::pack::MAX_SPEC = 15U
inlineconstexpr