// // EuropaTools // // (C) 2021-2022 modeco80 // // SPDX-License-Identifier: GPL-3.0-or-later // #ifndef EUROPA_UTIL_TUPLEELEMENT_H #define EUROPA_UTIL_TUPLEELEMENT_H #include #include #include namespace europa::util { namespace detail { template struct TupleElementImpl { template constexpr decltype(auto) operator()(T&& t) const { using std::get; return get(std::forward(t)); } }; template inline constexpr TupleElementImpl TupleElement; } using detail::TupleElement; } #endif // EUROPA_UTIL_TUPLEELEMENT_H