Statistics
| Revision:

root / tmp / org.txm.statsengine.r.core.win32 / res / win32 / library / BH / include / boost / archive / detail / basic_serializer_map.hpp @ 2486

History | View | Annotate | Download (1.9 kB)

1
#ifndef  BOOST_SERIALIZER_MAP_HPP
2
#define BOOST_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
// basic_serializer_map.hpp: extenstion of type_info required for serialization.
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 <set>
20

    
21
#include <boost/config.hpp>
22
#include <boost/noncopyable.hpp>
23
#include <boost/archive/detail/auto_link_archive.hpp>
24

    
25
#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
26

    
27
namespace boost { 
28
namespace serialization {
29
    class extended_type_info;
30
}
31

    
32
namespace archive {
33
namespace detail {
34

    
35
class basic_serializer;
36

    
37
class BOOST_SYMBOL_VISIBLE
38
basic_serializer_map : public
39
    boost::noncopyable
40
{
41
    struct type_info_pointer_compare
42
    {
43
        bool operator()(
44
            const basic_serializer * lhs, const basic_serializer * rhs
45
        ) const ;
46
    };
47
    typedef std::set<
48
        const basic_serializer *, 
49
        type_info_pointer_compare
50
    > map_type;
51
    map_type m_map;
52
public:
53
    BOOST_ARCHIVE_DECL bool insert(const basic_serializer * bs);
54
    BOOST_ARCHIVE_DECL void erase(const basic_serializer * bs);
55
    BOOST_ARCHIVE_DECL const basic_serializer * find(
56
        const boost::serialization::extended_type_info & type_
57
    ) const;
58
private:
59
    // cw 8.3 requires this
60
    basic_serializer_map& operator=(basic_serializer_map const&);
61
};
62

    
63
} // namespace detail
64
} // namespace archive
65
} // namespace boost
66

    
67
#include <boost/archive/detail/abi_suffix.hpp> // must be the last header
68

    
69
#endif // BOOST_SERIALIZER_MAP_HPP