| 66 | |
| 67 | template <typename T, typename... Tail> |
| 68 | constexpr auto first(const T& value, const Tail&...) -> const T& { |
| 69 | return value; |
| 70 | } |
| 71 | |
| 72 | #if defined(__cpp_if_constexpr) && defined(__cpp_return_type_deduction) |
| 73 | template <typename... T> struct type_list {}; |