mirror of
https://github.com/boostorg/python.git
synced 2026-01-23 17:52:17 +00:00
merged from trunk
[SVN r31394]
This commit is contained in:
@@ -30,6 +30,10 @@
|
||||
# include <boost/mpl/for_each.hpp>
|
||||
# include <boost/mpl/placeholders.hpp>
|
||||
# include <boost/mpl/single_view.hpp>
|
||||
|
||||
# include <boost/mpl/assert.hpp>
|
||||
# include <boost/type_traits/is_same.hpp>
|
||||
|
||||
# include <boost/type_traits/is_convertible.hpp>
|
||||
|
||||
# include <boost/noncopyable.hpp>
|
||||
@@ -49,6 +53,8 @@ struct register_base_of
|
||||
template <class Base>
|
||||
inline void operator()(Base*) const
|
||||
{
|
||||
BOOST_MPL_ASSERT_NOT((is_same<Base,Derived>));
|
||||
|
||||
// Register the Base class
|
||||
register_dynamic_id<Base>();
|
||||
|
||||
@@ -58,7 +64,7 @@ struct register_base_of
|
||||
// Register the down-cast, if appropriate.
|
||||
this->register_downcast((Base*)0, is_polymorphic<Base>());
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
static inline void register_downcast(void*, mpl::false_) {}
|
||||
|
||||
@@ -186,7 +192,7 @@ struct class_metadata
|
||||
, mpl::if_<
|
||||
use_value_holder
|
||||
, value_holder<T>
|
||||
, pointer_holder<held_type,T>
|
||||
, pointer_holder<held_type,wrapped>
|
||||
>
|
||||
>::type holder;
|
||||
|
||||
@@ -253,6 +259,8 @@ struct class_metadata
|
||||
//
|
||||
inline static void maybe_register_callback_class(void*, mpl::false_) {}
|
||||
|
||||
inline static void maybe_register_callback_class(wrapped*, mpl::true_) {}
|
||||
|
||||
template <class T2>
|
||||
inline static void maybe_register_callback_class(T2*, mpl::true_)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user