]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/serialization/test/A.hpp
b14e32b7dd2f95009ca18b1e9b0c25958f4625a2
[ceph.git] / ceph / src / boost / libs / serialization / test / A.hpp
1 #ifndef BOOST_SERIALIZATION_TEST_A_HPP
2 #define BOOST_SERIALIZATION_TEST_A_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 // A.hpp simple class test
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 <ostream> // for friend output operators
20 #include <cstddef> // size_t
21 #include <boost/config.hpp>
22
23 #if defined(BOOST_NO_STDC_NAMESPACE)
24 namespace std{
25 using ::size_t;
26 }
27 #endif
28
29 #include <boost/limits.hpp>
30 #include <boost/cstdint.hpp>
31
32 #include <boost/serialization/access.hpp>
33 #include <boost/serialization/string.hpp>
34
35 #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
36 #if defined(A_IMPORT)
37 #define A_DLL_DECL BOOST_SYMBOL_IMPORT
38 #pragma message("A imported")
39 #elif defined(A_EXPORT)
40 #define A_DLL_DECL BOOST_SYMBOL_EXPORT
41 #pragma message ("A exported")
42 #endif
43 #endif
44
45 #ifndef A_DLL_DECL
46 #define A_DLL_DECL
47 #endif
48
49 class A_DLL_DECL A {
50 private:
51 friend class boost::serialization::access;
52 template<class Archive>
53 void serialize(
54 Archive &ar,
55 const unsigned int /* file_version */
56 );
57 bool b;
58 #ifndef BOOST_NO_INT64_T
59 boost::int64_t f;
60 boost::uint64_t g;
61 #endif
62 enum h {
63 i = 0,
64 j,
65 k
66 } l;
67 std::size_t m;
68 signed long n;
69 unsigned long o;
70 signed short p;
71 unsigned short q;
72 #ifndef BOOST_NO_CWCHAR
73 wchar_t r;
74 #endif
75 char c;
76 signed char s;
77 unsigned char t;
78 signed int u;
79 unsigned int v;
80 float w;
81 double x;
82 std::string y;
83 #ifndef BOOST_NO_STD_WSTRING
84 std::wstring z;
85 #endif
86 public:
87 A();
88 bool check_equal(const A &rhs) const;
89 bool operator==(const A &rhs) const;
90 bool operator!=(const A &rhs) const;
91 bool operator<(const A &rhs) const; // used by less
92 // hash function for class A
93 operator std::size_t () const;
94 friend std::ostream & operator<<(std::ostream & os, A const & a);
95 };
96
97 #endif // BOOST_SERIALIZATION_TEST_A_HPP