45 return { { 0,
"aaa" }, { 1,
"bbb" }, { 2,
"ccc" }};
49 void PreludeTest::testMapList ()
52 const auto& otherList =
Map (list, [] (
int v) {
return QString::number (v); });
54 QCOMPARE (otherList, (QStringList {
"1",
"2",
"3" }));
57 void PreludeTest::testMapMap ()
59 const auto& map = GetSimpleMap ();
60 const auto& otherList =
Map (map, [] (
const QString& v) {
return v.size (); });
62 QCOMPARE (otherList, (
QList<int> { 3, 3, 3 }));
65 void PreludeTest::testMapStringList ()
67 const QStringList list {
"aaa",
"bbb",
"ccc" };
68 const auto& result =
Map (list, [] (
const QString& s) {
return s.size (); });
73 void PreludeTest::testMapMapStlized ()
75 const auto& map = GetSimpleMap ();
76 const auto& list =
Map (
Stlize (map), [] (
const std::pair<int, QString>& pair) {
return pair.second; });
78 QCOMPARE (list, QStringList { map.values () });
81 void PreludeTest::testMapMember ()
89 const QList<Test> tests { { 1, 2 }, { 2, 4 }, { 3, 6 } };
90 const auto& ints =
Map (tests, &Test::m_a);
95 void PreludeTest::testMapMemberFunction ()
108 const auto& ints =
Map (tests, &Test::GetA);
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.
auto Map(Container &&c, F f)