You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
		
		
		
		
		
			
		
			
				
					
					
						
							48 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							48 lines
						
					
					
						
							1.3 KiB
						
					
					
				/////////////////////////////////////////////////////////////////////////////////////////////////// | 
						|
// 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/shared_array.hpp | 
						|
/////////////////////////////////////////////////////////////////////////////////////////////////// | 
						|
 | 
						|
#ifndef GLI_SHARED_ARRAY_INCLUDED | 
						|
#define GLI_SHARED_ARRAY_INCLUDED | 
						|
 | 
						|
namespace gli | 
						|
{ | 
						|
    template <typename T> | 
						|
    class shared_array | 
						|
    { | 
						|
    public: | 
						|
 | 
						|
        shared_array(); | 
						|
        shared_array(shared_array const & SharedArray); | 
						|
		shared_array(T * Pointer); | 
						|
        virtual ~shared_array(); | 
						|
 | 
						|
		void reset(); | 
						|
		void reset(T * Pointer); | 
						|
 | 
						|
        T & operator*(); | 
						|
        T * operator->(); | 
						|
        T const & operator*() const; | 
						|
        T const * const operator->() const; | 
						|
 | 
						|
		T * get(); | 
						|
		T const * const get() const; | 
						|
 | 
						|
        shared_array & operator=(shared_array const & SharedArray); | 
						|
	    bool operator==(shared_array const & SharedArray) const; | 
						|
	    bool operator!=(shared_array const & SharedArray) const; | 
						|
 | 
						|
    private: | 
						|
        int * Counter; | 
						|
        T * Pointer; | 
						|
    }; | 
						|
}//namespace gli | 
						|
 | 
						|
#include "shared_array.inl" | 
						|
 | 
						|
#endif //GLI_SHARED_ARRAY_INCLUDED
 | 
						|
 |