42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| ///////////////////////////////////////////////////////////////////////////////////////////////////
 | |
| // 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
 | 
