authorgravatar for 14938807+xackus@users.noreply.github.comxackus <14938807+xackus@users.noreply.github.com> 2020-03-31 03:17:05+02:00
committergravatar for 14938807+xackus@users.noreply.github.comxackus <14938807+xackus@users.noreply.github.com> 2020-04-02 15:14:28+02:00
log93a20f2e825790daa487eae0ccec3d7c9126f42c
treee2250c5119162dd66ef6d34c27c35e8e5b7a916b
parentdd570dbc0dd78e3b2f9cfb5a1febb325e585e12d

new ArrayList API: fix std.ArrayListSentineled


1 files changed, 8 insertions(+), 8 deletions(-)

lib/std/array_list_sentineled.zig+8-8
......@@ -82,8 +82,8 @@ pub fn ArrayListSentineled(comptime T: type, comptime sentinel: T) type {
8282 self.list.deinit();
8383 }
8484
85 pub fn span(self: var) @TypeOf(self.list.items[0 .. self.list.len - 1 :sentinel]) {
86 return self.list.span()[0..self.len() :sentinel];
85 pub fn span(self: var) @TypeOf(self.list.items[0..:sentinel]) {
86 return self.list.items[0..self.len() :sentinel];
8787 }
8888
8989 pub fn shrink(self: *Self, new_len: usize) void {
......@@ -98,16 +98,16 @@ pub fn ArrayListSentineled(comptime T: type, comptime sentinel: T) type {
9898 }
9999
100100 pub fn isNull(self: Self) bool {
101 return self.list.len == 0;
101 return self.list.items.len == 0;
102102 }
103103
104104 pub fn len(self: Self) usize {
105 return self.list.len - 1;
105 return self.list.items.len - 1;
106106 }
107107
108108 pub fn capacity(self: Self) usize {
109 return if (self.list.items.len > 0)
110 self.list.items.len - 1
109 return if (self.list.capacity > 0)
110 self.list.capacity - 1
111111 else
112112 0;
113113 }
......@@ -115,13 +115,13 @@ pub fn ArrayListSentineled(comptime T: type, comptime sentinel: T) type {
115115 pub fn appendSlice(self: *Self, m: []const T) !void {
116116 const old_len = self.len();
117117 try self.resize(old_len + m.len);
118 mem.copy(T, self.list.span()[old_len..], m);
118 mem.copy(T, self.list.items[old_len..], m);
119119 }
120120
121121 pub fn append(self: *Self, byte: T) !void {
122122 const old_len = self.len();
123123 try self.resize(old_len + 1);
124 self.list.span()[old_len] = byte;
124 self.list.items[old_len] = byte;
125125 }
126126
127127 pub fn eql(self: Self, m: []const T) bool {