Lines Matching defs:unique_ptr
90 struct unique_ptr struct
92 using element_type = T;
94 using v = vtable<T>;
96 explicit unique_ptr (T *p = nullptr) : p (p) {} in unique_ptr() function
98 unique_ptr (unique_ptr &&o) noexcept : p (o.p) { o.p = nullptr; } in unique_ptr() argument
100 …tr& operator = (unique_ptr &&o) noexcept { v::destroy (p); p = o.p; o.p = nullptr; return *this; } in operator =()
101 ~unique_ptr () { v::destroy (p); p = nullptr; } in ~unique_ptr()
103 T* get() const { return p; } in get()
104 T* release () { T* v = p; p = nullptr; return v; } in release()
106 void swap (unique_ptr &o) noexcept { std::swap (p, o.p); } in swap()
109 operator T * () const { return p; } in operator T*()
110 T& operator * () const { return *get (); } in operator *()
111 T* operator -> () const { return get (); } in operator ->()
112 operator bool () { return p; } in operator bool()
115 T *p;