ossrv_pub/boost_apis/boost/python/self.hpp
changeset 0 e4d67989cc36
equal deleted inserted replaced
-1:000000000000 0:e4d67989cc36
       
     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