From e7bfc59f5afea639ba02cb074d214012876524f1 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Fri, 3 Oct 2008 15:13:11 +0000 Subject: [PATCH] From Neil Groves, addition on a T* implicit output conversion method and removal of comparison methods that are replaced by the single conversion method. From Robert Osfield, optional compilation of above. --- include/osg/ref_ptr | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/include/osg/ref_ptr b/include/osg/ref_ptr index a18155e16..3c1ff2b93 100644 --- a/include/osg/ref_ptr +++ b/include/osg/ref_ptr @@ -55,6 +55,10 @@ class ref_ptr return *this; } +#ifdef OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION + // implicit output conversion + operator T*() const { return _ptr; } +#else // comparison operators for ref_ptr. bool operator == (const ref_ptr& rp) const { return (_ptr==rp._ptr); } bool operator == (const T* ptr) const { return (_ptr==ptr); } @@ -65,7 +69,8 @@ class ref_ptr friend bool operator != (const T* ptr, const ref_ptr& rp) { return (ptr!=rp._ptr); } bool operator < (const ref_ptr& rp) const { return (_ptr() const { return _ptr; } T* get() const { return _ptr; }