repr 0.1
Reconstructable string representations and more
Loading...
Searching...
No Matches
librepr::MemberList< Ts > Struct Template Reference

#include <members.h>

Inheritance diagram for librepr::MemberList< Ts >:
[legend]
Collaboration diagram for librepr::MemberList< Ts >:
[legend]

Public Types

using wrap = pack::wrap< T, Vs... >
 
using types = T< decltype(Vs)... >
 
using do_split = pack::Split< Idx, MemberList< Vs... > >
 
using split = TypeList< pack::unwrap< MemberList, typename do_split< Idx >::head >, pack::unwrap< MemberList, typename do_split< Idx >::tail > >
 
using head = typename do_split< Idx >::head
 
using tail = typename do_split< Idx >::tail
 
using append = MemberList< Vs..., V >
 
using prepend = MemberList< V, Vs... >
 
using to = T< Vs... >
 

Static Public Member Functions

static constexpr decltype(auto) invoke (F &&callable, Args &&... args)
 
static constexpr void for_each (F &&callable, Args &&... args)
 
static constexpr void enumerate (F &&callable, Args &&... args)
 

Static Public Attributes

template<typename C >
static constexpr bool is_valid_for = std::same_as<std::common_type_t<typename decltype(Ts)::class_type...>, C>
 
static constexpr std::size_t size
 
static constexpr auto get
 

Member Typedef Documentation

◆ append

using librepr::ValueListBase< MemberList , Vs >::append = MemberList <Vs..., V>
inherited

◆ do_split

using librepr::ValueListBase< MemberList , Vs >::do_split = pack::Split<Idx, MemberList <Vs...> >
inherited

◆ head

◆ prepend

using librepr::ValueListBase< MemberList , Vs >::prepend = MemberList <V, Vs...>
inherited

◆ split

◆ tail

◆ to

using librepr::ValueListBase< MemberList , Vs >::to = T<Vs...>
inherited

◆ types

using librepr::ValueListBase< MemberList , Vs >::types = T<decltype(Vs)...>
inherited

◆ wrap

using librepr::ValueListBase< MemberList , Vs >::wrap = pack::wrap<T, Vs...>
inherited

Member Function Documentation

◆ enumerate()

static constexpr void librepr::ValueListBase< MemberList , Vs >::enumerate ( F &&  callable,
Args &&...  args 
)
inlinestaticconstexprinherited

◆ for_each()

static constexpr void librepr::ValueListBase< MemberList , Vs >::for_each ( F &&  callable,
Args &&...  args 
)
inlinestaticconstexprinherited

◆ invoke()

static constexpr decltype(auto) librepr::ValueListBase< MemberList , Vs >::invoke ( F &&  callable,
Args &&...  args 
)
inlinestaticconstexprinherited

Member Data Documentation

◆ get

constexpr auto librepr::ValueListBase< MemberList , Vs >::get
staticconstexprinherited

◆ is_valid_for

template<Member... Ts>
template<typename C >
constexpr bool librepr::MemberList< Ts >::is_valid_for = std::same_as<std::common_type_t<typename decltype(Ts)::class_type...>, C>
staticconstexpr

◆ size

constexpr std::size_t librepr::ValueListBase< MemberList , Vs >::size
staticconstexprinherited

The documentation for this struct was generated from the following file: