Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite118310

Browse files
committed
Cleaned up URI again.
1 parent56048ec commite118310

File tree

3 files changed

+31
-26
lines changed

3 files changed

+31
-26
lines changed

‎boost/network/uri/detail/uri_parts.hpp‎

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77
#defineBOOST_NETWORK_URL_DETAIL_URL_PARTS_HPP_
88

99

10-
#include<string>
11-
12-
1310
namespaceboost {
1411
namespacenetwork {
1512
namespaceuri {
1613
namespacedetail {
14+
template<
15+
classString
16+
>
1717
structhierarchical_part {
18-
std::string user_info, host, port, path;
18+
String user_info, host, port, path;
1919

2020
voidclear() {
2121
user_info.clear();
@@ -25,11 +25,14 @@ struct hierarchical_part {
2525
}
2626
};
2727

28+
template<
29+
classString
30+
>
2831
structuri_parts {
29-
std::string scheme;
30-
hierarchical_part hier_part;
31-
std::string query;
32-
std::string fragment;
32+
String scheme;
33+
hierarchical_part<String> hier_part;
34+
String query;
35+
String fragment;
3336

3437
voidclear() {
3538
scheme.clear();

‎boost/network/uri/uri.hpp‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ namespace uri {
2222
namespacedetail {
2323
boolparse(std::string::const_iterator first,
2424
std::string::const_iterator last,
25-
uri_parts &parts);
25+
uri_parts<std::string> &parts);
2626
}// namespace detail
2727

2828

@@ -150,7 +150,7 @@ class uri
150150
voidparse();
151151

152152
string_type uri_;
153-
detail::uri_parts uri_parts_;
153+
detail::uri_parts<std::string> uri_parts_;
154154
bool is_valid_;
155155

156156
};

‎libs/network/src/uri/parse.cpp‎

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,24 @@
99
#include<boost/spirit/home/qi.hpp>
1010
#include<boost/fusion/adapted/struct/adapt_struct.hpp>
1111

12-
BOOST_FUSION_ADAPT_STRUCT
12+
BOOST_FUSION_ADAPT_TPL_STRUCT
1313
(
14-
boost::network::uri::detail::hierarchical_part,
15-
(std::string, user_info)
16-
(std::string, host)
17-
(std::string, port)
18-
(std::string, path)
14+
(String),
15+
(boost::network::uri::detail::hierarchical_part)(String),
16+
(String, user_info)
17+
(String, host)
18+
(String, port)
19+
(String, path)
1920
);
2021

21-
BOOST_FUSION_ADAPT_STRUCT
22+
BOOST_FUSION_ADAPT_TPL_STRUCT
2223
(
23-
boost::network::uri::detail::uri_parts,
24-
(std::string, scheme)
25-
(boost::network::uri::detail::hierarchical_part, hier_part)
26-
(std::string, query)
27-
(std::string, fragment)
24+
(String),
25+
(boost::network::uri::detail::uri_parts)(String),
26+
(String, scheme)
27+
(boost::network::uri::detail::hierarchical_part<String>, hier_part)
28+
(String, query)
29+
(String, fragment)
2830
);
2931

3032
namespaceboost {
@@ -38,7 +40,7 @@ template <
3840
>
3941
structuri_grammar : qi::grammar<
4042
typename String::const_iterator
41-
, detail::uri_parts()> {
43+
, detail::uri_parts<String>()> {
4244

4345
typedef String string_type;
4446
typedeftypename String::const_iterator const_iterator;
@@ -216,17 +218,17 @@ struct uri_grammar : qi::grammar<
216218
qi::rule<const_iterator, string_type()>
217219
scheme, user_info, query, fragment;
218220

219-
qi::rule<const_iterator, hierarchical_part()>
221+
qi::rule<const_iterator, hierarchical_part<string_type>()>
220222
hier_part;
221223

222224
// actual uri parser
223-
qi::rule<const_iterator, uri_parts()> start;
225+
qi::rule<const_iterator, uri_parts<string_type>()> start;
224226

225227
};
226228

227229
boolparse(std::string::const_iterator first,
228230
std::string::const_iterator last,
229-
uri_parts &parts) {
231+
uri_parts<std::string> &parts) {
230232
namespaceqi= boost::spirit::qi;
231233
static detail::uri_grammar<std::string> grammar;
232234
bool is_valid =qi::parse(first, last, grammar, parts);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp