mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-01 08:44:02 +02:00
Merge bitcoin/bitcoin#28687: C++20 std::views::reverse
2925bd537crefactor: use c++20 std::views::reverse instead of reverse_iterator.h (stickies-v) Pull request description: C++20 introduces [`std::ranges::views::reverse`](https://en.cppreference.com/w/cpp/ranges/reverse_view), which allows us to drop our own `reverse_iterator.h` implementation and also makes it easier to chain views (even though I think we currently don't use this). ACKs for top commit: achow101: ACK2925bd537cmaflcko: ACK2925bd537c🎷 Tree-SHA512: 567666ec44af5d1beb7a271836bcc89c4c577abc77f522fcc18bc6d4de516ae9b0df766d0bfa6dd217569e6878331c2aee1d9815620860375e3510dad7fed476
This commit is contained in:
@@ -2,16 +2,14 @@
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include <prevector.h>
|
||||
#include <serialize.h>
|
||||
#include <streams.h>
|
||||
#include <test/fuzz/FuzzedDataProvider.h>
|
||||
#include <test/fuzz/fuzz.h>
|
||||
|
||||
#include <prevector.h>
|
||||
#include <ranges>
|
||||
#include <vector>
|
||||
|
||||
#include <reverse_iterator.h>
|
||||
#include <serialize.h>
|
||||
#include <streams.h>
|
||||
|
||||
namespace {
|
||||
|
||||
template <unsigned int N, typename T>
|
||||
@@ -47,7 +45,7 @@ public:
|
||||
assert(v == real_vector[pos]);
|
||||
++pos;
|
||||
}
|
||||
for (const T& v : reverse_iterate(pre_vector)) {
|
||||
for (const T& v : pre_vector | std::views::reverse) {
|
||||
--pos;
|
||||
assert(v == real_vector[pos]);
|
||||
}
|
||||
@@ -55,7 +53,7 @@ public:
|
||||
assert(v == real_vector[pos]);
|
||||
++pos;
|
||||
}
|
||||
for (const T& v : reverse_iterate(const_pre_vector)) {
|
||||
for (const T& v : const_pre_vector | std::views::reverse) {
|
||||
--pos;
|
||||
assert(v == real_vector[pos]);
|
||||
}
|
||||
|
||||
@@ -3,17 +3,16 @@
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include <prevector.h>
|
||||
#include <vector>
|
||||
|
||||
#include <reverse_iterator.h>
|
||||
#include <serialize.h>
|
||||
#include <streams.h>
|
||||
|
||||
#include <test/util/random.h>
|
||||
#include <test/util/setup_common.h>
|
||||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
#include <ranges>
|
||||
#include <vector>
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(prevector_tests, TestingSetup)
|
||||
|
||||
template<unsigned int N, typename T>
|
||||
@@ -58,14 +57,14 @@ class prevector_tester {
|
||||
for (const T& v : pre_vector) {
|
||||
local_check(v == real_vector[pos++]);
|
||||
}
|
||||
for (const T& v : reverse_iterate(pre_vector)) {
|
||||
local_check(v == real_vector[--pos]);
|
||||
for (const T& v : pre_vector | std::views::reverse) {
|
||||
local_check(v == real_vector[--pos]);
|
||||
}
|
||||
for (const T& v : const_pre_vector) {
|
||||
local_check(v == real_vector[pos++]);
|
||||
}
|
||||
for (const T& v : reverse_iterate(const_pre_vector)) {
|
||||
local_check(v == real_vector[--pos]);
|
||||
for (const T& v : const_pre_vector | std::views::reverse) {
|
||||
local_check(v == real_vector[--pos]);
|
||||
}
|
||||
DataStream ss1{};
|
||||
DataStream ss2{};
|
||||
|
||||
Reference in New Issue
Block a user