diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2023-10-23 10:25:58 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2023-10-26 13:29:24 +0200 |
commit | c9e9432018b57b7f532480415059ff62d7f96a40 (patch) | |
tree | def2115528d809b510f276b393b1587c68e40572 /libbuild2/algorithm.ixx | |
parent | a0ebf29806f7ce066f7815f79c08ae4cb73be865 (diff) |
WIP: add rematch_*() functions
Diffstat (limited to 'libbuild2/algorithm.ixx')
-rw-r--r-- | libbuild2/algorithm.ixx | 28 |
1 files changed, 28 insertions, 0 deletions
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&&); |