From 79682317c9e087dc1d1ae450e3edd03b0fa0cc59 Mon Sep 17 00:00:00 2001 From: "Curtis.Bezault" Date: Tue, 9 Apr 2019 15:04:44 -0700 Subject: Print what port installed confliciting files --- toolsrc/include/vcpkg/base/strings.h | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) (limited to 'toolsrc/include') diff --git a/toolsrc/include/vcpkg/base/strings.h b/toolsrc/include/vcpkg/base/strings.h index 4b39b0a28..04e85107e 100644 --- a/toolsrc/include/vcpkg/base/strings.h +++ b/toolsrc/include/vcpkg/base/strings.h @@ -56,12 +56,10 @@ namespace vcpkg::Strings bool case_insensitive_ascii_starts_with(const std::string& s, const std::string& pattern); bool ends_with(const std::string& s, StringLiteral pattern); - template - std::string join(const char* delimiter, const Container& v, Transformer transformer) + template + std::string join(const char* delimiter, InputIterator begin, InputIterator end, + Transformer transformer) { - const auto begin = v.begin(); - const auto end = v.end(); - if (begin == end) { return std::string(); @@ -77,6 +75,24 @@ namespace vcpkg::Strings return output; } + + template + std::string join(const char* delimiter, const Container& v, Transformer transformer) + { + const auto begin = v.begin(); + const auto end = v.end(); + + return join(delimiter, begin, end, transformer); + } + + template + std::string join(const char* delimiter, InputIterator begin, InputIterator end) + { + using Element = decltype(*begin); + return join(delimiter, begin, end, + [](const Element& x) -> const Element& { return x; }); + } + template std::string join(const char* delimiter, const Container& v) { -- cgit v1.2.3