|
|
@@ -14,8 +14,12 @@ template<typename Type>
|
|
|
class RsrcPtr
|
|
|
{
|
|
|
public:
|
|
|
+ /// Default constructor
|
|
|
RsrcPtr(): p(NULL) {}
|
|
|
|
|
|
+ /// Copy constructor
|
|
|
+ RsrcPtr(const RsrcPtr& a);
|
|
|
+
|
|
|
/// It unloads the resource or it decreases its reference counter
|
|
|
~RsrcPtr() {unload();}
|
|
|
|
|
|
@@ -30,9 +34,6 @@ class RsrcPtr
|
|
|
Type* get() const {return p;}
|
|
|
|
|
|
private:
|
|
|
- /// Non copyable
|
|
|
- RsrcPtr(const RsrcPtr& a);
|
|
|
-
|
|
|
/// Unloads the resource @see loadRsrc
|
|
|
void unload();
|
|
|
|
|
|
@@ -44,6 +45,14 @@ class RsrcPtr
|
|
|
// Inlines =
|
|
|
//======================================================================================================================
|
|
|
|
|
|
+template<typename Type>
|
|
|
+RsrcPtr<Type>::RsrcPtr(const RsrcPtr& a):
|
|
|
+ p(a.p)
|
|
|
+{
|
|
|
+ ++p->referenceCounter;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
template<typename Type>
|
|
|
Type& RsrcPtr<Type>::operator*() const
|
|
|
{
|