aboutsummaryrefslogtreecommitdiff
path: root/build2/utility.ixx
diff options
context:
space:
mode:
Diffstat (limited to 'build2/utility.ixx')
-rw-r--r--build2/utility.ixx29
1 files changed, 25 insertions, 4 deletions
diff --git a/build2/utility.ixx b/build2/utility.ixx
index 27db90f..7a706f8 100644
--- a/build2/utility.ixx
+++ b/build2/utility.ixx
@@ -49,6 +49,13 @@ namespace build2
template <typename T>
inline void
+ hash_options (sha256& csum, T& s, const variable& var)
+ {
+ hash_options (csum, s[var]);
+ }
+
+ template <typename T>
+ inline void
append_options (cstrings& args, T& s, const char* var)
{
append_options (args, s[var]);
@@ -63,16 +70,30 @@ namespace build2
template <typename T>
inline void
- hash_options (sha256& csum, T& s, const variable& var)
+ hash_options (sha256& csum, T& s, const char* var)
{
hash_options (csum, s[var]);
}
- template <typename T>
inline void
- hash_options (sha256& csum, T& s, const char* var)
+ append_options (cstrings& args, const strings& sv)
{
- hash_options (csum, s[var]);
+ if (size_t n = sv.size ())
+ append_options (args, sv, n);
+ }
+
+ inline void
+ append_options (strings& args, const strings& sv)
+ {
+ if (size_t n = sv.size ())
+ append_options (args, sv, n);
+ }
+
+ inline void
+ hash_options (sha256& csum, const strings& sv)
+ {
+ if (size_t n = sv.size ())
+ hash_options (csum, sv, n);
}
template <typename T>