diff --git a/src/MeoAssistant/Logger.hpp b/src/MeoAssistant/Logger.hpp index 731a659e29..d14d8f73f4 100644 --- a/src/MeoAssistant/Logger.hpp +++ b/src/MeoAssistant/Logger.hpp @@ -203,57 +203,43 @@ namespace asst } } - template + template struct stream_put_line_impl; - template - struct stream_put_line_impl + template + struct stream_put_line_impl { - static constexpr Stream& apply(Stream& s, const separator& sep) + static constexpr Stream& apply(Stream& s, const separator&) { - std::ignore = sep; s << std::endl; return s; } }; - template - struct stream_put_line_impl + template + struct stream_put_line_impl { - static constexpr Stream& apply(Stream& s, const separator& sep, Only&& only) + static constexpr Stream& apply(Stream& s, [[maybe_unused]] const separator& sep, First&& f, Rest&&... rs) { - if constexpr (!IsFirstWord) { - s << sep.str; - } - stream_put(s, std::forward(only)); - s << std::endl; - return s; - } - }; - - template - struct stream_put_line_impl - { - static constexpr Stream& apply(Stream& s, const separator& sep, First&& f, Rest&&... rs) - { - if constexpr (std::same_as>) { - stream_put_line_impl::apply(s, f, std::forward(rs)...); + if constexpr (std::same_as, separator>) { + stream_put_line_impl::apply(s, std::forward(f), + std::forward(rs)...); } else { - if constexpr (!IsFirstWord) { - s << sep.str; - } + s << sep.str; stream_put(s, std::forward(f)); - stream_put_line_impl::apply(s, sep, std::forward(rs)...); + stream_put_line_impl::apply(s, sep, std::forward(rs)...); } return s; } }; - template - Stream& stream_put_line(Stream& s, const separator& sep, Args&&... args) + template + Stream& stream_put_line(Stream& s, const separator& sep, First&& a0, Args&&... args) { - return stream_put_line_impl::apply(s, sep, std::forward(args)...); + stream_put(s, std::forward(a0)); + stream_put_line_impl::apply(s, sep, std::forward(args)...); + return s; } inline static const separator DefaultSeparator { " " };