/usr/include/boost/python
Edit: /usr/include/boost/python/object_operators.hpp (4494B)
// 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)
#ifndef OBJECT_OPERATORS_DWA2002617_HPP
# define OBJECT_OPERATORS_DWA2002617_HPP
# include
# include
# include
# include
# include
# include
namespace boost { namespace python { namespace api {
template
char is_object_operators_helper(object_operators const*);
typedef char (&no_type)[2];
no_type is_object_operators_helper(...);
template X* make_ptr();
template
struct is_object_operators
{
enum {
value
= (sizeof(api::is_object_operators_helper(api::make_ptr()))
+ sizeof(api::is_object_operators_helper(api::make_ptr()))
< 4
)
};
typedef mpl::bool_ type;
};
# if !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_IS_CONVERTIBLE)
template
struct enable_binary
: boost::iterators::enable_if, T>
{};
# define BOOST_PYTHON_BINARY_RETURN(T) typename enable_binary::type
# else
# define BOOST_PYTHON_BINARY_RETURN(T) T
# endif
template
object object_operators::operator()() const
{
object_cref2 f = *static_cast(this);
return call