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" }));
112 for (
int i = 0; i < 1500000; ++i)
118 void StlizeTest::benchmarkPlain ()
120 const auto& map = GetBigMap ();
122 volatile int sum = 0;
123 for (
auto value : map)
128 void StlizeTest::benchmarkStlized ()
130 const auto& map = GetBigMap ();
132 volatile int sum = 0;
auto Stlize(Assoc &&assoc) -> detail::StlAssocRange< detail::Identity, detail::Identity, decltype(assoc.begin()), Assoc, PairType >
Converts an Qt's associative sequence assoc to an STL-like iteratable range.