38 using LERR_(INDEX_BOUNDS);
69 CHECK (isnil (undef));
71 ParrT parr{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω"};
72 CHECK (not isnil (parr));
73 CHECK (8 == parr.size());
76 CHECK (
"Γ" == parr[0]);
77 CHECK (
"Δ" == parr[1]);
78 CHECK (
"Θ" == parr[2]);
79 CHECK (
"Ξ" == parr[3]);
80 CHECK (
"Σ" == parr[4]);
81 CHECK (
"Ψ" == parr[5]);
82 CHECK (
"Φ" == parr[6]);
83 CHECK (
"Ω" == parr[7]);
88 CHECK (
"Γ/Δ/Θ/Ξ/Σ/Ψ/Φ/Ω" ==
string(parr));
91 parr =
ParrT{
nullptr,
nullptr,
"Θ",
nullptr,
nullptr,
nullptr,
"Φ"};
92 CHECK (7 == parr.size());
95 CHECK (
"Θ/*/*/*/Φ" ==
string(parr));
96 CHECK (Symbol::EMPTY == parr[0]);
97 CHECK (Symbol::EMPTY == parr[1]);
98 CHECK (
"Θ" == parr[2]);
99 CHECK (
"*" == parr[3]);
100 CHECK (
"*" == parr[4]);
101 CHECK (
"*" == parr[5]);
102 CHECK (
"Φ" == parr[6]);
112 CHECK (isnil (parr));
114 CHECK (
"" == join(parr));
116 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω"};
117 CHECK (8 == parr.size());
119 CHECK (
"ΓΔΘΞΣΨΦΩ" == join(parr,
""));
124 CHECK (parr[i] == *ii);
129 parr =
ParrT{
nullptr,
nullptr,
"Θ",
nullptr,
nullptr,
nullptr,
"Φ"};
130 CHECK (7 == parr.size());
131 CHECK (
"Θ***Φ" == join(parr,
""));
133 parr =
ParrT{
nullptr,
"Δ",
nullptr,
"Ξ",
nullptr,
nullptr,
nullptr};
134 CHECK (4 == parr.size());
135 CHECK (
"Δ*Ξ" == join(parr,
""));
137 parr =
ParrT{
nullptr,
"Δ",
nullptr,
"Ξ",
nullptr,
nullptr,
"Φ"};
138 CHECK (7 == parr.size());
139 CHECK (
"Δ*Ξ**Φ" == join(parr,
""));
141 parr =
ParrT{
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
"Ω",
nullptr};
142 CHECK (16 == parr.size());
143 CHECK (
"Ω" == join(parr,
""));
146 CHECK (
"Ω" == *parr.
begin());
147 CHECK (Symbol::EMPTY == parr[0]);
148 CHECK (Symbol::EMPTY == parr[1]);
149 CHECK (Symbol::EMPTY == parr[2]);
150 CHECK (
"Ω" == parr[15]);
154 parr =
ParrT{
nullptr,
nullptr,
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω"};
155 CHECK (
"Θ" == *parr.
begin());
157 CHECK (
"Θ" == parr[2]);
159 parr =
ParrT{
nullptr,
nullptr,
nullptr,
nullptr,
"Σ",
"Ψ",
"Φ",
"Ω"};
160 CHECK (
"Σ" == *parr.
begin());
181 CHECK (
"" == join(parr));
182 CHECK (0 == parr.size());
184 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω"};
185 CHECK (
"ΓΔΘΞΣΨΦΩ" == join(parr,
""));
186 CHECK (8 == parr.size());
188 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
""};
189 CHECK (
"ΓΔΘΞΣΨΦ" == join(parr,
""));
190 CHECK (7 == parr.size());
192 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
nullptr};
193 CHECK (
"ΓΔΘΞΣΨΦ" == join(parr,
""));
194 CHECK (7 == parr.size());
196 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
nullptr,
""};
197 CHECK (
"ΓΔΘΞΣΨ" == join(parr,
""));
198 CHECK (6 == parr.size());
200 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"",
nullptr,
""};
201 CHECK (
"ΓΔΘΞΣ" == join(parr,
""));
202 CHECK (5 == parr.size());
204 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
nullptr,
"",
nullptr};
205 CHECK (
"ΓΔΘΞΣ" == join(parr,
""));
206 CHECK (5 == parr.size());
208 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
nullptr,
nullptr,
nullptr};
209 CHECK (
"ΓΔΘΞΣ" == join(parr,
""));
210 CHECK (5 == parr.size());
212 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
nullptr,
nullptr,
nullptr,
""};
213 CHECK (
"ΓΔΘΞΣ" == join(parr,
""));
214 CHECK (5 == parr.size());
216 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"",
"",
""};
217 CHECK (
"ΓΔΘΞΣ" == join(parr,
""));
218 CHECK (5 == parr.size());
220 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"",
"",
"Φ",
""};
221 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
222 CHECK (7 == parr.size());
224 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
nullptr,
"",
"Φ",
""};
225 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
226 CHECK (7 == parr.size());
228 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"",
nullptr,
"Φ",
""};
229 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
230 CHECK (7 == parr.size());
232 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
nullptr,
nullptr,
"Φ",
""};
233 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
234 CHECK (7 == parr.size());
236 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"",
"",
"Φ",
nullptr};
237 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
238 CHECK (7 == parr.size());
240 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"",
"",
"Φ",
nullptr,
""};
241 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
242 CHECK (7 == parr.size());
244 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"",
"",
"Φ",
nullptr,
"",
nullptr};
245 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
246 CHECK (7 == parr.size());
248 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"",
"",
"Φ",
nullptr,
"",
nullptr,
""};
249 CHECK (
"ΓΔΘΞ**Φ" == join(parr,
""));
250 CHECK (7 == parr.size());
252 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
"",
nullptr,
"",
nullptr,
"",
nullptr,
""};
253 CHECK (
"ΓΔΘΞ" == join(parr,
""));
254 CHECK (4 == parr.size());
256 parr =
ParrT{
"Γ",
"Δ",
"Θ",
"Ξ",
nullptr,
"",
nullptr,
"",
nullptr,
"",
nullptr};
257 CHECK (
"ΓΔΘΞ" == join(parr,
""));
258 CHECK (4 == parr.size());
260 parr =
ParrT{
"",
"Δ",
"Θ",
"Ξ",
"",
"",
""};
261 CHECK (
"ΔΘΞ" == join(parr,
""));
262 CHECK (4 == parr.size());
263 CHECK (
"" == parr[0]);
265 parr =
ParrT{
nullptr,
"Δ",
"Θ",
"Ξ",
"",
"",
""};
266 CHECK (
"ΔΘΞ" == join(parr,
""));
267 CHECK (4 == parr.size());
268 CHECK (
"" == parr[0]);
270 parr =
ParrT{
nullptr,
"Δ",
nullptr,
"Ξ",
"",
"",
""};
271 CHECK (
"Δ*Ξ" == join(parr,
""));
272 CHECK (4 == parr.size());
273 CHECK (
"" == parr[0]);
274 CHECK (
"Δ" == parr[1]);
275 CHECK (
"*" == parr[2]);
276 CHECK (
"Ξ" == parr[3]);
278 parr =
ParrT{
nullptr,
"",
nullptr,
"Ξ",
"",
"",
""};
279 CHECK (
"Ξ" == join(parr,
""));
280 CHECK (4 == parr.size());
281 CHECK (
"" == parr[0]);
282 CHECK (
"" == parr[1]);
283 CHECK (
"" == parr[2]);
284 CHECK (
"Ξ" == parr[3]);
286 parr =
ParrT{
nullptr,
"",
nullptr,
"Ξ",
"",
"Ψ",
""};
287 CHECK (
"Ξ*Ψ" == join(parr,
""));
288 CHECK (6 == parr.size());
289 CHECK (
"" == parr[0]);
290 CHECK (
"" == parr[1]);
291 CHECK (
"" == parr[2]);
292 CHECK (
"Ξ" == parr[3]);
293 CHECK (
"*" == parr[4]);
294 CHECK (
"Ψ" == parr[5]);
296 parr =
ParrT{
nullptr,
"",
nullptr,
"Ξ",
nullptr,
"Ψ",
""};
297 CHECK (
"Ξ*Ψ" == join(parr,
""));
298 CHECK (6 == parr.size());
299 CHECK (
"" == parr[0]);
300 CHECK (
"" == parr[1]);
301 CHECK (
"" == parr[2]);
302 CHECK (
"Ξ" == parr[3]);
303 CHECK (
"*" == parr[4]);
304 CHECK (
"Ψ" == parr[5]);
306 parr =
ParrT{
nullptr,
"",
nullptr,
"Ξ",
nullptr,
nullptr,
"Φ",
""};
307 CHECK (
"Ξ**Φ" == join(parr,
""));
308 CHECK (7 == parr.size());
309 CHECK (
"" == parr[0]);
310 CHECK (
"" == parr[1]);
311 CHECK (
"" == parr[2]);
312 CHECK (
"Ξ" == parr[3]);
313 CHECK (
"*" == parr[4]);
314 CHECK (
"*" == parr[5]);
315 CHECK (
"Φ" == parr[6]);
317 parr =
ParrT{
nullptr,
"",
nullptr,
"Ξ",
"",
nullptr,
"Φ",
""};
318 CHECK (
"Ξ**Φ" == join(parr,
""));
319 CHECK (7 == parr.size());
320 CHECK (
"" == parr[0]);
321 CHECK (
"" == parr[1]);
322 CHECK (
"" == parr[2]);
323 CHECK (
"Ξ" == parr[3]);
324 CHECK (
"*" == parr[4]);
325 CHECK (
"*" == parr[5]);
326 CHECK (
"Φ" == parr[6]);
328 parr =
ParrT{
nullptr,
"",
nullptr,
"Ξ",
nullptr,
"",
"Φ",
""};
329 CHECK (
"Ξ**Φ" == join(parr,
""));
330 CHECK (7 == parr.size());
331 CHECK (
"" == parr[0]);
332 CHECK (
"" == parr[1]);
333 CHECK (
"" == parr[2]);
334 CHECK (
"Ξ" == parr[3]);
335 CHECK (
"*" == parr[4]);
336 CHECK (
"*" == parr[5]);
337 CHECK (
"Φ" == parr[6]);
339 parr =
ParrT{
nullptr,
"",
nullptr,
"Ξ",
"",
"",
"Φ",
""};
340 CHECK (
"Ξ**Φ" == join(parr,
""));
341 CHECK (7 == parr.size());
342 CHECK (
"" == parr[0]);
343 CHECK (
"" == parr[1]);
344 CHECK (
"" == parr[2]);
345 CHECK (
"Ξ" == parr[3]);
346 CHECK (
"*" == parr[4]);
347 CHECK (
"*" == parr[5]);
348 CHECK (
"Φ" == parr[6]);
350 parr =
ParrT{
"",
nullptr,
"",
nullptr,
"Σ",
"",
"Φ",
""};
351 CHECK (
"Σ*Φ" == join(parr,
""));
352 CHECK (7 == parr.size());
353 CHECK (
"" == parr[0]);
354 CHECK (
"" == parr[1]);
355 CHECK (
"" == parr[2]);
356 CHECK (
"" == parr[3]);
357 CHECK (
"Σ" == parr[4]);
358 CHECK (
"*" == parr[5]);
359 CHECK (
"Φ" == parr[6]);
361 parr =
ParrT{
"",
nullptr,
"",
nullptr,
"Σ",
nullptr,
"Φ",
""};
362 CHECK (
"Σ*Φ" == join(parr,
""));
363 CHECK (7 == parr.size());
364 CHECK (
"" == parr[0]);
365 CHECK (
"" == parr[1]);
366 CHECK (
"" == parr[2]);
367 CHECK (
"" == parr[3]);
368 CHECK (
"Σ" == parr[4]);
369 CHECK (
"*" == parr[5]);
370 CHECK (
"Φ" == parr[6]);
372 parr =
ParrT{
"",
nullptr,
"",
nullptr,
"",
"Ψ",
nullptr,
"Ω",
""};
373 CHECK (
"Ψ*Ω" == join(parr,
""));
374 CHECK (8 == parr.size());
375 CHECK (
"" == parr[0]);
376 CHECK (
"" == parr[1]);
377 CHECK (
"" == parr[2]);
378 CHECK (
"" == parr[3]);
379 CHECK (
"" == parr[4]);
380 CHECK (
"Ψ" == parr[5]);
381 CHECK (
"*" == parr[6]);
382 CHECK (
"Ω" == parr[7]);
384 parr =
ParrT{
nullptr,
"",
nullptr,
"",
nullptr,
"Ψ",
nullptr,
"Ω",
""};
385 CHECK (
"Ψ*Ω" == join(parr,
""));
386 CHECK (8 == parr.size());
387 CHECK (
"" == parr[0]);
388 CHECK (
"" == parr[1]);
389 CHECK (
"" == parr[2]);
390 CHECK (
"" == parr[3]);
391 CHECK (
"" == parr[4]);
392 CHECK (
"Ψ" == parr[5]);
393 CHECK (
"*" == parr[6]);
394 CHECK (
"Ω" == parr[7]);
396 parr =
ParrT{
nullptr,
"",
nullptr,
"",
nullptr,
"",
"Φ",
nullptr,
"ω",
""};
397 CHECK (
"Φ*ω" == join(parr,
""));
398 CHECK (9 == parr.size());
399 CHECK (
"" == parr[0]);
400 CHECK (
"" == parr[1]);
401 CHECK (
"" == parr[2]);
402 CHECK (
"" == parr[3]);
403 CHECK (
"" == parr[4]);
404 CHECK (
"" == parr[5]);
405 CHECK (
"Φ" == parr[6]);
406 CHECK (
"*" == parr[7]);
407 CHECK (
"ω" == parr[8]);
409 parr =
ParrT{
"",
nullptr,
"",
nullptr,
"",
nullptr,
"Φ",
nullptr,
"ω",
""};
410 CHECK (
"Φ*ω" == join(parr,
""));
411 CHECK (9 == parr.size());
412 CHECK (
"" == parr[0]);
413 CHECK (
"" == parr[1]);
414 CHECK (
"" == parr[2]);
415 CHECK (
"" == parr[3]);
416 CHECK (
"" == parr[4]);
417 CHECK (
"" == parr[5]);
418 CHECK (
"Φ" == parr[6]);
419 CHECK (
"*" == parr[7]);
420 CHECK (
"ω" == parr[8]);
422 parr =
ParrT{
"",
nullptr,
"",
nullptr,
"",
nullptr,
"Φ",
nullptr,
"ω",
"*"};
423 CHECK (
"Φ*ω" == join(parr,
""));
424 CHECK (9 == parr.size());
425 CHECK (
"" == parr[0]);
426 CHECK (
"" == parr[1]);
427 CHECK (
"" == parr[2]);
428 CHECK (
"" == parr[3]);
429 CHECK (
"" == parr[4]);
430 CHECK (
"" == parr[5]);
431 CHECK (
"Φ" == parr[6]);
432 CHECK (
"*" == parr[7]);
433 CHECK (
"ω" == parr[8]);
435 parr =
ParrT{
"",
nullptr,
"",
nullptr,
"",
nullptr,
"Φ",
nullptr,
"*",
""};
436 CHECK (
"Φ" == join(parr,
""));
437 CHECK (7 == parr.size());
438 CHECK (
"" == parr[0]);
439 CHECK (
"" == parr[1]);
440 CHECK (
"" == parr[2]);
441 CHECK (
"" == parr[3]);
442 CHECK (
"" == parr[4]);
443 CHECK (
"" == parr[5]);
444 CHECK (
"Φ" == parr[6]);
446 parr =
ParrT{
"",
nullptr,
"",
nullptr,
"",
nullptr,
""};
447 CHECK (
"" == join(parr,
""));
448 CHECK (0 == parr.size());
459 CHECK (
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω") ==
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω"));
460 CHECK (
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω") !=
ParrT(
"Γ",
"Δ",
"Θ",
"Σ",
"Ξ",
"Ψ",
"Φ",
"Ω"));
461 CHECK (
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω") !=
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Ξ",
"Ψ",
"Φ",
"Ω"));
462 CHECK (
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω") !=
ParrT(
"" ,
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ"));
463 CHECK (
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) !=
ParrT(
"" ,
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ"));
464 CHECK (
ParrT(
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) !=
ParrT(
"" ,
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"" ));
465 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) !=
ParrT(
"*",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ));
466 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) !=
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"" ,
"Σ",
"Ψ",
"Φ"));
467 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) !=
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ***Ψ",
"Φ",
"" ));
468 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"" ,
"Φ",
"" ) !=
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"*",
"Ψ",
"Φ",
"" ));
469 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"" ,
"Φ",
"" ) !=
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"* ",
"Φ",
""));
470 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"" ,
"Φ",
"" ) !=
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"**",
"Φ",
""));
471 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) ==
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"*"));
472 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"",
"Φ",
"" ) ==
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"*",
"Φ",
"" ));
473 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) ==
ParrT(
nullptr,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ"));
474 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) ==
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
nullptr));
475 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"" ) ==
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ"));
476 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"" ,
"Ψ",
"Φ",
"" ) ==
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
nullptr,
"Ψ",
"Φ"));
477 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"*",
"Ψ",
"Φ",
"" ) ==
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
nullptr,
"Ψ",
"Φ"));
478 CHECK (
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"*",
"Ψ",
"Φ",
"" ) ==
ParrT(
"" ,
"Δ",
"Θ",
"Ξ",
"",
"Ψ",
"Φ"));
480 ParrT src{
"Γ",
"Δ",
"Θ",
"Ξ",
"Σ",
"Ψ",
"Φ",
"Ω"};
482 CHECK (not isnil(copy));
485 ParrT target {std::move (copy)};
486 CHECK (src == target);
487 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.
Simplistic 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. ...