| 92 | typename O, typename F, |
| 93 | typename = std::enable_if_t<detail::IsOptional<std::decay_t<O>>::value>> |
| 94 | inline auto transposeOptionalToRef(O &&Optional, F &&Function) noexcept |
| 95 | -> WasiCryptoExpect<OptionalRef<typename detail::IsExpectedOptionalRef< |
| 96 | std::decay_t<decltype(std::invoke( |
| 97 | std::forward<F>(Function), *std::forward<O>(Optional)))>>::Type>> { |
| 98 | if (!Optional) |
| 99 | return nullptr; |
| 100 | |
| 101 | return std::invoke(std::forward<F>(Function), *Optional); |
| 102 | } |
| 103 | |
| 104 | /// OptionalRef<T> -> (T -> WasiCryptoExpect<OptionalRef<R>>) -> |
| 105 | /// WasiCryptoExpect<OptionalRef<R>> |
no outgoing calls
no test coverage detected