Lines Matching refs:has_value
187 return this->has_value() ? **this : static_cast<T>(std::forward<U>(value));
192 return this->has_value() ? std::move(**this) : static_cast<T>(std::forward<U>(value));
195 bool has_value() const {
200 return this->has_value();
224 return (a.has_value() != b.has_value()) ? false :
225 !a.has_value() ? true :
230 return (a.has_value() != b.has_value()) ? true :
231 !a.has_value() ? false :
236 return !b.has_value() ? false :
237 !a.has_value() ? true :
242 return !a.has_value() ? true :
243 !b.has_value() ? false :
248 return !a.has_value() ? false :
249 !b.has_value() ? true :
254 return !b.has_value() ? true :
255 !a.has_value() ? false :
261 return !a.has_value();
265 return a.has_value();
273 return !a.has_value();
277 return a.has_value();
287 return !b.has_value();
291 return b.has_value();
295 return b.has_value();
307 return !b.has_value();
312 return a.has_value() && (*a == b);
316 return !a.has_value() || (*a != b);
320 return !a.has_value() || (*a < b);
324 return !a.has_value() || (*a <= b);
328 return a.has_value() && (*a > b);
332 return a.has_value() && (*a >= b);
337 return b.has_value() && (a == *b);
341 return !b.has_value() || (a != *b);
345 return b.has_value() && (a < *b);
349 return b.has_value() && (a <= *b);
353 return !b.has_value() || (a > *b);
357 return !b.has_value() || (a >= *b);