Merge pull request #8016

b0ec9f8 epee: avoid ADL selecting C++14 std::quoted (selsta)
This commit is contained in:
luigi1111 2021-11-01 12:28:28 -05:00
commit 14e94c6918
No known key found for this signature in database
GPG Key ID: F4ACA0183641E010
1 changed files with 9 additions and 14 deletions

View File

@ -209,12 +209,7 @@ namespace
} }
template<typename T> template<typename T>
using quoted_result = boost::joined_range< auto quoted_(const T& arg) // avoid ADL selecting C++14 std::quoted
const boost::joined_range<const boost::string_ref, const T>, const boost::string_ref
>;
template<typename T>
quoted_result<T> quoted(const T& arg)
{ {
return boost::range::join(boost::range::join(ceref(u8"\""), arg), ceref(u8"\"")); return boost::range::join(boost::range::join(ceref(u8"\""), arg), ceref(u8"\""));
} }
@ -242,13 +237,13 @@ namespace
{ {
str.append(u8"Digest "); str.append(u8"Digest ");
add_first_field(str, u8"algorithm", algorithm); add_first_field(str, u8"algorithm", algorithm);
add_field(str, u8"nonce", quoted(user.server.nonce)); add_field(str, u8"nonce", quoted_(user.server.nonce));
add_field(str, u8"realm", quoted(user.server.realm)); add_field(str, u8"realm", quoted_(user.server.realm));
add_field(str, u8"response", quoted(response)); add_field(str, u8"response", quoted_(response));
add_field(str, u8"uri", quoted(uri)); add_field(str, u8"uri", quoted_(uri));
add_field(str, u8"username", quoted(user.credentials.username)); add_field(str, u8"username", quoted_(user.credentials.username));
if (!user.server.opaque.empty()) if (!user.server.opaque.empty())
add_field(str, u8"opaque", quoted(user.server.opaque)); add_field(str, u8"opaque", quoted_(user.server.opaque));
} }
//! Implements superseded algorithm specified in RFC 2069 //! Implements superseded algorithm specified in RFC 2069
@ -674,8 +669,8 @@ namespace
Digest::name, (i == 0 ? boost::string_ref{} : sess_algo) Digest::name, (i == 0 ? boost::string_ref{} : sess_algo)
); );
add_field(out, u8"algorithm", algorithm); add_field(out, u8"algorithm", algorithm);
add_field(out, u8"realm", quoted(auth_realm)); add_field(out, u8"realm", quoted_(auth_realm));
add_field(out, u8"nonce", quoted(nonce)); add_field(out, u8"nonce", quoted_(nonce));
add_field(out, u8"stale", is_stale ? ceref("true") : ceref("false")); add_field(out, u8"stale", is_stale ? ceref("true") : ceref("false"));
fields.push_back(std::make_pair(std::string(server_auth_field), std::move(out))); fields.push_back(std::make_pair(std::string(server_auth_field), std::move(out)));