SCENE C++ API  2.1.0
lsreftype.h
1 #pragma once
2 
3 #include <core_api/lsglobaldefinitions.h>
4 #include <core_api/ref_ptr.h>
5 
6 namespace SCENE_API {
7 
11 class LSRefType
12 {
13  // ref_ptrs may be used for the automatic memory management of LSRefType
14  // derived classes. ref_ptrs are therefore allowed to access the internal
15  // reference counting methods.
16  template<class T> friend class ref_ptr;
17 
18 protected:
19  CORE_API_EXPORT LSRefType();
20  CORE_API_EXPORT virtual ~LSRefType();
21 
24  CORE_API_EXPORT void ref() const;
25 
29  CORE_API_EXPORT void unref() const;
30 
31 private:
32  mutable long m_refCount;
33 };
34 
35 }