Skip to content

Commit a5252b9

Browse files
gjasnydeanberris
authored andcommitted
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
1 parent b17bc59 commit a5252b9

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

libs/network/src/server_request_parsers_impl.cpp

+8-10
Original file line numberDiff line numberDiff line change
@@ -39,22 +39,20 @@ namespace http {
3939
void parse_version(
4040
std::string const& partial_parsed,
4141
std::tuple<std::uint8_t, std::uint8_t>& version_pair) {
42-
using namespace boost::spirit::qi;
43-
parse(partial_parsed.begin(), partial_parsed.end(),
44-
(lit("HTTP/") >> ushort_ >> '.' >> ushort_), version_pair);
42+
boost::spirit::qi::parse(partial_parsed.begin(), partial_parsed.end(),
43+
(boost::spirit::qi::lit("HTTP/") >> boost::spirit::qi::ushort_ >> '.' >> boost::spirit::qi::ushort_), version_pair);
4544
}
4645

4746
void parse_headers(
4847
std::string const& input, std::vector<request_header_narrow>& container) {
4948
u8_to_u32_iterator<std::string::const_iterator> begin = input.begin(),
5049
end = input.end();
51-
using namespace boost::spirit::qi;
52-
typedef as<boost::spirit::traits::u32_string> as_u32_string;
53-
parse(begin, end,
54-
*(+((alnum | punct) - ':') >> lit(": ") >>
55-
as_u32_string()[+((unicode::alnum | space | punct) - '\r' - '\n')] >>
56-
lit("\r\n")) >>
57-
lit("\r\n"),
50+
typedef boost::spirit::qi::as<boost::spirit::traits::u32_string> as_u32_string;
51+
boost::spirit::qi::parse(begin, end,
52+
*(+((boost::spirit::qi::alnum | boost::spirit::qi::punct) - ':') >> boost::spirit::qi::lit(": ") >>
53+
as_u32_string()[+((boost::spirit::qi::unicode::alnum | boost::spirit::qi::space | boost::spirit::qi::punct) - '\r' - '\n')] >>
54+
boost::spirit::qi::lit("\r\n")) >>
55+
boost::spirit::qi::lit("\r\n"),
5856
container);
5957
}
6058

0 commit comments

Comments
 (0)