1 //pos: 2 { 3 auto vec = Vector!(int, 3).build(1, 2, 3, 4, 5, 6); 4 5 size_t pos = vec.replace(2, 2, 0, 5); 6 assert(pos == 2); 7 assert(vec == [1, 2, 0, 0, 0, 0, 0, 5, 6]); 8 9 pos = vec.replace(100, 2, 42, 2); 10 assert(pos == 9); 11 assert(vec == [1, 2, 0, 0, 0, 0, 0, 5, 6, 42, 42]); 12 13 pos = vec.replace(2, 100, -1); 14 assert(pos == 2); 15 assert(vec == [1, 2, -1]); 16 } 17 18 { 19 auto vec = Vector!(int, 3).build(1, 2, 3, 4, 5, 6); 20 21 size_t pos = vec.replace(2, 2, [0, 0, 0, 0, 0]); 22 assert(pos == 2); 23 assert(vec == [1, 2, 0, 0, 0, 0, 0, 5, 6]); 24 25 pos = vec.replace(100, 2, [42, 42]); 26 assert(pos == 9); 27 assert(vec == [1, 2, 0, 0, 0, 0, 0, 5, 6, 42, 42]); 28 29 pos = vec.replace(2, 100, [-1]); 30 assert(pos == 2); 31 assert(vec == [1, 2, -1]); 32 } 33 34 { 35 auto vec = Vector!(int, 3).build(1, 2, 3, 4, 5, 6); 36 37 size_t pos = vec.replace(2, 2, Vector!(int, 3).build(0, 0, 0, 0, 0)); 38 assert(pos == 2); 39 assert(vec == [1, 2, 0, 0, 0, 0, 0, 5, 6]); 40 41 pos = vec.replace(100, 2, Vector!(int, 2).build(42, 42)); 42 assert(pos == 9); 43 assert(vec == [1, 2, 0, 0, 0, 0, 0, 5, 6, 42, 42]); 44 45 pos = vec.replace(2, 100, Vector!(int, 2).build(-1)); 46 assert(pos == 2); 47 assert(vec == [1, 2, -1]); 48 } 49 50 //ptr: 51 { 52 auto vec = Vector!(int, 3).build(1, 2, 3, 4, 5, 6); 53 54 size_t pos = vec.replace(vec[2 .. 4], 0, 5); 55 assert(pos == 2); 56 assert(vec == [1, 2, 0, 0, 0, 0, 0, 5, 6]); 57 58 pos = vec.replace(vec.ptr[100 .. 102], 42, 2); 59 assert(pos == 9); 60 assert(vec == [1, 2, 0, 0, 0, 0, 0, 5, 6, 42, 42]); 61 62 pos = vec.replace(vec.ptr[2 .. 100], -1); 63 assert(pos == 2); 64 assert(vec == [1, 2, -1]); 65 } 66 67 { 68 auto vec = Vector!(int, 3).build(1, 2, 3, 4, 5, 6); 69 70 size_t pos = vec.replace(vec[2 .. 4], [0, 0, 0, 0, 0]); 71 assert(pos == 2); 72 assert(vec == [1, 2, 0, 0, 0, 0, 0, 5, 6]); 73 74 pos = vec.replace(vec.ptr[100 .. 102], [42, 42]); 75 assert(pos == 9); 76 assert(vec == [1, 2, 0, 0, 0, 0, 0, 5, 6, 42, 42]); 77 78 pos = vec.replace(vec.ptr[2 .. 100], [-1]); 79 assert(pos == 2); 80 assert(vec == [1, 2, -1]); 81 } 82 83 { 84 auto vec = Vector!(int, 3).build(1, 2, 3, 4, 5, 6); 85 86 size_t pos = vec.replace(vec[2 .. 4], Vector!(int, 3).build(0, 0, 0, 0, 0)); 87 assert(pos == 2); 88 assert(vec == [1, 2, 0, 0, 0, 0, 0, 5, 6]); 89 90 pos = vec.replace(vec.ptr[100 .. 102], Vector!(int, 2).build(42, 42)); 91 assert(pos == 9); 92 assert(vec == [1, 2, 0, 0, 0, 0, 0, 5, 6, 42, 42]); 93 94 pos = vec.replace(vec.ptr[2 .. 100], Vector!(int, 2).build(-1)); 95 assert(pos == 2); 96 assert(vec == [1, 2, -1]); 97 }
Replaces the portion of the vector that begins at element pos and spans len characters (or the part of the vector in the slice slice) by new contents.