Lines Matching refs:__opt
383 _LIBCPP_CONSTEXPR_AFTER_CXX17 void __construct_from(_That&& __opt)
385 if (__opt.has_value())
386 __construct(_VSTD::forward<_That>(__opt).__get());
391 _LIBCPP_CONSTEXPR_AFTER_CXX17 void __assign_from(_That&& __opt)
393 if (this->__engaged_ == __opt.has_value())
396 this->__val_ = _VSTD::forward<_That>(__opt).__get();
403 __construct(_VSTD::forward<_That>(__opt).__get());
476 _LIBCPP_CONSTEXPR_AFTER_CXX17 void __construct_from(_That&& __opt)
478 if (__opt.has_value())
479 __construct(_VSTD::forward<_That>(__opt).__get());
484 _LIBCPP_CONSTEXPR_AFTER_CXX17 void __assign_from(_That&& __opt)
486 if (has_value() == __opt.has_value())
489 *__value_ = _VSTD::forward<_That>(__opt).__get();
496 __construct(_VSTD::forward<_That>(__opt).__get());
516 _LIBCPP_CONSTEXPR_AFTER_CXX17 __optional_copy_base(const __optional_copy_base& __opt)
518 this->__construct_from(__opt);
547 _LIBCPP_CONSTEXPR_AFTER_CXX17 __optional_move_base(__optional_move_base&& __opt)
550 this->__construct_from(_VSTD::move(__opt));
581 …STEXPR_AFTER_CXX17 __optional_copy_assign_base& operator=(const __optional_copy_assign_base& __opt)
583 this->__assign_from(__opt);
609 __optional_move_assign_base(const __optional_move_assign_base& __opt) = default;
616 …P_CONSTEXPR_AFTER_CXX17 __optional_move_assign_base& operator=(__optional_move_assign_base&& __opt)
620 this->__assign_from(_VSTD::move(__opt));
918 _LIBCPP_CONSTEXPR_AFTER_CXX17 void swap(optional& __opt)
922 if (this->has_value() == __opt.has_value())
926 swap(this->__get(), __opt.__get());
932 __opt.__construct(_VSTD::move(this->__get()));
937 this->__construct(_VSTD::move(__opt.__get()));
938 __opt.reset();
1580 size_t operator()(const optional<_Tp>& __opt) const
1582 return static_cast<bool>(__opt) ? hash<remove_const_t<_Tp>>()(*__opt) : 0;