Lines Matching refs:Optional

49 class Optional;  variable
331 std::is_constructible<T, Optional<U>&>::value ||
332 std::is_constructible<T, const Optional<U>&>::value ||
333 std::is_constructible<T, Optional<U>&&>::value ||
334 std::is_constructible<T, const Optional<U>&&>::value ||
335 std::is_convertible<Optional<U>&, T>::value ||
336 std::is_convertible<const Optional<U>&, T>::value ||
337 std::is_convertible<Optional<U>&&, T>::value ||
338 std::is_convertible<const Optional<U>&&, T>::value> {};
345 std::is_assignable<T&, Optional<U>&>::value ||
346 std::is_assignable<T&, const Optional<U>&>::value ||
347 std::is_assignable<T&, Optional<U>&&>::value ||
348 std::is_assignable<T&, const Optional<U>&&>::value> {};
414 class OPTIONAL_DECLSPEC_EMPTY_BASES Optional
427 constexpr Optional() = default;
428 constexpr Optional(const Optional& other) = default;
429 constexpr Optional(Optional&& other) noexcept(
432 constexpr Optional(nullopt_t) {} // NOLINT(runtime/explicit)
444 Optional(const Optional<U>& other) : internal::OptionalBase<T>(other) {}
452 explicit Optional(const Optional<U>& other)
463 Optional(Optional<U>&& other) : internal::OptionalBase<T>(std::move(other)) {}
471 explicit Optional(Optional<U>&& other)
475 constexpr explicit Optional(in_place_t, Args&&... args)
484 constexpr explicit Optional(in_place_t,
496 !std::is_same<internal::RemoveCvRefT<U>, Optional<T>>::value &&
499 constexpr Optional(U&& value)
507 !std::is_same<internal::RemoveCvRefT<U>, Optional<T>>::value &&
510 constexpr explicit Optional(U&& value)
513 ~Optional() = default;
516 Optional& operator=(const Optional& other) = default;
517 Optional& operator=(Optional&& other) noexcept(
521 Optional& operator=(nullopt_t) {
529 !std::is_same<internal::RemoveCvRefT<U>, Optional<T>>::value &&
534 Optional&>::type
545 Optional&>::type
546 operator=(const Optional<U>& other) {
556 Optional&>::type
557 operator=(Optional<U>&& other) {
634 void swap(Optional& other) {
688 bool operator==(const Optional<T>& lhs, const Optional<U>& rhs) {
697 bool operator!=(const Optional<T>& lhs, const Optional<U>& rhs) {
706 bool operator<(const Optional<T>& lhs, const Optional<U>& rhs) {
715 bool operator<=(const Optional<T>& lhs, const Optional<U>& rhs) {
724 bool operator>(const Optional<T>& lhs, const Optional<U>& rhs) {
733 bool operator>=(const Optional<T>& lhs, const Optional<U>& rhs) {
742 constexpr bool operator==(const Optional<T>& opt, nullopt_t) {
747 constexpr bool operator==(nullopt_t, const Optional<T>& opt) {
752 constexpr bool operator!=(const Optional<T>& opt, nullopt_t) {
757 constexpr bool operator!=(nullopt_t, const Optional<T>& opt) {
762 constexpr bool operator<(const Optional<T>&, nullopt_t) {
767 constexpr bool operator<(nullopt_t, const Optional<T>& opt) {
772 constexpr bool operator<=(const Optional<T>& opt, nullopt_t) {
777 constexpr bool operator<=(nullopt_t, const Optional<T>&) {
782 constexpr bool operator>(const Optional<T>& opt, nullopt_t) {
787 constexpr bool operator>(nullopt_t, const Optional<T>&) {
792 constexpr bool operator>=(const Optional<T>&, nullopt_t) {
797 constexpr bool operator>=(nullopt_t, const Optional<T>& opt) {
802 constexpr bool operator==(const Optional<T>& opt, const U& value) {
807 constexpr bool operator==(const U& value, const Optional<T>& opt) {
812 constexpr bool operator!=(const Optional<T>& opt, const U& value) {
817 constexpr bool operator!=(const U& value, const Optional<T>& opt) {
822 constexpr bool operator<(const Optional<T>& opt, const U& value) {
827 constexpr bool operator<(const U& value, const Optional<T>& opt) {
832 constexpr bool operator<=(const Optional<T>& opt, const U& value) {
837 constexpr bool operator<=(const U& value, const Optional<T>& opt) {
842 constexpr bool operator>(const Optional<T>& opt, const U& value) {
847 constexpr bool operator>(const U& value, const Optional<T>& opt) {
852 constexpr bool operator>=(const Optional<T>& opt, const U& value) {
857 constexpr bool operator>=(const U& value, const Optional<T>& opt) {
862 constexpr Optional<typename std::decay<T>::type> make_optional(T&& value) {
863 return Optional<typename std::decay<T>::type>(std::forward<T>(value));
867 constexpr Optional<T> make_optional(Args&&... args) {
868 return Optional<T>(in_place, std::forward<Args>(args)...);
872 constexpr Optional<T> make_optional(std::initializer_list<U> il,
874 return Optional<T>(in_place, il, std::forward<Args>(args)...);
884 swap(Optional<T>& lhs, Optional<T>& rhs) {
894 struct hash<perfetto::base::Optional<T>> {
895 size_t operator()(const perfetto::base::Optional<T>& opt) const {