Ugly, not-to-be-pushed sucking in of all of Boost to get windows to work.
[dyninst.git] / external / boost / archive / detail / known_archive_types.hpp
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
24 namespace boost { 
25 namespace archive {
26
27 //    class text_oarchive;
28 namespace detail {
29
30 class null_type;
31
32 struct 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