Reason for having this in the first place is unknown. Several of the dev
agree there seems to be no reason to keep it and many to remove:
* The data RefCount points to is always dynamic
* The data pointed to is deleted with the last reference
* Its desirable to pass pointers around as const knowing that they will
not be changed to point at another object, but still manipulate the
data object itself.
bool operator !() const { return !p_; }
- C const * operator-> () const {return p_; }
+ C * operator-> () const {return const_cast<C *>(p_); }
- C * operator-> () {return const_cast<C *>(p_); }
-
- C const & operator * () const {return *p_; }
-
- C & operator * () {return *const_cast<C *>(p_); }
+ C & operator * () const {return *const_cast<C *>(p_); }
C const * getRaw() const {return p_; }