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
|
|
|