]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/multi_index/test/test_serialization2.cpp
1 /* Boost.MultiIndex test for serialization, part 2.
3 * Copyright 2003-2008 Joaquin M Lopez Munoz.
4 * Distributed under the Boost Software License, Version 1.0.
5 * (See accompanying file LICENSE_1_0.txt or copy at
6 * http://www.boost.org/LICENSE_1_0.txt)
8 * See http://www.boost.org/libs/multi_index for library home page.
11 #include "test_serialization2.hpp"
12 #include "test_serialization_template.hpp"
14 #include <boost/multi_index/ordered_index.hpp>
15 #include <boost/multi_index/sequenced_index.hpp>
16 #include <boost/multi_index/random_access_index.hpp>
17 #include <boost/multi_index/key_extractors.hpp>
18 #include "non_std_allocator.hpp"
19 #include "pair_of_ints.hpp"
21 using namespace boost::multi_index
;
23 void test_serialization2()
26 typedef multi_index_container
<
30 BOOST_MULTI_INDEX_MEMBER(pair_of_ints
,int,first
)
33 BOOST_MULTI_INDEX_MEMBER(pair_of_ints
,int,second
)
38 non_std_allocator
<pair_of_ints
>
42 test_serialization(m
);
44 m
.insert(pair_of_ints(4,0));
45 test_serialization(m
);
47 m
.insert(pair_of_ints(3,1));
48 m
.insert(pair_of_ints(2,1));
49 test_serialization(m
);
51 m
.insert(pair_of_ints(1,1));
52 test_serialization(m
);
54 m
.insert(pair_of_ints(0,0));
55 test_serialization(m
);
57 m
.insert(pair_of_ints(5,1));
58 m
.insert(pair_of_ints(7,1));
59 m
.insert(pair_of_ints(6,1));
60 test_serialization(m
);
62 m
.insert(pair_of_ints(8,1));
63 m
.insert(pair_of_ints(9,1));
64 m
.insert(pair_of_ints(12,1));
65 m
.insert(pair_of_ints(11,1));
66 m
.insert(pair_of_ints(10,1));
67 test_serialization(m
);
69 /* testcase for bug reported at
70 * http://lists.boost.org/boost-users/2006/05/19362.php
74 m
.insert(pair_of_ints(0,0));
75 m
.insert(pair_of_ints(1,0));
76 m
.insert(pair_of_ints(2,1));
77 m
.insert(pair_of_ints(4,2));
78 m
.insert(pair_of_ints(3,2));
79 test_serialization(m
);