Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_34_1/boost/serialization/list.hpp @ 29

Last change on this file since 29 was 29, checked in by landauf, 16 years ago

updated boost from 1_33_1 to 1_34_1

File size: 2.1 KB
Line 
1#ifndef BOOST_SERIALIZATION_LIST_HPP
2#define BOOST_SERIALIZATION_LIST_HPP
3
4// MS compatible compilers support #pragma once
5#if defined(_MSC_VER) && (_MSC_VER >= 1020)
6# pragma once
7#endif
8
9/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
10// list.hpp: serialization for stl list templates
11
12// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
13// Use, modification and distribution is subject to the Boost Software
14// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
15// http://www.boost.org/LICENSE_1_0.txt)
16
17//  See http://www.boost.org for updates, documentation, and revision history.
18
19#include <list>
20
21#include <boost/config.hpp>
22
23#include <boost/serialization/collections_save_imp.hpp>
24#include <boost/serialization/collections_load_imp.hpp>
25#include <boost/serialization/split_free.hpp>
26
27namespace boost { 
28namespace serialization {
29
30template<class Archive, class U, class Allocator>
31inline void save(
32    Archive & ar,
33    const std::list<U, Allocator> &t,
34    const unsigned int /* file_version */
35){
36    boost::serialization::stl::save_collection<
37        Archive, 
38        std::list<U, Allocator> 
39    >(ar, t);
40}
41
42template<class Archive, class U, class Allocator>
43inline void load(
44    Archive & ar,
45    std::list<U, Allocator> &t,
46    const unsigned int /* file_version */
47){
48    boost::serialization::stl::load_collection<
49        Archive,
50        std::list<U, Allocator>,
51        boost::serialization::stl::archive_input_seq<
52            Archive, 
53            std::list<U, Allocator> 
54        >,
55        boost::serialization::stl::no_reserve_imp<std::list<U, Allocator> >
56    >(ar, t);
57}
58
59// split non-intrusive serialization function member into separate
60// non intrusive save/load member functions
61template<class Archive, class U, class Allocator>
62inline void serialize(
63    Archive & ar,
64    std::list<U, Allocator> & t,
65    const unsigned int file_version
66){
67    boost::serialization::split_free(ar, t, file_version);
68}
69
70} // serialization
71} // namespace boost
72
73#include <boost/serialization/collection_traits.hpp>
74
75BOOST_SERIALIZATION_COLLECTION_TRAITS(std::list)
76
77#endif // BOOST_SERIALIZATION_LIST_HPP
Note: See TracBrowser for help on using the repository browser.