From ec05778d5718a7912e506764d443a78d6a6179e3 Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Mon, 5 Nov 2012 22:41:51 +0000 Subject: Converted tabs to spaces with tabconv. --- src/stable/sptr.h | 422 +++++++++++++++++++++++++++--------------------------- 1 file changed, 211 insertions(+), 211 deletions(-) (limited to 'src/stable/sptr.h') diff --git a/src/stable/sptr.h b/src/stable/sptr.h index 58ea223..6a9c340 100644 --- a/src/stable/sptr.h +++ b/src/stable/sptr.h @@ -13,217 +13,217 @@ namespace Bu { - template class SPtr; - template< typename Tb, typename Ta > SPtr SPtrCast( SPtr src ); - - /** - *@ingroup Containers - */ - template - class SPtr - { - template - friend SPtr SPtrCast( SPtr pt ); - public: - SPtr() : - pRefCnt( NULL ), - pData( NULL ) - { - } - - ~SPtr() - { - decCount(); - } - - SPtr( const SPtr &src ) : - pRefCnt( src.pRefCnt ), - pData( src.pData ) - { - if( pRefCnt ) - (*pRefCnt) += 1; - } - - SPtr( T *pSrc ) : - pRefCnt( NULL ), - pData( pSrc ) - { - if( pData ) - { - pRefCnt = new int32_t; - (*pRefCnt) = 1; - } - } - - /** - * Get the number of references to this pointer. - *@returns (int32_t) The number of references to this pointer. - */ - int32_t getRefCount() const - { - return *pRefCnt; - } - - void clear() - { - decCount(); - pRefCnt = NULL; - pData = NULL; - } - - /** - * Pointer access operator. - *@returns (const T *) - */ - const T *operator->() const - { - return pData; - } - - /** - * Dereference operator. - *@returns (const T &) The value at the end of the pointer. - */ - const T &operator*() const - { - return *pData; - } - - /** - * Pointer access operator. - *@returns (T *) - */ - T *operator->() - { - return pData; - } - - /** - * Dereference operator. - *@returns (T &) The value at the end of the pointer. - */ - T &operator*() - { - return *pData; - } - - /** - * Assignment operator. - *@param src (const SPtr &) - */ - SPtr operator=( const SPtr &src ) - { - decCount(); - pRefCnt = src.pRefCnt; - pData = src.pData; - if( pRefCnt ) - (*pRefCnt) += 1; - - return *this; - } - - /** - * Assignment operator. - *@param src (const SPtr &) - */ - const SPtr operator=( const SPtr &src ) const - { - decCount(); - pRefCnt = src.pRefCnt; - pData = src.pData; - if( pRefCnt ) - (*pRefCnt) += 1; - - return *this; - } - - /** - * Equals comparison operator. - *@param src (const SPtr &) The SPtr to compare to. - *@returns (bool) Are the equal? - */ - bool operator==( const SPtr &src ) const - { - return pData == src.pData; - } - - /** - * Equals comparison operator. - *@param src (const T *) The pointer to compare to. - *@returns (bool) Are the equal? - */ - bool operator==( const T *src ) const - { - return pData == src; - } - - /** - * Not equals comparison operator. - *@param src (const SPtr &) The SPtr to compare to. - *@returns (bool) Are the equal? - */ - bool operator!=( const SPtr &src ) const - { - return !(pData == src.pData); - } - - /** - * Not equals comparison operator. - *@param src (const T *) The pointer to compare to. - *@returns (bool) Are the equal? - */ - bool operator!=( const T *src ) const - { - return !(pData == src); - } - - /** - * Boolean cast operator. Do we have a pointer? - */ - operator bool() const - { - return pRefCnt != NULL; - } - - /** - * Do we have a pointer? - *@returns (bool) Do we have a pointer? - */ - bool isSet() const - { - return pRefCnt != NULL; - } - - private: - void decCount() const - { - if( pRefCnt ) - { - (*pRefCnt) -= 1; - //printf("Decrementing ref-count to %d\n", *pRefCnt ); - if( (*pRefCnt) == 0 ) - { - delete pRefCnt; - delete pData; - pRefCnt = NULL; - pData = NULL; - } - } - } - - mutable int32_t *pRefCnt; - mutable T *pData; - }; - - template< typename Tb, typename Ta > SPtr SPtrCast( SPtr src ) - { - SPtr ret; - ret.pRefCnt = src.pRefCnt; - ret.pData = dynamic_cast(src.pData); - if( ret.pRefCnt ) - (*(ret.pRefCnt)) += 1; - return ret; - } + template class SPtr; + template< typename Tb, typename Ta > SPtr SPtrCast( SPtr src ); + + /** + *@ingroup Containers + */ + template + class SPtr + { + template + friend SPtr SPtrCast( SPtr pt ); + public: + SPtr() : + pRefCnt( NULL ), + pData( NULL ) + { + } + + ~SPtr() + { + decCount(); + } + + SPtr( const SPtr &src ) : + pRefCnt( src.pRefCnt ), + pData( src.pData ) + { + if( pRefCnt ) + (*pRefCnt) += 1; + } + + SPtr( T *pSrc ) : + pRefCnt( NULL ), + pData( pSrc ) + { + if( pData ) + { + pRefCnt = new int32_t; + (*pRefCnt) = 1; + } + } + + /** + * Get the number of references to this pointer. + *@returns (int32_t) The number of references to this pointer. + */ + int32_t getRefCount() const + { + return *pRefCnt; + } + + void clear() + { + decCount(); + pRefCnt = NULL; + pData = NULL; + } + + /** + * Pointer access operator. + *@returns (const T *) + */ + const T *operator->() const + { + return pData; + } + + /** + * Dereference operator. + *@returns (const T &) The value at the end of the pointer. + */ + const T &operator*() const + { + return *pData; + } + + /** + * Pointer access operator. + *@returns (T *) + */ + T *operator->() + { + return pData; + } + + /** + * Dereference operator. + *@returns (T &) The value at the end of the pointer. + */ + T &operator*() + { + return *pData; + } + + /** + * Assignment operator. + *@param src (const SPtr &) + */ + SPtr operator=( const SPtr &src ) + { + decCount(); + pRefCnt = src.pRefCnt; + pData = src.pData; + if( pRefCnt ) + (*pRefCnt) += 1; + + return *this; + } + + /** + * Assignment operator. + *@param src (const SPtr &) + */ + const SPtr operator=( const SPtr &src ) const + { + decCount(); + pRefCnt = src.pRefCnt; + pData = src.pData; + if( pRefCnt ) + (*pRefCnt) += 1; + + return *this; + } + + /** + * Equals comparison operator. + *@param src (const SPtr &) The SPtr to compare to. + *@returns (bool) Are the equal? + */ + bool operator==( const SPtr &src ) const + { + return pData == src.pData; + } + + /** + * Equals comparison operator. + *@param src (const T *) The pointer to compare to. + *@returns (bool) Are the equal? + */ + bool operator==( const T *src ) const + { + return pData == src; + } + + /** + * Not equals comparison operator. + *@param src (const SPtr &) The SPtr to compare to. + *@returns (bool) Are the equal? + */ + bool operator!=( const SPtr &src ) const + { + return !(pData == src.pData); + } + + /** + * Not equals comparison operator. + *@param src (const T *) The pointer to compare to. + *@returns (bool) Are the equal? + */ + bool operator!=( const T *src ) const + { + return !(pData == src); + } + + /** + * Boolean cast operator. Do we have a pointer? + */ + operator bool() const + { + return pRefCnt != NULL; + } + + /** + * Do we have a pointer? + *@returns (bool) Do we have a pointer? + */ + bool isSet() const + { + return pRefCnt != NULL; + } + + private: + void decCount() const + { + if( pRefCnt ) + { + (*pRefCnt) -= 1; + //printf("Decrementing ref-count to %d\n", *pRefCnt ); + if( (*pRefCnt) == 0 ) + { + delete pRefCnt; + delete pData; + pRefCnt = NULL; + pData = NULL; + } + } + } + + mutable int32_t *pRefCnt; + mutable T *pData; + }; + + template< typename Tb, typename Ta > SPtr SPtrCast( SPtr src ) + { + SPtr ret; + ret.pRefCnt = src.pRefCnt; + ret.pData = dynamic_cast(src.pData); + if( ret.pRefCnt ) + (*(ret.pRefCnt)) += 1; + return ret; + } } #endif -- cgit v1.2.3