Fix util::reversed() to support both begin()/end() methods and free functions

This commit is contained in:
Nikita Lisitsa 2026-06-30 13:13:54 +03:00
parent aeb0f4a799
commit 500646bfe9

View file

@ -83,8 +83,8 @@ namespace psemek::util
template <typename Range> template <typename Range>
auto reversed(Range const & r) auto reversed(Range const & r)
{ {
auto it1 = begin(r); auto it1 = xbegin(r);
auto it2 = end(r); auto it2 = xend(r);
using ReverseIterator = std::reverse_iterator<decltype(it1)>; using ReverseIterator = std::reverse_iterator<decltype(it1)>;
return range<ReverseIterator>{std::make_reverse_iterator(it2), std::make_reverse_iterator(it1)}; return range<ReverseIterator>{std::make_reverse_iterator(it2), std::make_reverse_iterator(it1)};