static typename as_expected::type invoke()

in Source/Shared/arcana/threading/internal/internal_task.h [445:462]


            static typename as_expected<ResultT, ErrorT>::type invoke(CallableT&& callable, InputT&&... input) noexcept
            {
                if constexpr (std::is_same<ErrorT, std::error_code>::value)
                {
                    return callable(std::forward<InputT>(input)...);
                }
                else
                {
                    try
                    {
                        return callable(std::forward<InputT>(input)...);
                    }
                    catch (...)
                    {
                        return make_unexpected(std::current_exception());
                    }
                }
            }