1 //  (C) Copyright John Maddock 2003.
2 //  Use, modification and distribution are subject to the
3 //  Boost Software License, Version 1.0. (See accompanying file
4 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 
6 //  See http://www.boost.org/libs/config for the most recent version.
7 
8 
9 #ifndef BOOST_ABI_TEST_HPP
10 #define BOOST_ABI_TEST_HPP
11 
12 #include <boost/config.hpp>
13 #include <boost/cstdint.hpp>
14 
15 #ifdef BOOST_HAS_ABI_HEADERS
16 #include BOOST_ABI_PREFIX
17 #endif
18 
19 //
20 // the following class is designed to break if the ABI
21 // it's compiled with does not match that of the client
22 // calling it....
23 //
24 
25 struct empty{};
26 
27 class abi_test : protected empty
28 {
29 private:
30    empty e;
31    char c;
32    boost::int32_t i;
33 public:
inline_one() const34    inline char inline_one()const
35    { return c; }
inline_two() const36    inline boost::int32_t inline_two()const
37    { return i; }
38 
39    virtual char virtual_one()const;
40    virtual boost::int32_t virtual_two()const;
41 
42    abi_test();
43 };
44 
45 
46 
47 #ifdef BOOST_HAS_ABI_HEADERS
48 #include BOOST_ABI_SUFFIX
49 #endif
50 
51 #endif // BOOST_ABI_TEST_HPP
52 
53 
54 
55