From c9e9432018b57b7f532480415059ff62d7f96a40 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 23 Oct 2023 10:25:58 +0200 Subject: WIP: add rematch_*() functions --- libbuild2/algorithm.ixx | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'libbuild2/algorithm.ixx') diff --git a/libbuild2/algorithm.ixx b/libbuild2/algorithm.ixx index 813c685..f9992c9 100644 --- a/libbuild2/algorithm.ixx +++ b/libbuild2/algorithm.ixx @@ -675,6 +675,34 @@ namespace build2 return match_sync (a.inner_action (), t, um, options); } + // Note: rematch is basically normal match but without the counts increment, + // so we just delegate to match_direct_*(). + // + inline target_state + rematch_sync (action a, const target& t, + uint64_t options, + bool fail) + { + return match_direct_sync (a, t, fail, options); + } + + inline target_state + rematch_async (action a, const target& t, + uint64_t options, + size_t start_count, atomic_count& task_count, + bool fail) + { + return match_async (a, t, start_count, task_count, fail, options); + } + + inline target_state + rematch_complete (action a, const target& t, + uint64_t options, + bool fail) + { + return match_direct_complete (a, t, fail, options); + } + LIBBUILD2_SYMEXPORT void resolve_group_impl (target_lock&&); -- cgit v1.1