Lines Matching refs:F

43   template <typename F>
44 constexpr auto transform(F&& f) const& { in transform()
45 using R = details::transform_result_t<F, decltype(value())>; in transform()
46 if (has_value()) return R(std::invoke(std::forward<F>(f), value())); in transform()
50 template <typename F>
51 constexpr auto transform(F&& f) & { in transform()
52 using R = details::transform_result_t<F, decltype(value())>; in transform()
53 if (has_value()) return R(std::invoke(std::forward<F>(f), value())); in transform()
57 template <typename F>
58 constexpr auto transform(F&& f) const&& { in transform()
59 using R = details::transform_result_t<F, decltype(std::move(value()))>; in transform()
60 if (has_value()) return R(std::invoke(std::forward<F>(f), std::move(value()))); in transform()
64 template <typename F>
65 constexpr auto transform(F&& f) && { in transform()
66 using R = details::transform_result_t<F, decltype(std::move(value()))>; in transform()
67 if (has_value()) return R(std::invoke(std::forward<F>(f), std::move(value()))); in transform()
72 template <typename F>
73 constexpr auto and_then(F&& f) const& { in and_then()
74 using R = details::and_then_result_t<F, decltype(value())>; in and_then()
75 if (has_value()) return std::invoke(std::forward<F>(f), value()); in and_then()
79 template <typename F>
80 constexpr auto and_then(F&& f) & { in and_then()
81 using R = details::and_then_result_t<F, decltype(value())>; in and_then()
82 if (has_value()) return std::invoke(std::forward<F>(f), value()); in and_then()
86 template <typename F>
87 constexpr auto and_then(F&& f) const&& { in and_then()
88 using R = details::and_then_result_t<F, decltype(std::move(value()))>; in and_then()
89 if (has_value()) return std::invoke(std::forward<F>(f), std::move(value())); in and_then()
93 template <typename F>
94 constexpr auto and_then(F&& f) && { in and_then()
95 using R = details::and_then_result_t<F, decltype(std::move(value()))>; in and_then()
96 if (has_value()) return std::invoke(std::forward<F>(f), std::move(value())); in and_then()
101 template <typename F>
102 constexpr auto or_else(F&& f) const& -> details::or_else_result_t<F, T> {
104 return std::forward<F>(f)();
107 template <typename F>
108 constexpr auto or_else(F&& f) && -> details::or_else_result_t<F, T> {
110 return std::forward<F>(f)();