build on MSC 2005

This commit is contained in:
David Rose 2007-02-08 20:14:52 +00:00
parent 63edecf517
commit c1091e7b4a
8 changed files with 22 additions and 17 deletions

View File

@ -83,7 +83,7 @@ operator -> () const {
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
template<class T> template<class T>
INLINE NodePointerTo<T>:: INLINE NodePointerTo<T>::
operator TYPENAME NodePointerToBase<T>::To *() const { operator T *() const {
return (To *)(this->_void_ptr); return (To *)(this->_void_ptr);
} }
@ -205,7 +205,7 @@ operator -> () const {
template<class T> template<class T>
INLINE NodeConstPointerTo<T>:: INLINE NodeConstPointerTo<T>::
operator const TYPENAME NodePointerToBase<T>::To *() const { operator const T * () const {
return (To *)(this->_void_ptr); return (To *)(this->_void_ptr);
} }

View File

@ -39,7 +39,9 @@ public:
INLINE To &operator *() const; INLINE To &operator *() const;
INLINE To *operator -> () const; INLINE To *operator -> () const;
INLINE operator TYPENAME NodePointerToBase<T>::To *() const;
// MSVC.NET 2005 insists that we use T *, and not To *, here.
INLINE operator T *() const;
INLINE To *p() const; INLINE To *p() const;
@ -64,7 +66,7 @@ public:
INLINE const To &operator *() const; INLINE const To &operator *() const;
INLINE const To *operator -> () const; INLINE const To *operator -> () const;
INLINE operator const TYPENAME NodePointerToBase<T>::To *() const; INLINE operator const T *() const;
INLINE const To *p() const; INLINE const To *p() const;

View File

@ -83,7 +83,7 @@ operator -> () const {
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
template<class T> template<class T>
INLINE PointerTo<T>:: INLINE PointerTo<T>::
operator TYPENAME PointerToBase<T>::To *() const { operator T * () const {
return (To *)(this->_void_ptr); return (To *)(this->_void_ptr);
} }
@ -205,8 +205,8 @@ operator -> () const {
template<class T> template<class T>
INLINE ConstPointerTo<T>:: INLINE ConstPointerTo<T>::
operator const TYPENAME PointerToBase<T>::To *() const { operator const T * () const {
return (To *)(this->_void_ptr); return (To *)(this->_void_ptr);
} }
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////

View File

@ -90,7 +90,8 @@ PUBLISHED:
public: public:
INLINE To &operator *() const; INLINE To &operator *() const;
INLINE To *operator -> () const; INLINE To *operator -> () const;
INLINE operator TYPENAME PointerToBase<T>::To *() const; // MSVC.NET 2005 insists that we use T *, and not To *, here.
INLINE operator T *() const;
PUBLISHED: PUBLISHED:
// When downcasting to a derived class from a PointerTo<BaseClass>, // When downcasting to a derived class from a PointerTo<BaseClass>,
@ -148,7 +149,7 @@ PUBLISHED:
public: public:
INLINE const To &operator *() const; INLINE const To &operator *() const;
INLINE const To *operator -> () const; INLINE const To *operator -> () const;
INLINE operator const TYPENAME PointerToBase<T>::To *() const; INLINE operator const T *() const;
PUBLISHED: PUBLISHED:
INLINE const To *p() const; INLINE const To *p() const;

View File

@ -83,7 +83,7 @@ operator -> () const {
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
template<class T> template<class T>
INLINE ThreadSafePointerTo<T>:: INLINE ThreadSafePointerTo<T>::
operator TYPENAME ThreadSafePointerToBase<T>::To *() const { operator T * () const {
return (To *)AtomicAdjust::get_ptr(this->_void_ptr); return (To *)AtomicAdjust::get_ptr(this->_void_ptr);
} }
@ -205,7 +205,7 @@ operator -> () const {
template<class T> template<class T>
INLINE ThreadSafeConstPointerTo<T>:: INLINE ThreadSafeConstPointerTo<T>::
operator const TYPENAME ThreadSafePointerToBase<T>::To *() const { operator const T * () const {
return (To *)AtomicAdjust::get_ptr(this->_void_ptr); return (To *)AtomicAdjust::get_ptr(this->_void_ptr);
} }

View File

@ -42,7 +42,8 @@ PUBLISHED:
public: public:
INLINE To &operator *() const; INLINE To &operator *() const;
INLINE To *operator -> () const; INLINE To *operator -> () const;
INLINE operator TYPENAME ThreadSafePointerToBase<T>::To *() const; // MSVC.NET 2005 insists that we use T *, and not To *, here.
INLINE operator T *() const;
PUBLISHED: PUBLISHED:
// When downcasting to a derived class from a ThreadSafePointerTo<BaseClass>, // When downcasting to a derived class from a ThreadSafePointerTo<BaseClass>,
@ -89,7 +90,7 @@ PUBLISHED:
public: public:
INLINE const To &operator *() const; INLINE const To &operator *() const;
INLINE const To *operator -> () const; INLINE const To *operator -> () const;
INLINE operator const TYPENAME ThreadSafePointerToBase<T>::To *() const; INLINE operator const T *() const;
PUBLISHED: PUBLISHED:
INLINE const To *p() const; INLINE const To *p() const;

View File

@ -87,7 +87,7 @@ operator -> () const {
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
template<class T> template<class T>
INLINE WeakPointerTo<T>:: INLINE WeakPointerTo<T>::
operator TYPENAME WeakPointerToBase<T>::To *() const { operator T * () const {
nassertr(!this->was_deleted(), (To *)NULL); nassertr(!this->was_deleted(), (To *)NULL);
return (To *)WeakPointerToBase<T>::_void_ptr; return (To *)WeakPointerToBase<T>::_void_ptr;
} }
@ -251,7 +251,7 @@ operator -> () const {
template<class T> template<class T>
INLINE WeakConstPointerTo<T>:: INLINE WeakConstPointerTo<T>::
operator const TYPENAME WeakPointerToBase<T>::To *() const { operator const T * () const {
nassertr(!this->was_deleted(), (To *)NULL); nassertr(!this->was_deleted(), (To *)NULL);
return (To *)WeakPointerToBase<T>::_void_ptr; return (To *)WeakPointerToBase<T>::_void_ptr;
} }

View File

@ -44,7 +44,8 @@ PUBLISHED:
public: public:
INLINE To &operator *() const; INLINE To &operator *() const;
INLINE To *operator -> () const; INLINE To *operator -> () const;
INLINE operator TYPENAME WeakPointerToBase<T>::To *() const; // MSVC.NET 2005 insists that we use T *, and not To *, here.
INLINE operator T *() const;
PUBLISHED: PUBLISHED:
INLINE To *p() const; INLINE To *p() const;
@ -82,7 +83,7 @@ PUBLISHED:
public: public:
INLINE const To &operator *() const; INLINE const To &operator *() const;
INLINE const To *operator -> () const; INLINE const To *operator -> () const;
INLINE operator const TYPENAME WeakPointerToBase<T>::To *() const; INLINE operator const T *() const;
PUBLISHED: PUBLISHED:
INLINE const To *p() const; INLINE const To *p() const;