1 //pos: 2 { 3 auto vec = Vector!(int, 3).build(1, 2, 3); 4 5 size_t pos = vec.insert(1, 42, 2); 6 assert(pos == 1); 7 assert(vec == [1, 42, 42, 2, 3]); 8 9 pos = vec.insert(100, 4, 3); 10 assert(pos == 5); 11 assert(vec == [1, 42, 42, 2, 3, 4, 4, 4]); 12 } 13 14 { 15 auto vec = Vector!(int, 3).build(1, 2, 3); 16 17 size_t pos = vec.insert(1, [20, 30, 40]); 18 assert(pos == 1); 19 assert(vec == [1, 20, 30, 40, 2, 3]); 20 21 pos = vec.insert(100, [4, 5, 6]); 22 assert(pos == 6); 23 assert(vec == [1, 20, 30, 40, 2, 3, 4, 5, 6]); 24 } 25 26 { 27 auto vec = Vector!(int, 3).build(1, 2, 3); 28 auto tmp = Vector!(int, 10).build(-1, -2, -3); 29 30 size_t pos = vec.insert(1, tmp); 31 assert(pos == 1); 32 assert(vec == [1, -1, -2, -3, 2, 3]); 33 34 pos = vec.insert(100, Vector!(int, 10).build(40, 50, 60)); 35 assert(pos == 6); 36 assert(vec == [1, -1, -2, -3, 2, 3, 40, 50, 60]); 37 } 38 39 //ptr: 40 { 41 auto vec = Vector!(int, 3).build(1, 2, 3); 42 43 size_t pos = vec.insert(vec.ptr + 1, 42, 2); 44 assert(pos == 1); 45 assert(vec == [1, 42, 42, 2, 3]); 46 47 pos = vec.insert(vec.ptr + 100, 4, 3); 48 assert(pos == 5); 49 assert(vec == [1, 42, 42, 2, 3, 4, 4, 4]); 50 } 51 52 { 53 auto vec = Vector!(int, 3).build(1, 2, 3); 54 55 size_t pos = vec.insert(vec.ptr + 1, [20, 30, 40]); 56 assert(pos == 1); 57 assert(vec == [1, 20, 30, 40, 2, 3]); 58 59 pos = vec.insert(vec.ptr + 100, [4, 5, 6]); 60 assert(pos == 6); 61 assert(vec == [1, 20, 30, 40, 2, 3, 4, 5, 6]); 62 } 63 64 { 65 auto vec = Vector!(int, 3).build(1, 2, 3); 66 auto tmp = Vector!(int, 10).build(-1, -2, -3); 67 68 size_t pos = vec.insert(vec.ptr + 1, tmp); 69 assert(pos == 1); 70 assert(vec == [1, -1, -2, -3, 2, 3]); 71 72 pos = vec.insert(vec.ptr + 100, Vector!(int, 10).build(40, 50, 60)); 73 assert(pos == 6); 74 assert(vec == [1, -1, -2, -3, 2, 3, 40, 50, 60]); 75 }
Inserts additional elements into the Vector right before the element indicated by pos or ptr.
Return index of first inserted element.