Home | History | Annotate | Download | only in bits

Lines Matching refs:unique_ptr

0 // unique_ptr implementation -*- C++ -*-
25 /** @file bits/unique_ptr.h
86 /// 20.7.12.2 unique_ptr for single objects.
88 class unique_ptr
114 constexpr unique_ptr() noexcept
120 unique_ptr(pointer __p) noexcept
125 unique_ptr(pointer __p,
130 unique_ptr(pointer __p,
136 constexpr unique_ptr(nullptr_t) noexcept
142 unique_ptr(unique_ptr&& __u) noexcept
147 <std::is_convertible<typename unique_ptr<_Up, _Ep>::pointer,
155 unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
164 unique_ptr(auto_ptr<_Up>&& __u) noexcept
169 ~unique_ptr() noexcept
178 unique_ptr&
179 operator=(unique_ptr&& __u) noexcept
188 <std::is_convertible<typename unique_ptr<_Up, _Ep>::pointer,
191 unique_ptr&
192 operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
199 unique_ptr&
255 swap(unique_ptr& __u) noexcept
262 unique_ptr(const unique_ptr&) = delete;
263 unique_ptr& operator=(const unique_ptr&) = delete;
266 /// 20.7.12.3 unique_ptr for array objects with a runtime length
271 class unique_ptr<_Tp[], _Dp>
282 constexpr unique_ptr() noexcept
288 unique_ptr(pointer __p) noexcept
293 unique_ptr(pointer __p,
298 unique_ptr(pointer __p, typename
304 constexpr unique_ptr(nullptr_t) noexcept
310 unique_ptr(unique_ptr&& __u) noexcept
314 unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
319 ~unique_ptr()
328 unique_ptr&
329 operator=(unique_ptr&& __u) noexcept
337 unique_ptr&
338 operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
345 unique_ptr&
407 swap(unique_ptr& __u) noexcept
414 unique_ptr(const unique_ptr&) = delete;
415 unique_ptr& operator=(const unique_ptr&) = delete;
420 unique_ptr(_Up*, typename
427 unique_ptr(_Up*, typename std::remove_reference<deleter_type>::type&&,
433 unique_ptr(_Up*, typename std::enable_if<std::is_convertible<_Up*,
439 swap(unique_ptr<_Tp, _Dp>& __x,
440 unique_ptr<_Tp, _Dp>& __y) noexcept
446 operator==(const unique_ptr<_Tp, _Dp>& __x,
447 const unique_ptr<_Up, _Ep>& __y)
452 operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
457 operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
463 operator!=(const unique_ptr<_Tp, _Dp>& __x,
464 const unique_ptr<_Up, _Ep>& __y)
469 operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
474 operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
480 operator<(const unique_ptr<_Tp, _Dp>& __x,
481 const unique_ptr<_Up, _Ep>& __y)
484 std::common_type<typename unique_ptr<_Tp, _Dp>::pointer,
485 typename unique_ptr<_Up, _Ep>::pointer>::type _CT;
491 operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
492 { return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(),
497 operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
498 { return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr,
504 operator<=(const unique_ptr<_Tp, _Dp>& __x,
505 const unique_ptr<_Up, _Ep>& __y)
510 operator<=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
515 operator<=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
521 operator>(const unique_ptr<_Tp, _Dp>& __x,
522 const unique_ptr<_Up, _Ep>& __y)
527 operator>(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
528 { return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr,
533 operator>(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
534 { return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(),
540 operator>=(const unique_ptr<_Tp, _Dp>& __x,
541 const unique_ptr<_Up, _Ep>& __y)
546 operator>=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
551 operator>=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
554 /// std::hash specialization for unique_ptr.
556 struct hash<unique_ptr<_Tp, _Dp>>
557 : public __hash_base<size_t, unique_ptr<_Tp, _Dp>>
560 operator()(const unique_ptr<_Tp, _Dp>& __u) const noexcept
562 typedef unique_ptr<_Tp, _Dp> _UP;