Loading...
Searching...
No Matches
Go to the documentation of this file.
4#ifndef _smart_pointer_h_
5#define _smart_pointer_h_
12# define SMART_POINTER_SUPPORT(T) \
17# define plm_shared_ptr std::shared_ptr
19# define SMART_POINTER_SUPPORT(T) \
22 typedef plm_shared_ptr<Self> Pointer; \
23 static typename T::Pointer New () { \
24 return T::Pointer (new T); \
26 static typename T::Pointer New (T* t) { \
27 return T::Pointer (t); \
30 > static typename T::Pointer New ( \
35 template<class U1, class U2 \
36 > static typename T::Pointer New ( \
37 const U1& u1, const U2& u2) { \
41 template<class U1, class U2, class U3 \
42 > static typename T::Pointer New ( \
43 const U1& u1, const U2& u2, const U3& u3) { \
47 template<class U1, class U2, class U3, \
48 class U4, class U5, class U6 \
49 > static typename T::Pointer New ( \
50 const U1& u1, const U2& u2, const U3& u3, \
51 const U4& u4, const U5& u5, const U6& u6) { \
53 new T(u1, u2, u3, u4, u5, u6)); \