Ticket #7269: container_vector_bug.cpp

File container_vector_bug.cpp, 711 bytes (added by Yechezkel Mett <ymett.on.boost@…>, 10 years ago)
Line 
1#include <iostream>
2#include <iterator>
3
4#include <boost/container/vector.hpp>
5#include <boost/iterator/transform_iterator.hpp>
6
7int identity(int i) { return i; }
8
9int main()
10{
11 const int numbers[5] = {1,2,3,4,5};
12
13 boost::container::vector<int> v1;
14 v1.insert(v1.end(), numbers, numbers + 5);
15
16 std::copy(v1.begin(), v1.end(), std::ostream_iterator<int>(std::cout, ","));
17 std::cout << '\n';
18
19 boost::container::vector<int> v2;
20 v2.reserve(5);
21 v2.insert(v2.end(), boost::make_transform_iterator(numbers, identity), boost::make_transform_iterator(numbers + 5, identity));
22
23 std::copy(v2.begin(), v2.end(), std::ostream_iterator<int>(std::cout, ","));
24 std::cout << '\n';
25
26 return 0;
27}