Blame view

3rdparty/boost_1_81_0/libs/python/test/upcast.cpp 565 Bytes
73ef4ff3   Hu Chunming   提交三方库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  // Copyright David Abrahams 2002.
  // Distributed under the Boost Software License, Version 1.0. (See
  // accompanying file LICENSE_1_0.txt or copy at
  // http://www.boost.org/LICENSE_1_0.txt)
  
  #include <boost/python/cast.hpp>
  #include <boost/detail/lightweight_test.hpp>
  
  struct X { long x; };
  struct Y : X, PyObject {};
  
  int main()
  {
      PyTypeObject o;
      Y y;
      BOOST_TEST(&Py_REFCNT(boost::python::upcast<PyObject>(&o)) == &Py_REFCNT(&o));
      BOOST_TEST(&Py_REFCNT(boost::python::upcast<PyObject>(&y)) == &Py_REFCNT(&y));
      return boost::report_errors();
  }