1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
@safe unittest
{
import std.container.slist;
import std.algorithm.comparison : equal;
import std.container : SList;
auto s = SList!int(1, 2, 3);
assert(equal(s[], [1, 2, 3]));
s.removeFront();
assert(equal(s[], [2, 3]));
s.insertFront([5, 6]);
assert(equal(s[], [5, 6, 2, 3]));
// If you want to apply range operations, simply slice it.
import std.algorithm.searching : countUntil;
import std.range : popFrontN, walkLength;
auto sl = SList!int(1, 2, 3, 4, 5);
assert(countUntil(sl[], 2) == 1);
auto r = sl[];
popFrontN(r, 2);
assert(walkLength(r) == 3);
}
|