From e84eedc54348e268ca95200b70caede9884076ea Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 28 Jul 2017 09:28:28 +0200 Subject: Add support for custom data storage in target::preprequisite_targets --- build2/algorithm.hxx | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'build2/algorithm.hxx') diff --git a/build2/algorithm.hxx b/build2/algorithm.hxx index aef72cb..58bdf2f 100644 --- a/build2/algorithm.hxx +++ b/build2/algorithm.hxx @@ -208,8 +208,11 @@ namespace build2 // dependencies. Similar in semantics to match_prerequisites(). Any marked // target pointers are skipped. // + // T can only be const target* or prerequisite_target. + // + template void - match_members (action, target&, const target*[], size_t); + match_members (action, target&, T[], size_t); template inline void @@ -219,7 +222,7 @@ namespace build2 } inline void - match_members (action a, target& t, vector& ts, size_t start) + match_members (action a, target& t, prerequisite_targets& ts, size_t start) { match_members (a, t, ts.data () + start, ts.size () - start); } @@ -372,11 +375,15 @@ namespace build2 // Execute members of a group or similar prerequisite-like dependencies. // Similar in semantics to execute_prerequisites(). // + // T can only be const target* or prerequisite_target. + // + template target_state - straight_execute_members (action, const target&, const target*[], size_t); + straight_execute_members (action, const target&, T[], size_t); + template target_state - reverse_execute_members (action, const target&, const target*[], size_t); + reverse_execute_members (action, const target&, T[], size_t); // Call straight or reverse depending on the current mode. // -- cgit v1.1