From 5d74160df312c8d9ba22508fb8f0ed9c9f3f4497 Mon Sep 17 00:00:00 2001 From: ToruNiina Date: Sat, 10 Aug 2024 14:19:11 +0900 Subject: [PATCH] fix: do not use recursion in last_one(Ts...) --- include/toml11/find.hpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/include/toml11/find.hpp b/include/toml11/find.hpp index e06442e..560db2a 100644 --- a/include/toml11/find.hpp +++ b/include/toml11/find.hpp @@ -333,16 +333,14 @@ find_or(const basic_value& v, const K& ky, T opt) namespace detail { -template -T& last_one(T& arg) + +template +auto last_one(Ts&&... args) + -> decltype(std::get(std::forward_as_tuple(std::forward(args)...))) { - return arg; -} -template -auto last_one(T1&, T2& arg, Ts& ... args) -> decltype(last_one(arg, args...)) -{ - return last_one(arg, args...); + return std::get(std::forward_as_tuple(std::forward(args)...)); } + } // detail template