--- 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;