From c6352c1f7c9e1f5680e54c50de05b1a18781c7b1 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Tue, 11 Mar 2025 01:19:36 +0000 Subject: Perfectly forward range when materializing --- lib/collections.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/collections.h b/lib/collections.h index b921424..e182af5 100644 --- a/lib/collections.h +++ b/lib/collections.h @@ -140,16 +140,16 @@ vectorOfN(std::integral auto N, T start = {}, T step = 1) template typename Rtn = std::vector, typename In> [[nodiscard]] auto -materializeRange(const In begin, const In end) +materializeRange(In && begin, In && end) { - return Rtn(begin, end); + return Rtn(std::forward(begin), std::forward(end)); } template typename Rtn = std::vector, IterableCollection In> [[nodiscard]] auto -materializeRange(const In & in) +materializeRange(In && in) { - return materializeRange(in.begin(), in.end()); + return materializeRange(std::forward(in).begin(), std::forward(in).end()); } template typename Rtn = std::vector, typename In> -- cgit v1.2.3