// 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 #include #include using namespace boost::python; template void assert_borrowed_ptr(T const&) { BOOST_STATIC_ASSERT(boost::python::detail::is_borrowed_ptr::value); } template void assert_not_borrowed_ptr(T const&) { BOOST_STATIC_ASSERT(!boost::python::detail::is_borrowed_ptr::value); } int main() { assert_borrowed_ptr(borrowed((PyObject*)0)); assert_borrowed_ptr(borrowed((PyTypeObject*)0)); assert_borrowed_ptr((detail::borrowed const*)0); assert_borrowed_ptr((detail::borrowed volatile*)0); assert_borrowed_ptr((detail::borrowed const volatile*)0); assert_not_borrowed_ptr((PyObject*)0); assert_not_borrowed_ptr(0); return 0; }