DJI Onboard SDK  4.0
dji_singleton.hpp
Go to the documentation of this file.
1 
29 #ifndef SINGLETON_H
30 #define SINGLETON_H
31 
32 namespace DJI
33 {
34 namespace OSDK
35 {
36 
37 template <class T>
38 class Singleton
39 {
40 public:
41  typedef T type;
42 
43 protected:
44  Singleton();
45 
46 public:
47  virtual ~Singleton()
48  {
49  }
50 
51 public:
52  static T& instance();
53  static T* instancePTR();
54 
55 protected:
56  static T* singleInstance;
57 }; // class Singleton<T>
58 
59 // template implementation
60 template <class T>
61 Singleton<T>::Singleton()
62 {
63 }
64 
65 template <class T>
66 T&
67 Singleton<T>::instance()
68 {
69  return *Singleton<T>::singleInstance;
70 }
71 
72 template <class T>
73 T*
74 Singleton<T>::instancePTR()
75 {
76  return Singleton<T>::singleInstance;
77 }
78 
79 template <class T>
80 T* Singleton<T>::singleInstance = new T();
81 
82 } // namespace OSDK
83 } // namespace DJI
84 
85 #endif // SINGLETON_H
handle array of characters
Definition: commondatarangehandler.h:14