@@ -130,37 +130,37 @@ class uri
130130
131131 string_typescheme ()const {
132132 const_range_type range =scheme_range ();
133- return string_type (boost::begin (range),boost::end (range));
133+ return range? string_type (boost::begin (range),boost::end (range)) : string_type ( );
134134 }
135135
136136 string_typeuser_info ()const {
137137 const_range_type range =user_info_range ();
138- return string_type (boost::begin (range),boost::end (range));
138+ return range? string_type (boost::begin (range),boost::end (range)) : string_type ( );
139139 }
140140
141141 string_typehost ()const {
142142 const_range_type range =host_range ();
143- return string_type (boost::begin (range),boost::end (range));
143+ return range? string_type (boost::begin (range),boost::end (range)) : string_type ( );
144144 }
145145
146146 string_typeport ()const {
147147 const_range_type range =port_range ();
148- return string_type (boost::begin (range),boost::end (range));
148+ return range? string_type (boost::begin (range),boost::end (range)) : string_type ( );
149149 }
150150
151151 string_typepath ()const {
152152 const_range_type range =path_range ();
153- return string_type (boost::begin (range),boost::end (range));
153+ return range? string_type (boost::begin (range),boost::end (range)) : string_type ( );
154154 }
155155
156156 string_typequery ()const {
157157 const_range_type range =query_range ();
158- return string_type (boost::begin (range),boost::end (range));
158+ return range? string_type (boost::begin (range),boost::end (range)) : string_type ( );
159159 }
160160
161161 string_typefragment ()const {
162162 const_range_type range =fragment_range ();
163- return string_type (boost::begin (range),boost::end (range));
163+ return range? string_type (boost::begin (range),boost::end (range)) : string_type ( );
164164 }
165165
166166 string_typestring ()const {