From b7a8fb5178a56799d7d7df96b38e8068c4981f7e Mon Sep 17 00:00:00 2001 From: Damian Jarek Date: Sat, 13 Apr 2019 18:13:47 +0200 Subject: [PATCH] Fix compilation on MSVC with std::string_view close #1573 std::string_view::iterator is not necessarily a raw pointer. Signed-off-by: Damian Jarek --- CHANGELOG.md | 1 + include/boost/beast/http/detail/rfc7230.hpp | 8 -------- include/boost/beast/http/detail/rfc7230.ipp | 6 ++++-- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07b82bf6..a1e0aaa7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ Version 251: * Clean up CI scripts * detect_ssl uses bool * launder pointers +* Fix compilation on MSVC with std::string_view -------------------------------------------------------------------------------- diff --git a/include/boost/beast/http/detail/rfc7230.hpp b/include/boost/beast/http/detail/rfc7230.hpp index 99f4af05..35bed0ab 100644 --- a/include/boost/beast/http/detail/rfc7230.hpp +++ b/include/boost/beast/http/detail/rfc7230.hpp @@ -56,14 +56,6 @@ BOOST_BEAST_DECL std::int8_t unhex(char c); -BOOST_BEAST_DECL -void -skip_ows(char const*& it, char const* end); - -BOOST_BEAST_DECL -void -skip_token(char const*& it, char const* last); - BOOST_BEAST_DECL string_view trim(string_view s); diff --git a/include/boost/beast/http/detail/rfc7230.ipp b/include/boost/beast/http/detail/rfc7230.ipp index 612eaf9a..4d69e772 100644 --- a/include/boost/beast/http/detail/rfc7230.ipp +++ b/include/boost/beast/http/detail/rfc7230.ipp @@ -219,8 +219,9 @@ unhex(char c) return tab[static_cast(c)]; } +template void -skip_ows(char const*& it, char const* end) +skip_ows(ForwardIt& it, ForwardIt end) { while(it != end) { @@ -230,8 +231,9 @@ skip_ows(char const*& it, char const* end) } } +template void -skip_token(char const*& it, char const* last) +skip_token(ForwardIt& it, ForwardIt last) { while(it != last && is_token_char(*it)) ++it;