Ticket #12595: bug.cpp

File bug.cpp, 692 bytes (added by Alfredo Altamirano <fredy.altamirano8@…>, 6 years ago)

C++ code reproducing the code.

Line 
1#include <boost/range/adaptor/transformed.hpp>
2#include <boost/range/adaptor/type_erased.hpp>
3#include <iostream>
4#include <vector>
5
6using namespace boost::adaptors;
7using namespace std;
8
9int addOne(int b) {
10 return b + 1;
11}
12
13int main(int, char**) {
14 vector<int> nums{ 1, 2, 3 };
15
16 auto result1 = nums | transformed(addOne) | type_erased<int, boost::forward_traversal_tag>();
17 auto result2 = nums | transformed(addOne);
18 auto result3 = nums | type_erased<int, boost::forward_traversal_tag>();
19
20 for (auto n : result1)
21 cout << n << " ";
22 cout << endl;
23
24 for (auto n : result2)
25 cout << n << " ";
26 cout << endl;
27
28 for (auto n : result3)
29 cout << n << " ";
30 cout << endl;
31}