@@ -43,72 +43,72 @@ struct key_value_sequence
4343}// namespace details
4444
4545template <
46- class Tag ,
46+ class String ,
4747class Map
4848 >
4949inline
50- Map &query_map (const basic_uri<Tag > &uri, Map &map) {
51- typename basic_uri<Tag >::const_range_type range = uri.query_range ();
52- details::key_value_sequence<basic_uri<Tag >, Map> parser;
50+ Map &query_map (const basic_uri<String > &uri, Map &map) {
51+ typename basic_uri<String >::const_range_type range = uri.query_range ();
52+ details::key_value_sequence<basic_uri<String >, Map> parser;
5353spirit::qi::parse (boost::begin (range),boost::end (range), parser, map);
5454return map;
5555}
5656
5757template <
58- class Tag
58+ class String
5959 >
60- typename basic_uri<Tag>::string_type username (const basic_uri<Tag > &uri) {
61- typename basic_uri<Tag >::const_range_type user_info_range = uri.user_info_range ();
62- typename basic_uri<Tag >::const_iteratorit (boost::begin (user_info_range)),end (boost::end (user_info_range));
60+ String username (const basic_uri<String > &uri) {
61+ typename basic_uri<String >::const_range_type user_info_range = uri.user_info_range ();
62+ typename basic_uri<String >::const_iteratorit (boost::begin (user_info_range)),end (boost::end (user_info_range));
6363for (; it != end; ++it) {
6464if (*it ==' :' ) {
6565break ;
6666 }
6767 }
68- return typename string<Tag>:: type (boost::begin (user_info_range), it);
68+ return String (boost::begin (user_info_range), it);
6969}
7070
7171template <
72- class Tag
72+ class String
7373 >
74- typename basic_uri<Tag>::string_type password (const basic_uri<Tag > &uri) {
75- typename basic_uri<Tag >::const_range_type user_info_range = uri.user_info_range ();
76- typename basic_uri<Tag >::const_iteratorit (boost::begin (user_info_range)),end (boost::end (user_info_range));
74+ String password (const basic_uri<String > &uri) {
75+ typename basic_uri<String >::const_range_type user_info_range = uri.user_info_range ();
76+ typename basic_uri<String >::const_iteratorit (boost::begin (user_info_range)),end (boost::end (user_info_range));
7777for (; it != end; ++it) {
7878if (*it ==' :' ) {
7979 ++it;
8080break ;
8181 }
8282 }
83- return typename string<Tag>:: type (it,boost::end (user_info_range));
83+ return String (it,boost::end (user_info_range));
8484}
8585
8686template <
87- class Tag
87+ class String
8888 >
89- typename basic_uri<Tag>::string_type decoded_path (const basic_uri<Tag > &uri) {
90- typename basic_uri<Tag >::const_range_type path_range = uri.path_range ();
91- typename basic_uri<Tag>::string_type decoded_path;
89+ String decoded_path (const basic_uri<String > &uri) {
90+ typename basic_uri<String >::const_range_type path_range = uri.path_range ();
91+ String decoded_path;
9292decode (path_range,std::back_inserter (decoded_path));
9393return decoded_path;
9494}
9595
9696template <
97- class Tag
97+ class String
9898 >
99- typename basic_uri<Tag>::string_type decoded_query (const basic_uri<Tag > &uri) {
100- typename basic_uri<Tag >::const_range_type query_range = uri.query_range ();
101- typename basic_uri<Tag>::string_type decoded_query;
99+ String decoded_query (const basic_uri<String > &uri) {
100+ typename basic_uri<String >::const_range_type query_range = uri.query_range ();
101+ String decoded_query;
102102decode (query_range,std::back_inserter (decoded_query));
103103return decoded_query;
104104}
105105
106106template <
107- class Tag
107+ class String
108108 >
109- typename basic_uri<Tag>::string_type decoded_fragment (const basic_uri<Tag > &uri) {
110- typename basic_uri<Tag >::const_range_type fragment_range = uri.fragment_range ();
111- typename basic_uri<Tag>::string_type decoded_fragment;
109+ String decoded_fragment (const basic_uri<String > &uri) {
110+ typename basic_uri<String >::const_range_type fragment_range = uri.fragment_range ();
111+ String decoded_fragment;
112112decode (fragment_range,std::back_inserter (decoded_fragment));
113113return decoded_fragment;
114114}