]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/container/test/boost_iterator_comp_test.cpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / container / test / boost_iterator_comp_test.cpp
CommitLineData
1e59de90
TL
1#include <boost/iterator/transform_iterator.hpp>
2#include <boost/container/vector.hpp>
3#include <boost/container/list.hpp>
4#include <boost/container/slist.hpp>
5#include <boost/core/lightweight_test.hpp>
6
7using namespace boost::container;
8
9struct func
10{
11 typedef int result_type;
12 int operator()(const int i) const
13 { return i*2; }
14};
15
16int main()
17{
18 const std::size_t N = 10u;
19 func f;
20 slist<int>s(N);
21 list<int>l(N);
22 vector<int>v(N);
23
24 vector<int>v2;
25 v2.insert(v2.end(), boost::make_transform_iterator(s.begin(), f), boost::make_transform_iterator(s.end(), f));
26 v2.insert(v2.end(), boost::make_transform_iterator(l.begin(), f), boost::make_transform_iterator(l.end(), f));
27 v2.insert(v2.end(), boost::make_transform_iterator(v.begin(), f), boost::make_transform_iterator(v.end(), f));
28
29 v2.assign(boost::make_transform_iterator(s.begin(), f), boost::make_transform_iterator(s.end(), f));
30 v2.assign(boost::make_transform_iterator(l.begin(), f), boost::make_transform_iterator(l.end(), f));
31 v2.assign(boost::make_transform_iterator(v.begin(), f), boost::make_transform_iterator(v.end(), f));
32
33 {
34 //slist
35 boost::transform_iterator<func, slist<int>::iterator>
36 ti(s.begin()), ti2(s.end()), ti3(ti);
37 boost::intrusive::iterator_uadvance(ti3, v.size());
38 BOOST_TEST(ti3 == ti2);
39 }
40 {
41 //list
42 boost::transform_iterator<func, list<int>::iterator>
43 ti(l.begin()), ti2(l.end()), ti3(ti);
44 boost::intrusive::iterator_uadvance(ti3, v.size());
45 BOOST_TEST(ti3 == ti2);
46 }
47 {
48 //vector
49 boost::transform_iterator<func, vector<int>::iterator>
50 ti(v.begin()), ti2(v.end()), ti3(ti);
51 boost::intrusive::iterator_uadvance(ti3, v.size());
52 BOOST_TEST(ti3 == ti2);
53 }
54 return boost::report_errors();
55}
56