21 #ifndef ELM_UTIL_UNIQUEPTR_H
22 #define ELM_UTIL_UNIQUEPTR_H
34 inline bool isNull(
void)
const {
return !p; }
35 inline void clean(
void) {
if(p)
delete p; p = 0; }
36 inline T *
detach(
void) { T *res = p; p = 0;
return res; }
38 inline T *
get(
void)
const {
return p; }
42 inline operator T *(
void)
const {
return get(); }
Definition: UniquePtr.h:27
void set(T *ptr)
Definition: UniquePtr.h:37
T & operator*(void) const
Definition: UniquePtr.h:45
UniquePtr< T > & operator=(T *ptr)
Definition: UniquePtr.h:40
T * detach(void)
Definition: UniquePtr.h:36
T * operator->(void) const
Definition: UniquePtr.h:43
UniquePtr(T *ptr)
Definition: UniquePtr.h:30
void clean(void)
Definition: UniquePtr.h:35
UniquePtr(UniquePtr< T > &ptr)
Definition: UniquePtr.h:31
bool isNull(void) const
Definition: UniquePtr.h:34
UniquePtr(void)
Definition: UniquePtr.h:29
T * get(void) const
Definition: UniquePtr.h:38
UniquePtr< T > & operator=(UniquePtr< T > &ptr)
Definition: UniquePtr.h:41
~UniquePtr(void)
Definition: UniquePtr.h:32
Printable< T, M > p(const T &data, const M &man)
Definition: Output.h:302
UniquePtr< T > unique(T *p)
Definition: UniquePtr.h:51