mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 16:07:47 +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
|
@ -4,6 +4,7 @@
|
|||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include "AK/ReverseIterator.h"
|
||||
#include <LibTest/TestCase.h>
|
||||
|
||||
#include <AK/NonnullOwnPtrVector.h>
|
||||
|
@ -552,10 +553,18 @@ TEST_CASE(rend)
|
|||
EXPECT_EQ(*expected, *expected_in_reverse);
|
||||
}
|
||||
|
||||
TEST_CASE(reverse_loop)
|
||||
TEST_CASE(reverse_iterator_for_loop)
|
||||
{
|
||||
Vector<int> v { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
|
||||
int index = 9;
|
||||
for (auto rev = v.rbegin(); rev != v.rend(); ++rev)
|
||||
EXPECT_EQ(*rev, index--);
|
||||
}
|
||||
|
||||
TEST_CASE(reverse_range_for_loop)
|
||||
{
|
||||
Vector<int> v { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
|
||||
int index = 9;
|
||||
for (auto item : AK::ReverseWrapper::in_reverse(v))
|
||||
EXPECT_EQ(item, index--);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue