Ticket #6455: boost_foreach_qt_error_example.cpp

File boost_foreach_qt_error_example.cpp, 1.3 KB (added by alex@…, 8 years ago)

A test case for boost foreach's interplay with qt's foreach keyword

Line 
1#include <QCoreApplication>
2#include <Qt>
3#include <QDebug>
4
5#include <boost/shared_ptr.hpp>
6#include <string>
7#include <vector>
8#include <map>
9#include <boost/any.hpp>
10#include <boost/serialization/access.hpp>
11#include <boost/serialization/base_object.hpp>
12#include <boost/serialization/assume_abstract.hpp>
13#include <boost/serialization/extended_type_info_typeid.hpp>
14#include <boost/serialization/shared_ptr.hpp>
15#include <boost/serialization/export.hpp>
16#include <boost/serialization/map.hpp>
17#include <boost/serialization/string.hpp>
18#include <boost/serialization/vector.hpp>
19#include <boost/serialization/version.hpp>
20#include <boost/graph/adjacency_list.hpp>
21#include <boost/graph/adj_list_serialize.hpp>
22#include <boost/uuid/uuid.hpp>
23#include <numeric>
24#include <iostream>
25#include <QRectF>
26
27#include <boost/foreach.hpp>
28
29int main(int argc, char *argv[])
30{
31 QCoreApplication a(argc, argv);
32
33 std::vector<int> vecInts;
34 vecInts.push_back(1);
35 vecInts.push_back(2);
36 vecInts.push_back(3);
37 vecInts.push_back(4);
38 vecInts.push_back(5);
39
40 int total = 0;
41 BOOST_FOREACH(int i, std::make_pair(vecInts.begin(), vecInts.end()))
42 {
43 total += i;
44 }
45 qDebug() << "Boost total:" << total;
46
47 int total2 = 0;
48 foreach(int i, vecInts)
49 {
50 total2 += i;
51 }
52 qDebug() << "Qt total:" << total;
53
54 return a.exec();
55}