/usr/include/boost/python/detail
Edit: /usr/include/boost/python/detail/borrowed_ptr.hpp (1697B)
#ifndef BORROWED_PTR_DWA20020601_HPP
# define BORROWED_PTR_DWA20020601_HPP
// 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
# include
# include
namespace boost { namespace python { namespace detail {
template class borrowed
{
typedef T type;
};
template
struct is_borrowed_ptr
{
BOOST_STATIC_CONSTANT(bool, value = false);
};
# if !defined(__MWERKS__) || __MWERKS__ > 0x3000
template
struct is_borrowed_ptr*>
{
BOOST_STATIC_CONSTANT(bool, value = true);
};
template
struct is_borrowed_ptr const*>
{
BOOST_STATIC_CONSTANT(bool, value = true);
};
template
struct is_borrowed_ptr volatile*>
{
BOOST_STATIC_CONSTANT(bool, value = true);
};
template
struct is_borrowed_ptr const volatile*>
{
BOOST_STATIC_CONSTANT(bool, value = true);
};
# else
template
struct is_borrowed
{
BOOST_STATIC_CONSTANT(bool, value = false);
};
template
struct is_borrowed >
{
BOOST_STATIC_CONSTANT(bool, value = true);
};
template
struct is_borrowed_ptr
: is_borrowed::type>
{
};
# endif
}
template
inline T* get_managed_object(detail::borrowed const volatile* p, tag_t)
{
return (T*)p;
}
}} // namespace boost::python::detail
#endif // #ifndef BORROWED_PTR_DWA20020601_HPP