mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 06:57:45 +00:00
AK: Implement wrapper for reverse range for loop
Now it is possible to use range for loop in reverse mode for a container. ``` for (auto item : in_reverse(vector)) ```
This commit is contained in:
parent
a54e20d958
commit
f34fff852b
2 changed files with 28 additions and 1 deletions
|
@ -87,4 +87,22 @@ private:
|
|||
int m_index { 0 };
|
||||
};
|
||||
|
||||
namespace ReverseWrapper {
|
||||
|
||||
template<typename Container>
|
||||
struct ReverseWrapper {
|
||||
Container& container;
|
||||
};
|
||||
|
||||
template<typename Container>
|
||||
auto begin(ReverseWrapper<Container> wrapper) { return wrapper.container.rbegin(); }
|
||||
|
||||
template<typename Container>
|
||||
auto end(ReverseWrapper<Container> wrapper) { return wrapper.container.rend(); }
|
||||
|
||||
template<typename Container>
|
||||
ReverseWrapper<Container> in_reverse(Container&& container) { return { container }; }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue