src/core/ptr.h
changeset 543 a730800a31d5
parent 542 00722b9a01b3
child 544 cbc4158d47c9
--- a/src/core/ptr.h	Tue May 08 11:44:04 2007 -0400
+++ b/src/core/ptr.h	Wed May 09 13:26:21 2007 -0400
@@ -72,7 +72,8 @@
   Ptr (Ptr<U> const &o);
   ~Ptr () ;
   Ptr<T> &operator = (Ptr const& o);
-  T const& operator * () const;
+  T const& Peek () const;
+  T * Get () const;
   T *operator -> () const;
   T *operator -> ();
   // allow if (!sp)
@@ -172,12 +173,20 @@
 
 template <typename T>
 T const& 
-Ptr<T>::operator * () const
+Ptr<T>::Peek () const
 {
   return *m_ptr;
 }
 
 template <typename T>
+T * 
+Ptr<T>::Get () const
+{
+  m_ptr->Ref();
+  return m_ptr;
+}
+
+template <typename T>
 T *
 Ptr<T>::operator -> () 
 {
@@ -219,7 +228,7 @@
     }
   else
     {
-      NS_ASSERT (m_ptr->IsSingle());
+      //NS_ASSERT (m_ptr->IsSingle());
       T *retval = m_ptr;
       m_ptr = 0;
       return retval;