52 void StlizeTest::testConst ()
54 const auto& map = GetSimpleMap ();
60 QCOMPARE (list, (QStringList {
"aaa",
"bbb",
"ccc" }));
63 void StlizeTest::testNonConst ()
65 auto map = GetSimpleMap ();
71 QCOMPARE (list, (QStringList {
"aaa",
"bbb",
"ccc" }));
74 void StlizeTest::testNonConstModify ()
94 QCOMPARE (list, (QStringList {
"aaa",
"bbb",
"ccc" }));
95 QCOMPARE (
true, (std::all_of (map.begin (), map.end (), [] (
const QString& str) {
return str.isEmpty (); })));
98 void StlizeTest::testRvalue ()
104 QCOMPARE (list, (QStringList {
"aaa",
"bbb",
"ccc" }));
107 void StlizeTest::testAnyOf ()
110 const bool hasBbb = std::any_of (stlized.begin (), stlized.end (),
111 [] (
const auto& pair) {
return pair.second ==
"bbb"; });
113 QCOMPARE (hasBbb,
true);
121 for (
int i = 0; i < 1500000; ++i)
127 void StlizeTest::benchmarkPlain ()
129 const auto& map = GetBigMap ();
131 volatile int sum = 0;
132 for (
auto value : map)
137 void StlizeTest::benchmarkStlized ()
139 const auto& map = GetBigMap ();
141 volatile int sum = 0;
143 sum = sum + pair.second;
auto Stlize(Assoc &&assoc)
Converts an Qt's associative sequence assoc to an STL-like iteratable range.