mirror of
https://github.com/nghttp2/nghttp2.git
synced 2025-12-06 18:18:52 +08:00
src: Use std::ranges::begin and std::ranges::end consistently
This commit is contained in:
@@ -2791,7 +2791,7 @@ int main(int argc, char **argv) {
|
||||
|
||||
// serialize the APLN tokens
|
||||
for (auto &proto : config.alpn_list) {
|
||||
proto.insert(proto.begin(), static_cast<char>(proto.size()));
|
||||
proto.insert(std::ranges::begin(proto), static_cast<char>(proto.size()));
|
||||
}
|
||||
|
||||
std::vector<std::string> reqlines;
|
||||
|
||||
11
src/http2.cc
11
src/http2.cc
@@ -274,15 +274,16 @@ namespace {
|
||||
void capitalize_long(DefaultMemchunks *buf, const std::string_view &s) {
|
||||
buf->append(util::upcase(s[0]));
|
||||
|
||||
auto it = s.begin() + 1;
|
||||
auto it = std::ranges::begin(s) + 1;
|
||||
|
||||
for (; it != s.end();) {
|
||||
auto p = std::ranges::find(it, s.end(), '-');
|
||||
p = std::ranges::find_if(p, s.end(), [](auto c) { return c != '-'; });
|
||||
for (; it != std::ranges::end(s);) {
|
||||
auto p = std::ranges::find(it, std::ranges::end(s), '-');
|
||||
p = std::ranges::find_if(p, std::ranges::end(s),
|
||||
[](auto c) { return c != '-'; });
|
||||
|
||||
buf->append(it, p);
|
||||
|
||||
if (p == s.end()) {
|
||||
if (p == std::ranges::end(s)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -131,17 +131,17 @@ std::string_view create_forwarded(BlockAllocator &balloc, uint32_t params,
|
||||
std::string colorize_headers(const std::string_view &hdrs) {
|
||||
std::string nhdrs;
|
||||
auto p = std::ranges::find(hdrs, '\n');
|
||||
if (p == hdrs.end()) {
|
||||
if (p == std::ranges::end(hdrs)) {
|
||||
// Not valid HTTP header
|
||||
return std::string{hdrs};
|
||||
}
|
||||
|
||||
nhdrs.append(hdrs.begin(), ++p);
|
||||
nhdrs.append(std::ranges::begin(hdrs), ++p);
|
||||
|
||||
while (1) {
|
||||
auto np = std::ranges::find(p, hdrs.end(), ':');
|
||||
if (np == hdrs.end()) {
|
||||
nhdrs.append(p, hdrs.end());
|
||||
auto np = std::ranges::find(p, std::ranges::end(hdrs), ':');
|
||||
if (np == std::ranges::end(hdrs)) {
|
||||
nhdrs.append(p, std::ranges::end(hdrs));
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -153,7 +153,7 @@ std::string colorize_headers(const std::string_view &hdrs) {
|
||||
|
||||
p = np;
|
||||
|
||||
np = std::ranges::find(p, hdrs.end(), '\n');
|
||||
np = std::ranges::find(p, std::ranges::end(hdrs), '\n');
|
||||
|
||||
if (redact) {
|
||||
nhdrs.append(": <redacted>"sv);
|
||||
@@ -161,7 +161,7 @@ std::string colorize_headers(const std::string_view &hdrs) {
|
||||
nhdrs.append(p, np);
|
||||
}
|
||||
|
||||
if (np == hdrs.end()) {
|
||||
if (np == std::ranges::end(hdrs)) {
|
||||
return nhdrs;
|
||||
}
|
||||
|
||||
|
||||
@@ -328,7 +328,7 @@ namespace {
|
||||
std::span<char> copy_hex_low(std::span<const uint8_t> src,
|
||||
std::span<char> dest) {
|
||||
auto n = std::min(dest.size(), src.size() * 2) / 2;
|
||||
auto d = util::format_hex(src.first(n), dest.begin());
|
||||
auto d = util::format_hex(src.first(n), std::ranges::begin(dest));
|
||||
|
||||
if (n < src.size()) {
|
||||
return {d, d};
|
||||
@@ -428,7 +428,7 @@ std::span<char> copy_escape(const std::string_view &src, std::span<char> dest) {
|
||||
|
||||
dest[0] = '\\';
|
||||
dest[1] = 'x';
|
||||
util::format_hex(c, dest.begin() + 2);
|
||||
util::format_hex(c, std::ranges::begin(dest) + 2);
|
||||
dest = dest.subspan(4);
|
||||
|
||||
safe_first = p + 1;
|
||||
|
||||
@@ -58,7 +58,9 @@ std::span<uint64_t, 2> generate_siphash_key();
|
||||
|
||||
namespace std {
|
||||
template <> struct hash<ngtcp2_cid> {
|
||||
hash() { std::ranges::copy(shrpx::generate_siphash_key(), key.begin()); }
|
||||
hash() {
|
||||
std::ranges::copy(shrpx::generate_siphash_key(), std::ranges::begin(key));
|
||||
}
|
||||
|
||||
std::size_t operator()(const ngtcp2_cid &cid) const noexcept {
|
||||
return static_cast<size_t>(siphash24(key, {cid.data, cid.datalen}));
|
||||
|
||||
@@ -287,7 +287,7 @@ void Worker::replace_downstream_config(
|
||||
shared_mruby_ctxs;
|
||||
#endif // defined(HAVE_MRUBY)
|
||||
|
||||
auto old_addr_group_it = old_addr_groups.begin();
|
||||
auto old_addr_group_it = std::ranges::begin(old_addr_groups);
|
||||
|
||||
for (size_t i = 0; i < groups.size(); ++i) {
|
||||
auto &src = groups[i];
|
||||
@@ -296,7 +296,7 @@ void Worker::replace_downstream_config(
|
||||
dst = std::make_shared<DownstreamAddrGroup>();
|
||||
dst->pattern = ImmutableString{src.pattern};
|
||||
|
||||
for (; old_addr_group_it != old_addr_groups.end() &&
|
||||
for (; old_addr_group_it != std::ranges::end(old_addr_groups) &&
|
||||
(*old_addr_group_it)->pattern < dst->pattern;
|
||||
++old_addr_group_it)
|
||||
;
|
||||
@@ -418,7 +418,7 @@ void Worker::replace_downstream_config(
|
||||
assert(num_wgs == 0);
|
||||
|
||||
auto copy_cycle =
|
||||
old_addr_group_it != old_addr_groups.end() &&
|
||||
old_addr_group_it != std::ranges::end(old_addr_groups) &&
|
||||
(*old_addr_group_it)->pattern == dst->pattern &&
|
||||
(*old_addr_group_it)->shared_addr->affinity.type ==
|
||||
SessionAffinity::NONE &&
|
||||
|
||||
@@ -70,7 +70,9 @@ void test_shrpx_worker_match_downstream_addr_group(void) {
|
||||
|
||||
for (size_t i = 0; i < groups.size(); ++i) {
|
||||
auto &g = groups[i];
|
||||
router.add_route(std::string_view{g->pattern.begin(), g->pattern.end()}, i);
|
||||
router.add_route(std::string_view{std::ranges::begin(g->pattern),
|
||||
std::ranges::end(g->pattern)},
|
||||
i);
|
||||
}
|
||||
|
||||
assert_size(0, ==,
|
||||
|
||||
@@ -177,15 +177,17 @@ void test_template_as_string_view(void) {
|
||||
auto a = std::to_array<uint8_t>({'a', 'l', 'p', 'h', 'a'});
|
||||
|
||||
assert_stdsv_equal("alpha"sv, as_string_view(a));
|
||||
assert_stdsv_equal("alpha"sv, as_string_view(a.begin(), a.end()));
|
||||
assert_stdsv_equal("alp"sv, as_string_view(a.begin(), 3));
|
||||
assert_stdsv_equal(
|
||||
"alpha"sv, as_string_view(std::ranges::begin(a), std::ranges::end(a)));
|
||||
assert_stdsv_equal("alp"sv, as_string_view(std::ranges::begin(a), 3));
|
||||
}
|
||||
|
||||
{
|
||||
auto s = ""s;
|
||||
|
||||
assert_stdsv_equal(""sv, as_string_view(s));
|
||||
assert_stdsv_equal(""sv, as_string_view(s.begin(), s.end()));
|
||||
assert_stdsv_equal(
|
||||
""sv, as_string_view(std::ranges::begin(s), std::ranges::end(s)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -613,7 +613,8 @@ time_t parse_openssl_asn1_time_print(const std::string_view &s) {
|
||||
}
|
||||
|
||||
void to_token68(std::string &base64str) {
|
||||
for (auto it = base64str.begin(); it != base64str.end(); ++it) {
|
||||
for (auto it = std::ranges::begin(base64str);
|
||||
it != std::ranges::end(base64str); ++it) {
|
||||
switch (*it) {
|
||||
case '+':
|
||||
*it = '-';
|
||||
@@ -622,7 +623,7 @@ void to_token68(std::string &base64str) {
|
||||
*it = '_';
|
||||
break;
|
||||
case '=':
|
||||
base64str.erase(it, base64str.end());
|
||||
base64str.erase(it, std::ranges::end(base64str));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,25 +195,29 @@ void test_util_percent_encode_token(void) {
|
||||
std::array<char, 64> buf;
|
||||
|
||||
assert_stdsv_equal(
|
||||
"h2"sv, as_string_view(buf.begin(),
|
||||
util::percent_encode_token("h2"sv, buf.begin())));
|
||||
"h2"sv, as_string_view(
|
||||
std::ranges::begin(buf),
|
||||
util::percent_encode_token("h2"sv, std::ranges::begin(buf))));
|
||||
|
||||
assert_size("h2"sv.size(), ==, util::percent_encode_tokenlen("h2"sv));
|
||||
|
||||
assert_stdsv_equal(
|
||||
"h3~"sv, as_string_view(buf.begin(),
|
||||
util::percent_encode_token("h3~"sv, buf.begin())));
|
||||
"h3~"sv, as_string_view(
|
||||
std::ranges::begin(buf),
|
||||
util::percent_encode_token("h3~"sv, std::ranges::begin(buf))));
|
||||
|
||||
assert_size("h3~"sv.size(), ==, util::percent_encode_tokenlen("h3~"sv));
|
||||
|
||||
assert_stdsv_equal("100%25"sv,
|
||||
as_string_view(buf.begin(), util::percent_encode_token(
|
||||
"100%"sv, buf.begin())));
|
||||
as_string_view(std::ranges::begin(buf),
|
||||
util::percent_encode_token(
|
||||
"100%"sv, std::ranges::begin(buf))));
|
||||
assert_size("100%25"sv.size(), ==, util::percent_encode_tokenlen("100%"sv));
|
||||
|
||||
assert_stdsv_equal("http%202"sv,
|
||||
as_string_view(buf.begin(), util::percent_encode_token(
|
||||
"http 2"sv, buf.begin())));
|
||||
as_string_view(std::ranges::begin(buf),
|
||||
util::percent_encode_token(
|
||||
"http 2"sv, std::ranges::begin(buf))));
|
||||
|
||||
assert_size("http%202"sv.size(), ==,
|
||||
util::percent_encode_tokenlen("http 2"sv));
|
||||
@@ -260,23 +264,29 @@ void test_util_utox(void) {
|
||||
std::array<char, 16> buf;
|
||||
|
||||
assert_stdsv_equal(
|
||||
"0"sv, (std::string_view{buf.begin(), util::utox(0, buf.begin())}));
|
||||
"0"sv, (std::string_view{std::ranges::begin(buf),
|
||||
util::utox(0, std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal(
|
||||
"1"sv, (std::string_view{buf.begin(), util::utox(1, buf.begin())}));
|
||||
"1"sv, (std::string_view{std::ranges::begin(buf),
|
||||
util::utox(1, std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal(
|
||||
"F"sv, (std::string_view{buf.begin(), util::utox(15, buf.begin())}));
|
||||
"F"sv, (std::string_view{std::ranges::begin(buf),
|
||||
util::utox(15, std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal(
|
||||
"10"sv, (std::string_view{buf.begin(), util::utox(16, buf.begin())}));
|
||||
"10"sv, (std::string_view{std::ranges::begin(buf),
|
||||
util::utox(16, std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal(
|
||||
"3B9ACA07"sv,
|
||||
(std::string_view{buf.begin(), util::utox(1000000007, buf.begin())}));
|
||||
assert_stdsv_equal(
|
||||
"B5EA98F3663B14A"sv,
|
||||
(std::string_view{buf.begin(),
|
||||
util::utox(819278614785929546, buf.begin())}));
|
||||
(std::string_view{std::ranges::begin(buf),
|
||||
util::utox(1000000007, std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal("B5EA98F3663B14A"sv,
|
||||
(std::string_view{std::ranges::begin(buf),
|
||||
util::utox(819278614785929546,
|
||||
std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal(
|
||||
"100000000"sv,
|
||||
(std::string_view{buf.begin(), util::utox(1LL << 32, buf.begin())}));
|
||||
(std::string_view{std::ranges::begin(buf),
|
||||
util::utox(1LL << 32, std::ranges::begin(buf))}));
|
||||
}
|
||||
|
||||
void test_util_http_date(void) {
|
||||
@@ -855,28 +865,31 @@ void test_util_format_hex(void) {
|
||||
std::array<char, 64> buf;
|
||||
|
||||
assert_stdsv_equal(
|
||||
"00"sv,
|
||||
(std::string_view{
|
||||
buf.begin(), util::format_hex(static_cast<uint8_t>(0u), buf.begin())}));
|
||||
"00"sv, (std::string_view{std::ranges::begin(buf),
|
||||
util::format_hex(static_cast<uint8_t>(0u),
|
||||
std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal(
|
||||
"ec"sv,
|
||||
(std::string_view{buf.begin(), util::format_hex(static_cast<uint8_t>(0xecu),
|
||||
buf.begin())}));
|
||||
"ec"sv, (std::string_view{std::ranges::begin(buf),
|
||||
util::format_hex(static_cast<uint8_t>(0xecu),
|
||||
std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal(
|
||||
"00000000"sv,
|
||||
(std::string_view{buf.begin(), util::format_hex(0u, buf.begin())}));
|
||||
(std::string_view{std::ranges::begin(buf),
|
||||
util::format_hex(0u, std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal(
|
||||
"0000ab01"sv,
|
||||
(std::string_view{buf.begin(), util::format_hex(0xab01u, buf.begin())}));
|
||||
(std::string_view{std::ranges::begin(buf),
|
||||
util::format_hex(0xab01u, std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal(
|
||||
"deadbeefbaadf00d"sv,
|
||||
(std::string_view{buf.begin(),
|
||||
util::format_hex(0xdeadbeefbaadf00du, buf.begin())}));
|
||||
(std::string_view{
|
||||
std::ranges::begin(buf),
|
||||
util::format_hex(0xdeadbeefbaadf00du, std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal(
|
||||
"ffffffffffffffff"sv,
|
||||
(std::string_view{
|
||||
buf.begin(),
|
||||
util::format_hex(std::numeric_limits<uint64_t>::max(), buf.begin())}));
|
||||
(std::string_view{std::ranges::begin(buf),
|
||||
util::format_hex(std::numeric_limits<uint64_t>::max(),
|
||||
std::ranges::begin(buf))}));
|
||||
}
|
||||
|
||||
void test_util_format_upper_hex(void) {
|
||||
@@ -884,19 +897,24 @@ void test_util_format_upper_hex(void) {
|
||||
|
||||
assert_stdsv_equal(
|
||||
"00"sv,
|
||||
(std::string_view{buf.begin(), util::format_upper_hex(0, buf.begin())}));
|
||||
(std::string_view{std::ranges::begin(buf),
|
||||
util::format_upper_hex(0, std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal(
|
||||
"0A"sv,
|
||||
(std::string_view{buf.begin(), util::format_upper_hex(0xa, buf.begin())}));
|
||||
(std::string_view{std::ranges::begin(buf),
|
||||
util::format_upper_hex(0xa, std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal(
|
||||
"7C"sv, (std::string_view{buf.begin(),
|
||||
util::format_upper_hex(0x07c, buf.begin())}));
|
||||
"7C"sv,
|
||||
(std::string_view{std::ranges::begin(buf),
|
||||
util::format_upper_hex(0x07c, std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal(
|
||||
"EB"sv,
|
||||
(std::string_view{buf.begin(), util::format_upper_hex(0xeb, buf.begin())}));
|
||||
(std::string_view{std::ranges::begin(buf),
|
||||
util::format_upper_hex(0xeb, std::ranges::begin(buf))}));
|
||||
assert_stdsv_equal(
|
||||
"FF"sv,
|
||||
(std::string_view{buf.begin(), util::format_upper_hex(0xff, buf.begin())}));
|
||||
(std::string_view{std::ranges::begin(buf),
|
||||
util::format_upper_hex(0xff, std::ranges::begin(buf))}));
|
||||
}
|
||||
|
||||
void test_util_is_hex_string(void) {
|
||||
|
||||
Reference in New Issue
Block a user