source: NonGTP/Boost/boost/archive/detail/known_archive_types.hpp @ 857

Revision 857, 3.4 KB checked in by igarcia, 18 years ago (diff)
Line 
1#ifndef BOOST_ARCHIVE_KNOWN_ARCHIVE_TYPES_HPP
2#define BOOST_ARCHIVE_KNOWN_ARCHIVE_TYPES_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// known_archive_types.hpp: set traits of classes to be serialized
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// list of archive type shipped with the serialization system
20
21#include <boost/mpl/list.hpp>
22#include <boost/mpl/pop_front.hpp>
23
24namespace boost {
25namespace archive {
26
27//    class text_oarchive;
28namespace detail {
29
30class null_type;
31
32struct known_archive_types {
33    typedef
34        mpl::pop_front<
35            mpl::list<
36                null_type
37                #if defined(BOOST_ARCHIVE_TEXT_OARCHIVE_HPP)
38                    , boost::archive::text_oarchive
39                #endif
40                #if defined(BOOST_ARCHIVE_TEXT_IARCHIVE_HPP)
41                    , boost::archive::text_iarchive
42                #endif
43                #if defined(BOOST_ARCHIVE_TEXT_WOARCHIVE_HPP)
44                    , boost::archive::text_woarchive
45                #endif
46                #if defined(BOOST_ARCHIVE_TEXT_WIARCHIVE_HPP)
47                    , boost::archive::text_wiarchive
48                #endif
49                #if defined(BOOST_ARCHIVE_BINARY_OARCHIVE_HPP)
50                    , boost::archive::binary_oarchive
51                #endif
52                #if defined(BOOST_ARCHIVE_BINARY_IARCHIVE_HPP)
53                    , boost::archive::binary_iarchive
54                #endif
55                #if defined(BOOST_ARCHIVE_BINARY_WOARCHIVE_HPP)
56                    , boost::archive::binary_woarchive
57                #endif
58                #if defined(BOOST_ARCHIVE_BINARY_WIARCHIVE_HPP)
59                    , boost::archive::binary_wiarchive
60                #endif
61                #if defined(BOOST_ARCHIVE_XML_OARCHIVE_HPP)
62                    , boost::archive::xml_oarchive
63                #endif
64                #if defined(BOOST_ARCHIVE_XML_IARCHIVE_HPP)
65                    , boost::archive::xml_iarchive
66                #endif
67                #if defined(BOOST_ARCHIVE_XML_WOARCHIVE_HPP)
68                    , boost::archive::xml_woarchive
69                #endif
70                #if defined(BOOST_ARCHIVE_XML_WIARCHIVE_HPP)
71                    , boost::archive::xml_wiarchive
72                #endif
73                #if defined(BOOST_ARCHIVE_POLYMORPHIC_OARCHIVE_HPP)
74                    , boost::archive::polymorphic_oarchive
75                #endif
76                #if defined(BOOST_ARCHIVE_POLYMORPHIC_IARCHIVE_HPP)
77                    , boost::archive::polymorphic_iarchive
78                #endif
79                #if defined(BOOST_ARCHIVE_CUSTOM_IARCHIVE_TYPES)
80                    , BOOST_ARCHIVE_CUSTOM_IARCHIVE_TYPES
81                #endif
82                #if defined(BOOST_ARCHIVE_CUSTOM_OARCHIVE_TYPES)
83                    , BOOST_ARCHIVE_CUSTOM_OARCHIVE_TYPES
84                #endif
85            >::type
86        >::type type;
87};
88
89} // namespace detail
90} // namespace archive
91} // namespace boost
92
93#endif // BOOST_ARCHIVE_KNOWN_ARCHIVE_TYPES_HPP
Note: See TracBrowser for help on using the repository browser.