1/* Boost.MultiIndex test for serialization, part 1.
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)
7 *
8 * See http://www.boost.org/libs/multi_index for library home page.
9 */
10
11#include "test_serialization1.hpp"
12#include "test_serialization_template.hpp"
13
14#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
15#include <boost/multi_index/ordered_index.hpp>
16#include <boost/multi_index/sequenced_index.hpp>
17#include <boost/multi_index/random_access_index.hpp>
18#include <boost/multi_index/key_extractors.hpp>
19#include "non_std_allocator.hpp"
20
21using namespace boost::multi_index;
22
23void test_serialization1()
24{
25 {
26 typedef multi_index_container<
27 int,
28 indexed_by<
29 sequenced<>,
30 sequenced<>,
31 random_access<>
32 >
33 > multi_index_t;
34
35 multi_index_t m;
36 for(int i=0;i<100;++i)m.push_back(x: i);
37 m.reverse();
38 test_serialization(m);
39
40 m.clear();
41 for(int j=50;j<100;++j)m.push_back(x: j);
42 for(int k=0;k<50;++k)m.push_back(x: k);
43 m.sort();
44 test_serialization(m);
45 }
46 {
47 typedef multi_index_container<
48 int,
49 indexed_by<
50 random_access<>,
51 sequenced<>,
52 ordered_non_unique<identity<int> >
53 >,
54 non_std_allocator<int>
55 > multi_index_t;
56
57 multi_index_t m;
58 for(int i=0;i<100;++i){
59 m.push_back(x: i);
60 m.push_back(x: i);
61 m.push_back(x: i);
62 }
63 m.reverse();
64 test_serialization(m);
65 }
66}
67

source code of boost/libs/multi_index/test/test_serialization1.cpp