| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- ///////////////////////////////////////////////////////////////////////////////////////////////////
- // OpenGL Image Copyright (c) 2008 - 2011 G-Truc Creation (www.g-truc.net)
- ///////////////////////////////////////////////////////////////////////////////////////////////////
- // Created : 2008-12-19
- // Updated : 2005-06-13
- // Licence : This source is under MIT License
- // File : gli/fetch.hpp
- ///////////////////////////////////////////////////////////////////////////////////////////////////
- #ifndef GLI_SHARED_PTR_INCLUDED
- #define GLI_SHARED_PTR_INCLUDED
- namespace gli
- {
- template <typename T>
- class shared_ptr
- {
- public:
- shared_ptr();
- shared_ptr(shared_ptr const & SmartPtr);
- shared_ptr(T* pPointer);
- ~shared_ptr();
- T& operator*();
- T* operator->();
- const T& operator*() const;
- const T* operator->() const;
- shared_ptr& operator=(shared_ptr const & SmartPtr);
- shared_ptr& operator=(T* pPointer);
- bool operator==(shared_ptr const & SmartPtr) const;
- bool operator!=(shared_ptr const & SmartPtr) const;
- private:
- int* m_pReference;
- T* m_pPointer;
- };
- }//namespace gli
- #include "shared_ptr.inl"
- #endif //GLI_SHARED_PTR_INCLUDED
|