2
0
mirror of https://github.com/boostorg/python.git synced 2026-01-26 18:52:26 +00:00

work-around for MIPSpro 7.3.1.3 problems that avoids #ifdef

[SVN r14085]
This commit is contained in:
Ralf W. Grosse-Kunstleve
2002-06-05 23:47:18 +00:00
parent 266954be99
commit e2b4178f42
2 changed files with 12 additions and 16 deletions

View File

@@ -72,9 +72,7 @@ template <
>
class class_ : public objects::class_base
{
#if defined(__EDG_VERSION__) && (__EDG_VERSION__ <= 238)
typedef objects::class_base class_base;
#endif
typedef objects::class_base base;
typedef class_<T,X1,X2,X3> self;
BOOST_STATIC_CONSTANT(bool, is_copyable = (!detail::has_noncopyable<X1,X2,X3>::value));
@@ -234,7 +232,7 @@ class class_ : public objects::class_base
//
template <class T, class X1, class X2, class X3>
inline class_<T,X1,X2,X3>::class_()
: class_base(typeid(T).name(), id_vector::size, id_vector().ids)
: base(typeid(T).name(), id_vector::size, id_vector().ids)
{
// register converters
objects::register_class_from_python<T,bases>();
@@ -247,7 +245,7 @@ inline class_<T,X1,X2,X3>::class_()
template <class T, class X1, class X2, class X3>
inline class_<T,X1,X2,X3>::class_(char const* name)
: class_base(name, id_vector::size, id_vector().ids)
: base(name, id_vector::size, id_vector().ids)
{
// register converters
objects::register_class_from_python<T,bases>();
@@ -262,21 +260,21 @@ inline class_<T,X1,X2,X3>::class_(char const* name)
template <class T, class X1, class X2, class X3>
inline class_<T,X1,X2,X3>& class_<T,X1,X2,X3>::add_property(char const* name, ref const& fget)
{
class_base::add_property(name, fget);
base::add_property(name, fget);
return *this;
}
template <class T, class X1, class X2, class X3>
inline class_<T,X1,X2,X3>& class_<T,X1,X2,X3>::add_property(char const* name, ref const& fget, ref const& fset)
{
class_base::add_property(name, fget, fset);
base::add_property(name, fget, fset);
return *this;
}
template <class T, class X1, class X2, class X3>
inline class_<T,X1,X2,X3>& class_<T,X1,X2,X3>::setattr(char const* name, ref const& x)
{
class_base::setattr(name, x);
base::setattr(name, x);
return *this;
}

View File

@@ -19,12 +19,10 @@ namespace boost { namespace python {
class module : public detail::module_base
{
public:
#if defined(__EDG_VERSION__) && (__EDG_VERSION__ <= 238)
typedef detail::module_base module_base;
#endif
typedef detail::module_base base;
module(const char* name)
: module_base(name) {}
: base(name) {}
// Add elements to the module
module& setattr(const char* name, PyObject*);
@@ -60,25 +58,25 @@ class module : public detail::module_base
//
inline module& module::setattr(const char* name, PyObject* x)
{
this->module_base::setattr(name, x);
this->base::setattr(name, x);
return *this;
}
inline module& module::setattr(const char* name, PyTypeObject* x)
{
this->module_base::setattr(name, (PyObject*)x);
this->base::setattr(name, (PyObject*)x);
return *this;
}
inline module& module::setattr(const char* name, ref const& x)
{
this->module_base::setattr(name, x);
this->base::setattr(name, x);
return *this;
}
inline module& module::add(PyTypeObject* x)
{
this->module_base::add(x);
this->base::add(x);
return *this;
}