2
0
mirror of https://github.com/boostorg/python.git synced 2026-01-22 17:32:55 +00:00

*** empty log message ***

[SVN r8152]
This commit is contained in:
Ullrich Köthe
2000-11-06 15:39:49 +00:00
parent 1088183bae
commit 367a827b8d

View File

@@ -87,6 +87,9 @@ class ExtensionClassBase : public Class<ExtensionInstance>
void* try_base_class_conversions(InstanceHolderBase*) const;
void* try_derived_class_conversions(InstanceHolderBase*) const;
void set_attribute(const char* name, PyObject* x_);
void set_attribute(const char* name, Ptr x);
private:
virtual void* extract_object_from_holder(InstanceHolderBase* v) const = 0;
virtual std::vector<py::detail::BaseClassInfo> const& base_classes() const = 0;
@@ -425,7 +428,11 @@ class ExtensionClass
detail::BaseClassInfo baseInfo(base,
&detail::DefineConversion<S, T>::downcast_ptr);
ClassRegistry<T>::register_base_class(baseInfo);
add_base(Ptr(as_object(base), Ptr::new_ref));
Class<ExtensionInstance>* target = (bases().size() == 0)
? this
: Downcast<Class<ExtensionInstance> >(bases()[0].get()).get();
target->add_base(Ptr(as_object(base), Ptr::new_ref));
detail::DerivedClassInfo derivedInfo(this,
&detail::DefineConversion<T, S>::upcast_ptr);
@@ -441,7 +448,11 @@ class ExtensionClass
// conversion functions
detail::BaseClassInfo baseInfo(base, 0);
ClassRegistry<T>::register_base_class(baseInfo);
add_base(Ptr(as_object(base), Ptr::new_ref));
Class<ExtensionInstance>* target = (bases().size() == 0)
? this
: Downcast<Class<ExtensionInstance> >(bases()[0].get()).get();
target->add_base(Ptr(as_object(base), Ptr::new_ref));
detail::DerivedClassInfo derivedInfo(this,
&detail::DefineConversion<T, S>::upcast_ptr);