Go to the documentation of this file.
4 #ifndef LEXY_DETAIL_TUPLE_HPP_INCLUDED
5 #define LEXY_DETAIL_TUPLE_HPP_INCLUDED
12 template <std::
size_t Idx,
typename T>
15 #if !defined(__GNUC__) || defined(__clang__)
22 template <std::size_t Idx,
typename... T>
24 template <std::size_t Idx,
typename H,
typename... T>
29 template <
typename H,
typename... T>
46 template <
typename Indices,
typename... T>
48 template <std::size_t... Idx,
typename... T>
52 constexpr
_tuple() =
default;
54 template <
typename... Args>
59 template <
typename... T>
62 constexpr
tuple() =
default;
64 template <
typename... Args>
65 constexpr
explicit tuple(Args&&... args)
69 template <std::
size_t N>
72 template <std::
size_t N>
73 constexpr decltype(
auto)
get() noexcept
80 template <std::
size_t N>
81 constexpr decltype(
auto)
get() const noexcept
97 constexpr
tuple() =
default;
105 template <
typename... Args>
111 template <
typename... Args>
118 #endif // LEXY_DETAIL_TUPLE_HPP_INCLUDED
constexpr auto forward_as_tuple(Args &&... args)
make_index_sequence< sizeof...(T)> index_sequence_for
static constexpr auto index_sequence()
constexpr decltype(auto) get() noexcept
typename _nth_type< Idx - 1, T... >::type type
typename _nth_type< N, T... >::type element_type
constexpr auto make_tuple(Args &&... args)
constexpr _tuple(Args &&... args)
LEXY_EMPTY_MEMBER T value
static constexpr auto index_sequence()
#define LEXY_EMPTY_MEMBER
constexpr tuple()=default
constexpr tuple(Args &&... args)