From 847a25490c6515c91edd2dc5bc13731b47af950b Mon Sep 17 00:00:00 2001 From: fabienfl Date: Tue, 15 Dec 2020 15:35:59 +0100 Subject: [PATCH] OrcLib: Utils: Result: add ToOptional(Result&) --- src/OrcLib/Utils/Result.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/OrcLib/Utils/Result.h b/src/OrcLib/Utils/Result.h index a6ec4c45..960c83f9 100644 --- a/src/OrcLib/Utils/Result.h +++ b/src/OrcLib/Utils/Result.h @@ -7,6 +7,8 @@ // #pragma once +#include + #include namespace Orc { @@ -26,6 +28,17 @@ const T& operator*(const Result& result) return result.value(); } +template +std::optional ToOptional(const Orc::Result& result) +{ + if (result.has_value()) + { + return result.value(); + } + + return {}; +} + inline std::error_code SystemError(HRESULT hr) { return {hr, std::system_category()};