47 using LERR_(INDEX_BOUNDS);
78 CHECK (isnil (undef));
80 ParrT parr{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω"};
81 CHECK (not isnil (parr));
82 CHECK (8 == parr.size());
85 CHECK (
"Γ" == parr[0]);
86 CHECK (
"Δ" == parr[1]);
87 CHECK (
"Θ" == parr[2]);
88 CHECK (
"Ξ" == parr[3]);
89 CHECK (
"Σ" == parr[4]);
90 CHECK (
"Ψ" == parr[5]);
91 CHECK (
"Φ" == parr[6]);
92 CHECK (
"Ω" == parr[7]);
97 CHECK (
"Γ/Δ/Θ/Ξ/Σ/Ψ/Φ/Ω" ==
string(parr));
100 parr =
ParrT{
nullptr,
nullptr,
"Θ",
nullptr,
nullptr,
nullptr,
"Φ"};
101 CHECK (7 == parr.size());
104 CHECK (
"Θ/*/*/*/Φ" ==
string(parr));
105 CHECK (Symbol::EMPTY == parr[0]);
106 CHECK (Symbol::EMPTY == parr[1]);
107 CHECK (
"Θ" == parr[2]);
108 CHECK (
"*" == parr[3]);
109 CHECK (
"*" == parr[4]);
110 CHECK (
"*" == parr[5]);
111 CHECK (
"Φ" == parr[6]);
121 CHECK (isnil (parr));
123 CHECK (
"" == join(parr));
125 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω"};
126 CHECK (8 == parr.size());
128 CHECK (
"ΓΔΘΞΣΨΦΩ" == join(parr,
""));
133 CHECK (parr[i] == *ii);
138 parr =
ParrT{
nullptr,
nullptr,
"Θ",
nullptr,
nullptr,
nullptr,
"Φ"};
139 CHECK (7 == parr.size());
140 CHECK (
"Θ***Φ" == join(parr,
""));
142 parr =
ParrT{
nullptr,
"Δ",
nullptr,
"Ξ",
nullptr,
nullptr,
nullptr};
143 CHECK (4 == parr.size());
144 CHECK (
"Δ*Ξ" == join(parr,
""));
146 parr =
ParrT{
nullptr,
"Δ",
nullptr,
"Ξ",
nullptr,
nullptr,
"Φ"};
147 CHECK (7 == parr.size());
148 CHECK (
"Δ*Ξ**Φ" == join(parr,
""));
150 parr =
ParrT{
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
"Ω",
nullptr};
151 CHECK (16 == parr.size());
152 CHECK (
"Ω" == join(parr,
""));
155 CHECK (
"Ω" == *parr.
begin());
156 CHECK (Symbol::EMPTY == parr[0]);
157 CHECK (Symbol::EMPTY == parr[1]);
158 CHECK (Symbol::EMPTY == parr[2]);
159 CHECK (
"Ω" == parr[15]);
163 parr =
ParrT{
nullptr,
nullptr,
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω"};
164 CHECK (
"Θ" == *parr.
begin());
166 CHECK (
"Θ" == parr[2]);
168 parr =
ParrT{
nullptr,
nullptr,
nullptr,
nullptr,
"Σ",
"Ψ",
"Φ",
"Ω"};
169 CHECK (
"Σ" == *parr.
begin());
190 CHECK (
"" == join(parr));
191 CHECK (0 == parr.size());
193 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω"};
194 CHECK (
"ΓΔΘΞΣΨΦΩ" == join(parr,
""));
195 CHECK (8 == parr.size());
197 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
""};
198 CHECK (
"ΓΔΘΞΣΨΦ" == join(parr,
""));
199 CHECK (7 == parr.size());
201 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
nullptr};
202 CHECK (
"ΓΔΘΞΣΨΦ" == join(parr,
""));
203 CHECK (7 == parr.size());
205 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
nullptr,
""};
206 CHECK (
"ΓΔΘΞΣΨ" == join(parr,
""));
207 CHECK (6 == parr.size());
209 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"",
nullptr,
""};
210 CHECK (
"ΓΔΘΞΣ" == join(parr,
""));
211 CHECK (5 == parr.size());
213 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
nullptr,
"",
nullptr};
214 CHECK (
"ΓΔΘΞΣ" == join(parr,
""));
215 CHECK (5 == parr.size());
217 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
nullptr,
nullptr,
nullptr};
218 CHECK (
"ΓΔΘΞΣ" == join(parr,
""));
219 CHECK (5 == parr.size());
221 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
nullptr,
nullptr,
nullptr,
""};
222 CHECK (
"ΓΔΘΞΣ" == join(parr,
""));
223 CHECK (5 == parr.size());
225 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"",
"",
""};
226 CHECK (
"ΓΔΘΞΣ" == join(parr,
""));
227 CHECK (5 == parr.size());
229 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"",
"",
"Φ",
""};
230 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
231 CHECK (7 == parr.size());
233 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
nullptr,
"",
"Φ",
""};
234 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
235 CHECK (7 == parr.size());
237 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"",
nullptr,
"Φ",
""};
238 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
239 CHECK (7 == parr.size());
241 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
nullptr,
nullptr,
"Φ",
""};
242 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
243 CHECK (7 == parr.size());
245 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"",
"",
"Φ",
nullptr};
246 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
247 CHECK (7 == parr.size());
249 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"",
"",
"Φ",
nullptr,
""};
250 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
251 CHECK (7 == parr.size());
253 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"",
"",
"Φ",
nullptr,
"",
nullptr};
254 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
255 CHECK (7 == parr.size());
257 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"",
"",
"Φ",
nullptr,
"",
nullptr,
""};
258 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
259 CHECK (7 == parr.size());
261 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"",
nullptr,
"",
nullptr,
"",
nullptr,
""};
262 CHECK (
"ΓΔΘΞ" == join(parr,
""));
263 CHECK (4 == parr.size());
265 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
nullptr,
"",
nullptr,
"",
nullptr,
"",
nullptr};
266 CHECK (
"ΓΔΘΞ" == join(parr,
""));
267 CHECK (4 == parr.size());
269 parr =
ParrT{
"",
"Δ",
"Θ",
"Ξ",
"",
"",
""};
270 CHECK (
"ΔΘΞ" == join(parr,
""));
271 CHECK (4 == parr.size());
272 CHECK (
"" == parr[0]);
274 parr =
ParrT{
nullptr,
"Δ",
"Θ",
"Ξ",
"",
"",
""};
275 CHECK (
"ΔΘΞ" == join(parr,
""));
276 CHECK (4 == parr.size());
277 CHECK (
"" == parr[0]);
279 parr =
ParrT{
nullptr,
"Δ",
nullptr,
"Ξ",
"",
"",
""};
280 CHECK (
"Δ*Ξ" == join(parr,
""));
281 CHECK (4 == parr.size());
282 CHECK (
"" == parr[0]);
283 CHECK (
"Δ" == parr[1]);
284 CHECK (
"*" == parr[2]);
285 CHECK (
"Ξ" == parr[3]);
287 parr =
ParrT{
nullptr,
"",
nullptr,
"Ξ",
"",
"",
""};
288 CHECK (
"Ξ" == join(parr,
""));
289 CHECK (4 == parr.size());
290 CHECK (
"" == parr[0]);
291 CHECK (
"" == parr[1]);
292 CHECK (
"" == parr[2]);
293 CHECK (
"Ξ" == parr[3]);
295 parr =
ParrT{
nullptr,
"",
nullptr,
"Ξ",
"",
"Ψ",
""};
296 CHECK (
"Ξ*Ψ" == join(parr,
""));
297 CHECK (6 == parr.size());
298 CHECK (
"" == parr[0]);
299 CHECK (
"" == parr[1]);
300 CHECK (
"" == parr[2]);
301 CHECK (
"Ξ" == parr[3]);
302 CHECK (
"*" == parr[4]);
303 CHECK (
"Ψ" == parr[5]);
305 parr =
ParrT{
nullptr,
"",
nullptr,
"Ξ",
nullptr,
"Ψ",
""};
306 CHECK (
"Ξ*Ψ" == join(parr,
""));
307 CHECK (6 == parr.size());
308 CHECK (
"" == parr[0]);
309 CHECK (
"" == parr[1]);
310 CHECK (
"" == parr[2]);
311 CHECK (
"Ξ" == parr[3]);
312 CHECK (
"*" == parr[4]);
313 CHECK (
"Ψ" == parr[5]);
315 parr =
ParrT{
nullptr,
"",
nullptr,
"Ξ",
nullptr,
nullptr,
"Φ",
""};
316 CHECK (
"Ξ**Φ" == join(parr,
""));
317 CHECK (7 == parr.size());
318 CHECK (
"" == parr[0]);
319 CHECK (
"" == parr[1]);
320 CHECK (
"" == parr[2]);
321 CHECK (
"Ξ" == parr[3]);
322 CHECK (
"*" == parr[4]);
323 CHECK (
"*" == parr[5]);
324 CHECK (
"Φ" == parr[6]);
326 parr =
ParrT{
nullptr,
"",
nullptr,
"Ξ",
"",
nullptr,
"Φ",
""};
327 CHECK (
"Ξ**Φ" == join(parr,
""));
328 CHECK (7 == parr.size());
329 CHECK (
"" == parr[0]);
330 CHECK (
"" == parr[1]);
331 CHECK (
"" == parr[2]);
332 CHECK (
"Ξ" == parr[3]);
333 CHECK (
"*" == parr[4]);
334 CHECK (
"*" == parr[5]);
335 CHECK (
"Φ" == parr[6]);
337 parr =
ParrT{
nullptr,
"",
nullptr,
"Ξ",
nullptr,
"",
"Φ",
""};
338 CHECK (
"Ξ**Φ" == join(parr,
""));
339 CHECK (7 == parr.size());
340 CHECK (
"" == parr[0]);
341 CHECK (
"" == parr[1]);
342 CHECK (
"" == parr[2]);
343 CHECK (
"Ξ" == parr[3]);
344 CHECK (
"*" == parr[4]);
345 CHECK (
"*" == parr[5]);
346 CHECK (
"Φ" == parr[6]);
348 parr =
ParrT{
nullptr,
"",
nullptr,
"Ξ",
"",
"",
"Φ",
""};
349 CHECK (
"Ξ**Φ" == join(parr,
""));
350 CHECK (7 == parr.size());
351 CHECK (
"" == parr[0]);
352 CHECK (
"" == parr[1]);
353 CHECK (
"" == parr[2]);
354 CHECK (
"Ξ" == parr[3]);
355 CHECK (
"*" == parr[4]);
356 CHECK (
"*" == parr[5]);
357 CHECK (
"Φ" == parr[6]);
359 parr =
ParrT{
"",
nullptr,
"",
nullptr,
"Σ",
"",
"Φ",
""};
360 CHECK (
"Σ*Φ" == join(parr,
""));
361 CHECK (7 == parr.size());
362 CHECK (
"" == parr[0]);
363 CHECK (
"" == parr[1]);
364 CHECK (
"" == parr[2]);
365 CHECK (
"" == parr[3]);
366 CHECK (
"Σ" == parr[4]);
367 CHECK (
"*" == parr[5]);
368 CHECK (
"Φ" == parr[6]);
370 parr =
ParrT{
"",
nullptr,
"",
nullptr,
"Σ",
nullptr,
"Φ",
""};
371 CHECK (
"Σ*Φ" == join(parr,
""));
372 CHECK (7 == parr.size());
373 CHECK (
"" == parr[0]);
374 CHECK (
"" == parr[1]);
375 CHECK (
"" == parr[2]);
376 CHECK (
"" == parr[3]);
377 CHECK (
"Σ" == parr[4]);
378 CHECK (
"*" == parr[5]);
379 CHECK (
"Φ" == parr[6]);
381 parr =
ParrT{
"",
nullptr,
"",
nullptr,
"",
"Ψ",
nullptr,
"Ω",
""};
382 CHECK (
"Ψ*Ω" == join(parr,
""));
383 CHECK (8 == parr.size());
384 CHECK (
"" == parr[0]);
385 CHECK (
"" == parr[1]);
386 CHECK (
"" == parr[2]);
387 CHECK (
"" == parr[3]);
388 CHECK (
"" == parr[4]);
389 CHECK (
"Ψ" == parr[5]);
390 CHECK (
"*" == parr[6]);
391 CHECK (
"Ω" == parr[7]);
393 parr =
ParrT{
nullptr,
"",
nullptr,
"",
nullptr,
"Ψ",
nullptr,
"Ω",
""};
394 CHECK (
"Ψ*Ω" == join(parr,
""));
395 CHECK (8 == parr.size());
396 CHECK (
"" == parr[0]);
397 CHECK (
"" == parr[1]);
398 CHECK (
"" == parr[2]);
399 CHECK (
"" == parr[3]);
400 CHECK (
"" == parr[4]);
401 CHECK (
"Ψ" == parr[5]);
402 CHECK (
"*" == parr[6]);
403 CHECK (
"Ω" == parr[7]);
405 parr =
ParrT{
nullptr,
"",
nullptr,
"",
nullptr,
"",
"Φ",
nullptr,
"ω",
""};
406 CHECK (
"Φ*ω" == join(parr,
""));
407 CHECK (9 == parr.size());
408 CHECK (
"" == parr[0]);
409 CHECK (
"" == parr[1]);
410 CHECK (
"" == parr[2]);
411 CHECK (
"" == parr[3]);
412 CHECK (
"" == parr[4]);
413 CHECK (
"" == parr[5]);
414 CHECK (
"Φ" == parr[6]);
415 CHECK (
"*" == parr[7]);
416 CHECK (
"ω" == parr[8]);
418 parr =
ParrT{
"",
nullptr,
"",
nullptr,
"",
nullptr,
"Φ",
nullptr,
"ω",
""};
419 CHECK (
"Φ*ω" == join(parr,
""));
420 CHECK (9 == parr.size());
421 CHECK (
"" == parr[0]);
422 CHECK (
"" == parr[1]);
423 CHECK (
"" == parr[2]);
424 CHECK (
"" == parr[3]);
425 CHECK (
"" == parr[4]);
426 CHECK (
"" == parr[5]);
427 CHECK (
"Φ" == parr[6]);
428 CHECK (
"*" == parr[7]);
429 CHECK (
"ω" == parr[8]);
431 parr =
ParrT{
"",
nullptr,
"",
nullptr,
"",
nullptr,
"Φ",
nullptr,
"ω",
"*"};
432 CHECK (
"Φ*ω" == join(parr,
""));
433 CHECK (9 == parr.size());
434 CHECK (
"" == parr[0]);
435 CHECK (
"" == parr[1]);
436 CHECK (
"" == parr[2]);
437 CHECK (
"" == parr[3]);
438 CHECK (
"" == parr[4]);
439 CHECK (
"" == parr[5]);
440 CHECK (
"Φ" == parr[6]);
441 CHECK (
"*" == parr[7]);
442 CHECK (
"ω" == parr[8]);
444 parr =
ParrT{
"",
nullptr,
"",
nullptr,
"",
nullptr,
"Φ",
nullptr,
"*",
""};
445 CHECK (
"Φ" == join(parr,
""));
446 CHECK (7 == parr.size());
447 CHECK (
"" == parr[0]);
448 CHECK (
"" == parr[1]);
449 CHECK (
"" == parr[2]);
450 CHECK (
"" == parr[3]);
451 CHECK (
"" == parr[4]);
452 CHECK (
"" == parr[5]);
453 CHECK (
"Φ" == parr[6]);
455 parr =
ParrT{
"",
nullptr,
"",
nullptr,
"",
nullptr,
""};
456 CHECK (
"" == join(parr,
""));
457 CHECK (0 == parr.size());
468 CHECK (
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω") ==
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω"));
469 CHECK (
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω") !=
ParrT(
"Γ",
"Δ",
"Θ",
"Σ",
"Ξ",
"Ψ",
"Φ",
"Ω"));
470 CHECK (
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω") !=
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Ξ",
"Ψ",
"Φ",
"Ω"));
471 CHECK (
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω") !=
ParrT(
"" ,
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ"));
472 CHECK (
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) !=
ParrT(
"" ,
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ"));
473 CHECK (
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) !=
ParrT(
"" ,
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"" ));
474 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) !=
ParrT(
"*",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ));
475 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) !=
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"" ,
"Σ",
"Ψ",
"Φ"));
476 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) !=
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ***Ψ",
"Φ",
"" ));
477 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"" ,
"Φ",
"" ) !=
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"*",
"Ψ",
"Φ",
"" ));
478 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"" ,
"Φ",
"" ) !=
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"* ",
"Φ",
""));
479 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"" ,
"Φ",
"" ) !=
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"**",
"Φ",
""));
480 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) ==
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"*"));
481 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"",
"Φ",
"" ) ==
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"*",
"Φ",
"" ));
482 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) ==
ParrT(
nullptr,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ"));
483 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) ==
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
nullptr));
484 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) ==
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ"));
485 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"" ,
"Ψ",
"Φ",
"" ) ==
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
nullptr,
"Ψ",
"Φ"));
486 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"*",
"Ψ",
"Φ",
"" ) ==
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
nullptr,
"Ψ",
"Φ"));
487 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"*",
"Ψ",
"Φ",
"" ) ==
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"",
"Ψ",
"Φ"));
489 ParrT src{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω"};
491 CHECK (not isnil(copy));
494 ParrT target {std::move (copy)};
495 CHECK (src == target);
496 CHECK (copy != target);
inline string literal This is a marker type to indicate that
#define VERIFY_ERROR(ERROR_ID, ERRONEOUS_STATEMENT)
Macro to verify that a statement indeed raises an exception.
Implementation namespace for support and library code.
Abstraction for path-like topological coordinates.
Token or Atom with distinct identity.
Simple test class runner.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
A collection of frequently used helper functions to support unit testing.
Foundation abstraction to implement path-like component sequences.
size_t indexOf(Literal const &content) const
reverse lookup of actual path content
void verify_comparisons()
Adapter for building an implementation of the »Lumiera Forward Iterator« concept. ...