diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-06-30 15:07:03 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-06-30 15:07:03 +0200 |
commit | 70af0087d8efb3f2f7dc9ffdf2568419913f16da (patch) | |
tree | dceeab7a3c600add8bf3f3375a2d83ca11213624 /build/bin | |
parent | 18568ff0ff3dce89d694b494c5dfc9a32e63c9e6 (diff) |
Group "see through" iteration, take 1
Diffstat (limited to 'build/bin')
-rw-r--r-- | build/bin/rule | 8 | ||||
-rw-r--r-- | build/bin/rule.cxx | 10 |
2 files changed, 9 insertions, 9 deletions
diff --git a/build/bin/rule b/build/bin/rule index b8b9873..743b1ca 100644 --- a/build/bin/rule +++ b/build/bin/rule @@ -14,21 +14,21 @@ namespace build class obj_rule: public rule { public: - virtual void* + virtual match_result match (action, target&, const std::string& hint) const; virtual recipe - apply (action, target&, void*) const; + apply (action, target&, const match_result&) const; }; class lib_rule: public rule { public: - virtual void* + virtual match_result match (action, target&, const std::string& hint) const; virtual recipe - apply (action, target&, void*) const; + apply (action, target&, const match_result&) const; static target_state perform (action, target&); diff --git a/build/bin/rule.cxx b/build/bin/rule.cxx index 1834f7a..d2928ca 100644 --- a/build/bin/rule.cxx +++ b/build/bin/rule.cxx @@ -19,7 +19,7 @@ namespace build { // obj // - void* obj_rule:: + match_result obj_rule:: match (action a, target& t, const std::string&) const { fail << diag_doing (a, t) << " target group" << @@ -29,21 +29,21 @@ namespace build } recipe obj_rule:: - apply (action, target&, void*) const {return empty_recipe;} + apply (action, target&, const match_result&) const {return empty_recipe;} // lib // // The whole logic is pretty much as if we had our two group // members as prerequisites. // - void* lib_rule:: + match_result lib_rule:: match (action, target& t, const std::string&) const { - return &t; + return t; } recipe lib_rule:: - apply (action a, target& xt, void*) const + apply (action a, target& xt, const match_result&) const { lib& t (static_cast<lib&> (xt)); |