| 1181 | } |
| 1182 | |
| 1183 | void |
| 1184 | testIterators() |
| 1185 | { |
| 1186 | string s = "abc"; |
| 1187 | auto const& ac(s); |
| 1188 | |
| 1189 | { |
| 1190 | auto it = s.begin(); |
| 1191 | BOOST_TEST(*it == 'a'); ++it; |
| 1192 | BOOST_TEST(*it == 'b'); it++; |
| 1193 | BOOST_TEST(*it == 'c'); ++it; |
| 1194 | BOOST_TEST(it == s.end()); |
| 1195 | } |
| 1196 | { |
| 1197 | auto it = s.cbegin(); |
| 1198 | BOOST_TEST(*it == 'a'); ++it; |
| 1199 | BOOST_TEST(*it == 'b'); it++; |
| 1200 | BOOST_TEST(*it == 'c'); ++it; |
| 1201 | BOOST_TEST(it == s.cend()); |
| 1202 | } |
| 1203 | { |
| 1204 | auto it = ac.begin(); |
| 1205 | BOOST_TEST(*it == 'a'); ++it; |
| 1206 | BOOST_TEST(*it == 'b'); it++; |
| 1207 | BOOST_TEST(*it == 'c'); ++it; |
| 1208 | BOOST_TEST(it == ac.end()); |
| 1209 | } |
| 1210 | { |
| 1211 | auto it = s.end(); |
| 1212 | --it; BOOST_TEST(*it == 'c'); |
| 1213 | it--; BOOST_TEST(*it == 'b'); |
| 1214 | --it; BOOST_TEST(*it == 'a'); |
| 1215 | BOOST_TEST(it == s.begin()); |
| 1216 | } |
| 1217 | { |
| 1218 | auto it = s.cend(); |
| 1219 | --it; BOOST_TEST(*it == 'c'); |
| 1220 | it--; BOOST_TEST(*it == 'b'); |
| 1221 | --it; BOOST_TEST(*it == 'a'); |
| 1222 | BOOST_TEST(it == s.cbegin()); |
| 1223 | } |
| 1224 | { |
| 1225 | auto it = ac.end(); |
| 1226 | --it; BOOST_TEST(*it == 'c'); |
| 1227 | it--; BOOST_TEST(*it == 'b'); |
| 1228 | --it; BOOST_TEST(*it == 'a'); |
| 1229 | BOOST_TEST(it == ac.begin()); |
| 1230 | } |
| 1231 | |
| 1232 | { |
| 1233 | auto it = s.rbegin(); |
| 1234 | BOOST_TEST(*it == 'c'); ++it; |
| 1235 | BOOST_TEST(*it == 'b'); it++; |
| 1236 | BOOST_TEST(*it == 'a'); ++it; |
| 1237 | BOOST_TEST(it == s.rend()); |
| 1238 | } |
| 1239 | { |
| 1240 | auto it = s.crbegin(); |