FotoSHOCK
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
ConstPtr.hpp
1 #ifndef CONSTPTR_H
2 #define CONSTPTR_H
3 
4 // TODO: doc
5 template <typename T>
6 class ConstPtr {
7  public:
8  explicit ConstPtr(T * t) : p(t)
9  {}
10 
11  ~ConstPtr() {
12  delete p;
13  }
14 
15  const T & operator*() const {
16  return *p;
17  }
18  T & operator*() {
19  return *p;
20  }
21 
22  const T * operator->() const {
23  return p;
24  }
25  T * operator->() {
26  return p;
27  }
28  private:
29  T* p;
30 };
31 
32 #endif