Lines Matching refs:_Func

1064   template<class _Func>
1066 constexpr auto and_then(_Func&& __f) & {
1067 using _Up = invoke_result_t<_Func, value_type&>;
1071 return _VSTD::invoke(_VSTD::forward<_Func>(__f), value());
1075 template<class _Func>
1077 constexpr auto and_then(_Func&& __f) const& {
1078 using _Up = invoke_result_t<_Func, const value_type&>;
1082 return _VSTD::invoke(_VSTD::forward<_Func>(__f), value());
1086 template<class _Func>
1088 constexpr auto and_then(_Func&& __f) && {
1089 using _Up = invoke_result_t<_Func, value_type&&>;
1093 return _VSTD::invoke(_VSTD::forward<_Func>(__f), _VSTD::move(value()));
1097 template<class _Func>
1099 constexpr auto and_then(_Func&& __f) const&& {
1100 using _Up = invoke_result_t<_Func, const value_type&&>;
1104 return _VSTD::invoke(_VSTD::forward<_Func>(__f), _VSTD::move(value()));
1108 template<class _Func>
1110 constexpr auto transform(_Func&& __f) & {
1111 using _Up = remove_cv_t<invoke_result_t<_Func, value_type&>>;
1119 … return optional<_Up>(__optional_construct_from_invoke_tag{}, _VSTD::forward<_Func>(__f), value());
1123 template<class _Func>
1125 constexpr auto transform(_Func&& __f) const& {
1126 using _Up = remove_cv_t<invoke_result_t<_Func, const value_type&>>;
1134 … return optional<_Up>(__optional_construct_from_invoke_tag{}, _VSTD::forward<_Func>(__f), value());
1138 template<class _Func>
1140 constexpr auto transform(_Func&& __f) && {
1141 using _Up = remove_cv_t<invoke_result_t<_Func, value_type&&>>;
1149 …return optional<_Up>(__optional_construct_from_invoke_tag{}, _VSTD::forward<_Func>(__f), _VSTD::mo…
1153 template<class _Func>
1155 constexpr auto transform(_Func&& __f) const&& {
1156 using _Up = remove_cvref_t<invoke_result_t<_Func, const value_type&&>>;
1164 …return optional<_Up>(__optional_construct_from_invoke_tag{}, _VSTD::forward<_Func>(__f), _VSTD::mo…
1168 template<invocable _Func>
1170 constexpr optional or_else(_Func&& __f) const& requires is_copy_constructible_v<value_type> {
1171 static_assert(is_same_v<remove_cvref_t<invoke_result_t<_Func>>, optional>,
1175 return _VSTD::forward<_Func>(__f)();
1178 template<invocable _Func>
1180 constexpr optional or_else(_Func&& __f) && requires is_move_constructible_v<value_type> {
1181 static_assert(is_same_v<remove_cvref_t<invoke_result_t<_Func>>, optional>,
1185 return _VSTD::forward<_Func>(__f)();