Lines Matching defs:Optional

64 // base::Optional is a Chromium version of the C++17 optional class:
78 class Optional {
82 constexpr Optional() = default;
83 Optional(base::nullopt_t) : Optional() {}
85 Optional(const Optional& other) {
90 Optional(Optional&& other) {
95 Optional(const T& value) { Init(value); }
97 Optional(T&& value) { Init(std::move(value)); }
100 explicit Optional(base::in_place_t, Args&&... args) {
104 ~Optional() = default;
106 Optional& operator=(base::nullopt_t) {
111 Optional& operator=(const Optional& other) {
121 Optional& operator=(Optional&& other) {
133 Optional&>::type
214 void swap(Optional& other) {
285 constexpr bool operator==(const Optional<T>& lhs, const Optional<T>& rhs) {
290 constexpr bool operator!=(const Optional<T>& lhs, const Optional<T>& rhs) {
295 constexpr bool operator<(const Optional<T>& lhs, const Optional<T>& rhs) {
300 constexpr bool operator<=(const Optional<T>& lhs, const Optional<T>& rhs) {
305 constexpr bool operator>(const Optional<T>& lhs, const Optional<T>& rhs) {
310 constexpr bool operator>=(const Optional<T>& lhs, const Optional<T>& rhs) {
315 constexpr bool operator==(const Optional<T>& opt, base::nullopt_t) {
320 constexpr bool operator==(base::nullopt_t, const Optional<T>& opt) {
325 constexpr bool operator!=(const Optional<T>& opt, base::nullopt_t) {
330 constexpr bool operator!=(base::nullopt_t, const Optional<T>& opt) {
335 constexpr bool operator<(const Optional<T>& opt, base::nullopt_t) {
340 constexpr bool operator<(base::nullopt_t, const Optional<T>& opt) {
345 constexpr bool operator<=(const Optional<T>& opt, base::nullopt_t) {
350 constexpr bool operator<=(base::nullopt_t, const Optional<T>& opt) {
355 constexpr bool operator>(const Optional<T>& opt, base::nullopt_t) {
360 constexpr bool operator>(base::nullopt_t, const Optional<T>& opt) {
365 constexpr bool operator>=(const Optional<T>& opt, base::nullopt_t) {
370 constexpr bool operator>=(base::nullopt_t, const Optional<T>& opt) {
375 constexpr bool operator==(const Optional<T>& opt, const T& value) {
380 constexpr bool operator==(const T& value, const Optional<T>& opt) {
385 constexpr bool operator!=(const Optional<T>& opt, const T& value) {
390 constexpr bool operator!=(const T& value, const Optional<T>& opt) {
395 constexpr bool operator<(const Optional<T>& opt, const T& value) {
400 constexpr bool operator<(const T& value, const Optional<T>& opt) {
405 constexpr bool operator<=(const Optional<T>& opt, const T& value) {
410 constexpr bool operator<=(const T& value, const Optional<T>& opt) {
415 constexpr bool operator>(const Optional<T>& opt, const T& value) {
420 constexpr bool operator>(const T& value, const Optional<T>& opt) {
425 constexpr bool operator>=(const Optional<T>& opt, const T& value) {
430 constexpr bool operator>=(const T& value, const Optional<T>& opt) {
435 constexpr Optional<typename std::decay<T>::type> make_optional(T&& value) {
436 return Optional<typename std::decay<T>::type>(std::forward<T>(value));
440 void swap(Optional<T>& lhs, Optional<T>& rhs) {
449 struct hash<base::Optional<T>> {
450 size_t operator()(const base::Optional<T>& opt) const {