Skip to content

Commit 4a202d3

Browse files
committed
Work around ambiguous true_type
Visual Studio 2017 cannot decide if it is boost::integral_constant<bool,true> boost::true_type or boost::spirit::true_type cpp-netlib@a5252b9
1 parent cbb10e6 commit 4a202d3

1 file changed

Lines changed: 9 additions & 10 deletions

File tree

boost/network/protocol/http/server/impl/parsers.ipp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,22 +49,21 @@ namespace http {
4949
BOOST_NETWORK_INLINE void parse_version(
5050
std::string const& partial_parsed,
5151
std::tuple<std::uint8_t, std::uint8_t>& version_pair) {
52-
using namespace boost::spirit::qi;
53-
parse(partial_parsed.begin(), partial_parsed.end(),
54-
(lit("HTTP/") >> ushort_ >> '.' >> ushort_), version_pair);
52+
boost::spirit::qi::parse(partial_parsed.begin(), partial_parsed.end(),
53+
(boost::spirit::qi::lit("HTTP/") >> boost::spirit::qi::ushort_ >> '.' >> boost::spirit::qi::ushort_), version_pair);
5554
}
5655

5756
BOOST_NETWORK_INLINE void parse_headers(
5857
std::string const& input, std::vector<request_header_narrow>& container) {
5958
u8_to_u32_iterator<std::string::const_iterator> begin = input.begin(),
6059
end = input.end();
61-
using namespace boost::spirit::qi;
62-
typedef as<boost::spirit::traits::u32_string> as_u32_string;
63-
parse(begin, end,
64-
*(+((alnum | punct) - ':') >> lit(": ") >>
65-
as_u32_string()[+((unicode::alnum | space | punct) - '\r' - '\n')] >>
66-
lit("\r\n")) >>
67-
lit("\r\n"),
60+
61+
using as_u32_string = boost::spirit::qi::as<boost::spirit::traits::u32_string>;
62+
boost::spirit::qi::parse(begin, end,
63+
*(+((boost::spirit::qi::alnum | boost::spirit::qi::punct) - ':') >> boost::spirit::qi::lit(": ") >>
64+
as_u32_string()[+((boost::spirit::qi::unicode::alnum | boost::spirit::qi::space | boost::spirit::qi::punct) - '\r' - '\n')] >>
65+
boost::spirit::qi::lit("\r\n")) >>
66+
boost::spirit::qi::lit("\r\n"),
6867
container);
6968
}
7069

0 commit comments

Comments
 (0)