Use static_string from Boost.StaticString

This commit is contained in:
Glen Fernandes
2022-04-17 12:30:52 -04:00
parent 17141a331a
commit 24275ac0c6
19 changed files with 80 additions and 1764 deletions
+29 -27
View File
@@ -94,8 +94,10 @@ public:
void
fill(std::size_t n, basic_fields<Allocator>& f)
{
for(std::size_t i = 1; i<= n; ++i)
f.insert(std::to_string(i), to_static_string(i));
for(std::size_t i = 1; i<= n; ++i) {
auto s = std::to_string(i);
f.insert(s, s);
}
}
template<class U, class V>
@@ -412,10 +414,10 @@ public:
{
// group fields
fields f;
f.insert(field::age, to_static_string(1));
f.insert(field::body, to_static_string(2));
f.insert(field::close, to_static_string(3));
f.insert(field::body, to_static_string(4));
f.insert(field::age, "1");
f.insert(field::body, "2");
f.insert(field::close, "3");
f.insert(field::body, "4");
BEAST_EXPECT(std::next(f.begin(), 0)->name() == field::age);
BEAST_EXPECT(std::next(f.begin(), 1)->name() == field::body);
BEAST_EXPECT(std::next(f.begin(), 2)->name() == field::body);
@@ -435,10 +437,10 @@ public:
{
// group fields, case insensitive
fields f;
f.insert("a", to_static_string(1));
f.insert("ab", to_static_string(2));
f.insert("b", to_static_string(3));
f.insert("AB", to_static_string(4));
f.insert("a", "1");
f.insert("ab", "2");
f.insert("b", "3");
f.insert("AB", "4");
BEAST_EXPECT(std::next(f.begin(), 0)->name() == field::unknown);
BEAST_EXPECT(std::next(f.begin(), 1)->name() == field::unknown);
BEAST_EXPECT(std::next(f.begin(), 2)->name() == field::unknown);
@@ -458,14 +460,14 @@ public:
{
// verify insertion orde
fields f;
f.insert( "a", to_static_string(1));
f.insert("dd", to_static_string(2));
f.insert("b", to_static_string(3));
f.insert("dD", to_static_string(4));
f.insert("c", to_static_string(5));
f.insert("Dd", to_static_string(6));
f.insert("DD", to_static_string(7));
f.insert( "e", to_static_string(8));
f.insert( "a", "1");
f.insert("dd", "2");
f.insert("b", "3");
f.insert("dD", "4");
f.insert("c", "5");
f.insert("Dd", "6");
f.insert("DD", "7");
f.insert( "e", "8");
BEAST_EXPECT(f.count("dd") == 4);
BEAST_EXPECT(std::next(f.begin(), 1)->name_string() == "dd");
BEAST_EXPECT(std::next(f.begin(), 2)->name_string() == "dD");
@@ -479,13 +481,13 @@ public:
// equal_range
{
fields f;
f.insert("E", to_static_string(1));
f.insert("B", to_static_string(2));
f.insert("D", to_static_string(3));
f.insert("B", to_static_string(4));
f.insert("C", to_static_string(5));
f.insert("B", to_static_string(6));
f.insert("A", to_static_string(7));
f.insert("E", "1");
f.insert("B", "2");
f.insert("D", "3");
f.insert("B", "4");
f.insert("C", "5");
f.insert("B", "6");
f.insert("A", "7");
auto const rng = f.equal_range("B");
BEAST_EXPECT(std::distance(rng.first, rng.second) == 3);
BEAST_EXPECT(std::next(rng.first, 0)->value() == "2");
@@ -945,7 +947,7 @@ public:
};
res.erase(field::transfer_encoding);
res.set(field::content_length, to_static_string(32));
res.set(field::content_length, "32");
chunked(true);
BEAST_EXPECT(res[field::transfer_encoding] == "chunked");
@@ -954,7 +956,7 @@ public:
BEAST_EXPECT(res[field::transfer_encoding] == "chunked");
res.erase(field::transfer_encoding);
res.set(field::content_length, to_static_string(32));
res.set(field::content_length, "32");
chunked(false);
BEAST_EXPECT(res.count(field::transfer_encoding) == 0);