aboutsummaryrefslogtreecommitdiffhomepage
path: root/tdutils
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2025-01-27 17:20:11 +0300
committerlevlam <levlam@telegram.org>2025-01-27 17:20:11 +0300
commit0a273dd34c7effda248945563f5e5fd80e9f3fb4 (patch)
tree8b3811e93eae9fa576cdbe0f924f21f83e90d047 /tdutils
parent06d39cdc0d216cef370ba5331819192f2bf18f64 (diff)
Move fail_promise_map to tdutils.
Diffstat (limited to 'tdutils')
-rw-r--r--tdutils/td/utils/Promise.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/tdutils/td/utils/Promise.h b/tdutils/td/utils/Promise.h
index 630f1541b..9d5a34444 100644
--- a/tdutils/td/utils/Promise.h
+++ b/tdutils/td/utils/Promise.h
@@ -370,4 +370,14 @@ void fail_promises(vector<Promise<T>> &promises, Status &&error) {
moved_promises[size].set_error(std::move(error));
}
+template <class T>
+void fail_promise_map(T &promise_map, Status &&error) {
+ while (!promise_map.empty()) {
+ auto it = promise_map.begin();
+ auto promises = std::move(it->second);
+ promise_map.erase(it);
+ fail_promises(promises, error.clone());
+ }
+}
+
} // namespace td