/usr/include/boost/python/detail
NameSizeModeActions
aix_init_module.hpp7400644editdlrm
api_placeholder.hpp5040644editdlrm
borrowed_ptr.hpp16970644editdlrm
caller.hpp85900644editdlrm
config.hpp44570644editdlrm
construct.hpp9750644editdlrm
convertible.hpp12300644editdlrm
copy_ctor_mutates_rhs.hpp5800644editdlrm
cv_category.hpp10380644editdlrm
dealloc.hpp5430644editdlrm
decorated_type_id.hpp24510644editdlrm
decref_guard.hpp5720644editdlrm
defaults_def.hpp91660644editdlrm
defaults_gen.hpp200650644editdlrm
def_helper.hpp65310644editdlrm
def_helper_fwd.hpp5750644editdlrm
dependent.hpp9490644editdlrm
destroy.hpp14910644editdlrm
enable_if.hpp9270644editdlrm
exception_handler.hpp12640644editdlrm
force_instantiate.hpp5760644editdlrm
if_else.hpp13930644editdlrm
indirect_traits.hpp4900644editdlrm
invoke.hpp36720644editdlrm
is_auto_ptr.hpp6630644editdlrm
is_shared_ptr.hpp6830644editdlrm
is_wrapper.hpp8390644editdlrm
is_xxx.hpp4440644editdlrm
make_keyword_range_fn.hpp25410644editdlrm
make_tuple.hpp10390644editdlrm
map_entry.hpp10250644editdlrm
mpl_lambda.hpp4480644editdlrm
msvc_typeinfo.hpp22170644editdlrm
none.hpp5970644editdlrm
not_specified.hpp4310644editdlrm
nullary_function_adaptor.hpp17680644editdlrm
operator_id.hpp10640644editdlrm
overloads_fwd.hpp6090644editdlrm
pointee.hpp7910644editdlrm
prefix.hpp6230644editdlrm
preprocessor.hpp23590644editdlrm
python_type.hpp9360644editdlrm
raw_pyobject.hpp11000644editdlrm
referent_storage.hpp19800644editdlrm
result.hpp42070644editdlrm
scope.hpp5190644editdlrm
sfinae.hpp4210644editdlrm
signature.hpp31360644editdlrm
string_literal.hpp12680644editdlrm
target.hpp29720644editdlrm
translate_exception.hpp21950644editdlrm
type_list.hpp12620644editdlrm
type_list_impl.hpp18260644editdlrm
type_traits.hpp33300644editdlrm
unwind_type.hpp48850644editdlrm
unwrap_type_id.hpp7060644editdlrm
unwrap_wrapper.hpp8840644editdlrm
value_arg.hpp7270644editdlrm
value_is_shared_ptr.hpp8100644editdlrm
value_is_xxx.hpp15540644editdlrm
void_ptr.hpp9820644editdlrm
void_return.hpp9800644editdlrm
wrapper_base.hpp20720644editdlrm
wrap_python.hpp65400644editdlrm
Edit: /usr/include/boost/python/detail/wrapper_base.hpp (2072B)
// Copyright David Abrahams 2004. 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 WRAPPER_BASE_DWA2004722_HPP # define WRAPPER_BASE_DWA2004722_HPP # include # include namespace boost { namespace python { class override; namespace detail { class wrapper_base; namespace wrapper_base_ // ADL disabler { inline PyObject* get_owner(wrapper_base const volatile& w); inline PyObject* owner_impl(void const volatile* /*x*/, detail::false_) { return 0; } template inline PyObject* owner_impl(T const volatile* x, detail::true_); template inline PyObject* owner(T const volatile* x) { return wrapper_base_::owner_impl(x,is_polymorphic()); } } class BOOST_PYTHON_DECL wrapper_base { friend void initialize_wrapper(PyObject* self, wrapper_base* w); friend PyObject* wrapper_base_::get_owner(wrapper_base const volatile& w); protected: wrapper_base() : m_self(0) {} override get_override( char const* name, PyTypeObject* class_object) const; private: void detach(); private: PyObject* m_self; }; namespace wrapper_base_ // ADL disabler { template inline PyObject* owner_impl(T const volatile* x, detail::true_) { if (wrapper_base const volatile* w = dynamic_cast(x)) { return wrapper_base_::get_owner(*w); } return 0; } inline PyObject* get_owner(wrapper_base const volatile& w) { return w.m_self; } } inline void initialize_wrapper(PyObject* self, wrapper_base* w) { w->m_self = self; } inline void initialize_wrapper(PyObject* /*self*/, ...) {} } // namespace detail }} // namespace boost::python #endif // WRAPPER_BASE_DWA2004722_HPP