di 0.1.0
Loading...
Searching...
No Matches
into_status_code.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace di::vocab {
7namespace detail {
8 struct IntoStatusCodeFunction {
9 template<typename... Args>
10 requires(concepts::TagInvocable<IntoStatusCodeFunction, Args...>)
11 constexpr auto operator()(Args&&... args) const -> concepts::StatusCode decltype(auto) {
12 return function::tag_invoke(*this, util::forward<Args>(args)...);
13 }
14 };
15}
16
17constexpr inline auto into_status_code = detail::IntoStatusCodeFunction {};
18}
19
20namespace di::concepts {
21template<typename... Args>
23 requires(Args&&... args) { vocab::into_status_code(util::forward<Args>(args)...); };
24
25template<typename Result, typename... Args>
27 requires(Args&&... args) { Result(vocab::into_status_code(util::forward<Args>(args)...)); };
28}
29
30namespace di {
32}
Definition into_status_code.h:22
Definition into_status_code.h:26
Definition any_storable.h:9
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
Definition lazy.h:165
constexpr auto into_status_code
Definition into_status_code.h:17
Expected< T, Error > Result
Definition result.h:8
Definition any_storable.h:9