Statistics
| Revision:

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

History | View | Annotate | Download (2 kB)

1
#ifndef BOOST_ARCHIVE_BASIC_POINTER_ISERIALIZER_HPP
2
#define BOOST_ARCHIVE_BASIC_POINTER_ISERIALIZER_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_pointer_oserializer.hpp: extenstion of type_info required for 
11
// serialization.
12

    
13
// (C) Copyright 2002 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
#include <boost/config.hpp>
20
#include <boost/noncopyable.hpp>
21
#include <boost/archive/detail/auto_link_archive.hpp>
22
#include <boost/archive/detail/basic_serializer.hpp>
23

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

    
26
#ifdef BOOST_MSVC
27
#  pragma warning(push)
28
#  pragma warning(disable : 4511 4512)
29
#endif
30

    
31
namespace boost {
32
namespace serialization {
33
    class extended_type_info;
34
} // namespace serialization
35

    
36
// forward declarations
37
namespace archive {
38
namespace detail {
39

    
40
class basic_iarchive;
41
class basic_iserializer;
42

    
43
class BOOST_SYMBOL_VISIBLE basic_pointer_iserializer
44
    : public basic_serializer {
45
protected:
46
    explicit BOOST_ARCHIVE_DECL basic_pointer_iserializer(
47
        const boost::serialization::extended_type_info & type_
48
    );
49
    virtual BOOST_ARCHIVE_DECL ~basic_pointer_iserializer();
50
public:
51
    virtual void * heap_allocation() const = 0;
52
    virtual const basic_iserializer & get_basic_serializer() const = 0;
53
    virtual void load_object_ptr(
54
        basic_iarchive & ar, 
55
        void * x,
56
        const unsigned int file_version
57
    ) const = 0;
58
};
59

    
60
} // namespace detail
61
} // namespace archive
62
} // namespace boost
63

    
64
#ifdef BOOST_MSVC
65
#pragma warning(pop)
66
#endif
67

    
68
#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
69

    
70
#endif // BOOST_ARCHIVE_BASIC_POINTER_ISERIALIZER_HPP