forked from boostorg/type_traits
Mangle the names of internal classes so they're less likely to conflict with derived class names and members.
Fixes #4453. [SVN r64251]
This commit is contained in:
@ -37,37 +37,37 @@ template<typename Base, typename Derived>
|
||||
struct is_virtual_base_of_impl<Base, Derived, mpl::true_>
|
||||
{
|
||||
#ifdef __BORLANDC__
|
||||
struct X : public virtual Derived, public virtual Base
|
||||
struct boost_type_traits_internal_struct_X : public virtual Derived, public virtual Base
|
||||
{
|
||||
X();
|
||||
X(const X&);
|
||||
X& operator=(const X&);
|
||||
~X()throw();
|
||||
boost_type_traits_internal_struct_X();
|
||||
boost_type_traits_internal_struct_X(const boost_type_traits_internal_struct_X&);
|
||||
boost_type_traits_internal_struct_X& operator=(const boost_type_traits_internal_struct_X&);
|
||||
~boost_type_traits_internal_struct_X()throw();
|
||||
};
|
||||
struct Y : public virtual Derived
|
||||
struct boost_type_traits_internal_struct_Y : public virtual Derived
|
||||
{
|
||||
Y();
|
||||
Y(const Y&);
|
||||
Y& operator=(const Y&);
|
||||
~Y()throw();
|
||||
boost_type_traits_internal_struct_Y();
|
||||
boost_type_traits_internal_struct_Y(const boost_type_traits_internal_struct_Y&);
|
||||
boost_type_traits_internal_struct_Y& operator=(const boost_type_traits_internal_struct_Y&);
|
||||
~boost_type_traits_internal_struct_Y()throw();
|
||||
};
|
||||
#else
|
||||
struct X : Derived, virtual Base
|
||||
struct boost_type_traits_internal_struct_X : Derived, virtual Base
|
||||
{
|
||||
X();
|
||||
X(const X&);
|
||||
X& operator=(const X&);
|
||||
~X()throw();
|
||||
boost_type_traits_internal_struct_X();
|
||||
boost_type_traits_internal_struct_X(const boost_type_traits_internal_struct_X&);
|
||||
boost_type_traits_internal_struct_X& operator=(const boost_type_traits_internal_struct_X&);
|
||||
~boost_type_traits_internal_struct_X()throw();
|
||||
};
|
||||
struct Y : Derived
|
||||
struct boost_type_traits_internal_struct_Y : Derived
|
||||
{
|
||||
Y();
|
||||
Y(const Y&);
|
||||
Y& operator=(const Y&);
|
||||
~Y()throw();
|
||||
boost_type_traits_internal_struct_Y();
|
||||
boost_type_traits_internal_struct_Y(const boost_type_traits_internal_struct_Y&);
|
||||
boost_type_traits_internal_struct_Y& operator=(const boost_type_traits_internal_struct_Y&);
|
||||
~boost_type_traits_internal_struct_Y()throw();
|
||||
};
|
||||
#endif
|
||||
BOOST_STATIC_CONSTANT(bool, value = (sizeof(X)==sizeof(Y)));
|
||||
BOOST_STATIC_CONSTANT(bool, value = (sizeof(boost_type_traits_internal_struct_X)==sizeof(boost_type_traits_internal_struct_Y)));
|
||||
};
|
||||
|
||||
template<typename Base, typename Derived>
|
||||
|
Reference in New Issue
Block a user