#ifndef RFL_INTERNAL_TUPLE_APPLY_HPP_ #define RFL_INTERNAL_TUPLE_APPLY_HPP_ #include #include "../../Tuple.hpp" namespace rfl::internal::tuple { template auto apply(F&& _f, const rfl::Tuple& _tup, std::integer_sequence) { return _f(rfl::get<_is>(_tup)...); } template auto apply(F&& _f, rfl::Tuple& _tup, std::integer_sequence) { return _f(rfl::get<_is>(_tup)...); } template auto apply(F&& _f, rfl::Tuple&& _tup, std::integer_sequence) { return _f(std::move(rfl::get<_is>(_tup))...); } } // namespace rfl::internal::tuple #endif