Zig 0.17.0-dev (Split by item)

Shortcut keys
?
Show these tips
S
Focus search field
Esc
Clear focus & close tips
U
Jump to source code
↑
Move up in search results
↓
Move down in search results
↵
Go to active search result
This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig standard library. Public Function

replaceRangeAssumeCapacity

Public Function
std.array_list.Aligned.replaceRangeAssumeCapacity
pub fn replaceRangeAssumeCapacity(
            self: *Self,
            start: usize,
            len: usize,
            new_items: []const T,
        ) void

Grows or shrinks the list as necessary. Invalidates pointers to elements at and above index start + len when len and new_items.len are unequal. Asserts the capacity is enough for additional items.

Params

  • self: *Self
  • start: usize
  • len: usize
  • new_items: []const T

File

array_list.zig:991
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
        pub fn replaceRangeAssumeCapacity(
            self: *Self,
            start: usize,
            len: usize,
            new_items: []const T,
        ) void {
            std.debug.assert(self.capacity - self.items.len >= new_items.len -| len);
            self.pointer_stability.assertUnlocked();
            const tail = self.items[start + len ..];
            const vacated = self.items[self.items.len - (len -| new_items.len) ..];
            self.items.len = self.items.len - len + new_items.len;
            @memmove(self.items[start + new_items.len ..], tail);
            @memcpy(self.items[start..][0..new_items.len], new_items);
            @memset(vacated, undefined);
        }