1 | // Copyright David Abrahams 2002. |
2 | // Distributed under the Boost Software License, Version 1.0. (See |
3 | // accompanying file LICENSE_1_0.txt or copy at |
4 | // http://www.boost.org/LICENSE_1_0.txt) |
5 | #ifndef SELF_DWA2002531_HPP |
6 | # define SELF_DWA2002531_HPP |
7 | |
8 | # include <boost/python/detail/prefix.hpp> |
9 | |
10 | namespace boost { namespace python { |
11 | |
12 | #define BOOST_PYTHON_SELF_IS_CLASS |
13 | |
14 | // Sink self_t into its own namespace so that we have a safe place to |
15 | // put the completely general operator templates which operate on |
16 | // it. It is possible to avoid this, but it turns out to be much more |
17 | // complicated and finally GCC 2.95.2 chokes on it. |
18 | namespace self_ns |
19 | { |
20 | # ifndef BOOST_PYTHON_SELF_IS_CLASS |
21 | enum self_t { self }; |
22 | # else |
23 | struct self_t {}; |
24 | extern BOOST_PYTHON_DECL self_t self; |
25 | # endif |
26 | } |
27 | |
28 | using self_ns::self_t; |
29 | using self_ns::self; |
30 | |
31 | }} // namespace boost::python |
32 | |
33 | #endif // SELF_DWA2002531_HPP |
34 | |