Implement reversed template for reversing for-each loops

This commit is contained in:
Rangi
2025-10-06 16:50:47 -04:00
parent fba0562650
commit 02c2408f58
4 changed files with 27 additions and 6 deletions

View File

@@ -12,6 +12,26 @@
#include <unordered_map>
#include <utility>
template<typename T>
struct ReversedIterable {
T &_iterable;
};
template<typename T>
auto begin(ReversedIterable<T> r) {
return std::rbegin(r._iterable);
}
template<typename T>
auto end(ReversedIterable<T> r) {
return std::rend(r._iterable);
}
template<typename T>
ReversedIterable<T> reversed(T &&_iterable) {
return {_iterable};
}
template<typename T>
class InsertionOrderedMap {
std::deque<T> list;