+++ /dev/null
-// PRMS ID: 7507
-// Build don't link:
-
-/* ------------------------------------------------------------ */
-
-class Base0
-{
-public:
- Base0() {}
- virtual ~Base0() {}
-};
-
-class Base1
-{
-public:
- Base1() {}
- virtual ~Base1() {}
-};
-
-class Derived : public Base0, public Base1
-{
-public:
- Derived() {}
- virtual ~Derived() {}
-};
-
-/* ------------------------------------------------------------ */
-
-class Dummy
-{
- public:
- Dummy(Base0 * theBase) {}
- ~Dummy() {}
-};
-
-/* ------------------------------------------------------------ */
-
-template<class T>
-class ConstSmartPtr
-{
- T* myItem; // private
-
- public:
- ConstSmartPtr(T const* theItem);
-
- operator T const*() const
- { return myItem; }
- protected:
- T* _item() const
- { return myItem; }
-};
-
-template<class T>
-class SmartPtr : public ConstSmartPtr<T>
-{
- public:
- SmartPtr(T* theItem)
- : ConstSmartPtr<T>(theItem) {}
-
- T* item() const
- { return _item(); }
-
- operator T*() const
- { return _item(); }
-};
-
-/* ------------------------------------------------------------ */
-
-void
-function()
-{
- SmartPtr<Derived> myObj = new Derived();
-
- Dummy th1(myObj); // Doesn't work under Cygnus
- Dummy th2((Base0 *) myObj); // Doesn't work either
-}
-
-/* ------------------------------------------------------------ */