1 #ifndef BOOST_ARCHIVE_SERIALIZER_MAP_HPP
2 #define BOOST_ARCHIVE_SERIALIZER_MAP_HPP
3 
4 // MS compatible compilers support #pragma once
5 #if defined(_MSC_VER)
6 # pragma once
7 #endif
8 
9 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
10 // archive_serializer_map.hpp: extenstion of type_info required for
11 // serialization.
12 
13 // (C) Copyright 2009 Robert Ramey - http://www.rrsd.com .
14 // Use, modification and distribution is subject to the Boost Software
15 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
16 // http://www.boost.org/LICENSE_1_0.txt)
17 
18 //  See http://www.boost.org for updates, documentation, and revision history.
19 
20 // note: this is nothing more than the thinest of wrappers around
21 // basic_serializer_map so we can have a one map / archive type.
22 
23 #include <boost/config.hpp>
24 #include <boost/archive/detail/auto_link_archive.hpp>
25 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
26 
27 namespace boost {
28 
29 namespace serialization {
30     class extended_type_info;
31 } // namespace serialization
32 
33 namespace archive {
34 namespace detail {
35 
36 class basic_serializer;
37 
38 template<class Archive>
39 class BOOST_SYMBOL_VISIBLE archive_serializer_map {
40 public:
41     static BOOST_ARCHIVE_OR_WARCHIVE_DECL bool insert(const basic_serializer * bs);
42     static BOOST_ARCHIVE_OR_WARCHIVE_DECL void erase(const basic_serializer * bs);
43     static BOOST_ARCHIVE_OR_WARCHIVE_DECL const basic_serializer * find(
44         const boost::serialization::extended_type_info & type_
45     );
46 };
47 
48 } // namespace detail
49 } // namespace archive
50 } // namespace boost
51 
52 #include <boost/archive/detail/abi_suffix.hpp> // must be the last header
53 
54 #endif //BOOST_ARCHIVE_SERIALIZER_MAP_HPP
55