// Copyright David Abrahams 2002. Permission to copy, use, // modify, sell and distribute this software is granted provided this // copyright notice appears in all copies. This software is provided // "as is" without express or implied warranty, and with no claim as // to its suitability for any purpose. #include #include #include using namespace boost::python; template void assert_borrowed_ptr(T const& x) { BOOST_STATIC_ASSERT(boost::python::detail::is_borrowed_ptr::value); } template void assert_not_borrowed_ptr(T const& x) { 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; }