From 2f39a4244136d966941b1dc00d4d05eeffbbcc97 Mon Sep 17 00:00:00 2001 From: levlam Date: Wed, 24 Jul 2019 05:10:32 +0300 Subject: [PATCH] Add TRY_RESULT_ASSIGN. GitOrigin-RevId: ef2a42ead0014285eb29355f132ce093af337770 --- tdutils/td/utils/Status.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tdutils/td/utils/Status.h b/tdutils/td/utils/Status.h index 6d3ceb8c..1a818375 100644 --- a/tdutils/td/utils/Status.h +++ b/tdutils/td/utils/Status.h @@ -36,9 +36,14 @@ } \ } -#define TRY_RESULT(name, result) TRY_RESULT_IMPL(TD_CONCAT(TD_CONCAT(r_, name), __LINE__), name, result) +#define TRY_RESULT(name, result) TRY_RESULT_IMPL(TD_CONCAT(TD_CONCAT(r_, name), __LINE__), auto name, result) + +#define TRY_RESULT_ASSIGN(name, result) TRY_RESULT_IMPL(TD_CONCAT(TD_CONCAT(r_, name), __LINE__), name, result) #define TRY_RESULT_PREFIX(name, result, prefix) \ + TRY_RESULT_PREFIX_IMPL(TD_CONCAT(TD_CONCAT(r_, name), __LINE__), auto name, result, prefix) + +#define TRY_RESULT_PREFIX_ASSIGN(name, result, prefix) \ TRY_RESULT_PREFIX_IMPL(TD_CONCAT(TD_CONCAT(r_, name), __LINE__), name, result, prefix) #define TRY_RESULT_IMPL(r_name, name, result) \ @@ -46,14 +51,14 @@ if (r_name.is_error()) { \ return r_name.move_as_error(); \ } \ - auto name = r_name.move_as_ok(); + name = r_name.move_as_ok(); #define TRY_RESULT_PREFIX_IMPL(r_name, name, result, prefix) \ auto r_name = (result); \ if (r_name.is_error()) { \ return r_name.move_as_error_prefix(prefix); \ } \ - auto name = r_name.move_as_ok(); + name = r_name.move_as_ok(); #define LOG_STATUS(status) \ { \