commit 26591d4f2264c3f6636598dc86d4e4bed528658e (tree)
parent 4d42275d03a3f24beca2d93e02ff12e52a48a91b
Author: Ryan Liptak <squeek502@hotmail.com>
Date: Thu, 2 May 2019 17:42:38 -0700
std.HashMap: add putAssumeCapacity fn
Diffstat:
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/std/hash_map.zig b/std/hash_map.zig
@@ -181,8 +181,13 @@ pub fn HashMap(comptime K: type, comptime V: type, comptime hash: fn (key: K) u3
/// Returns the kv pair that was already there.
pub fn put(self: *Self, key: K, value: V) !?KV {
- self.incrementModificationCount();
try self.autoCapacity();
+ return putAssumeCapacity(self, key, value);
+ }
+
+ pub fn putAssumeCapacity(self: *Self, key: K, value: V) ?KV {
+ assert(self.count() < self.entries.len);
+ self.incrementModificationCount();
const put_result = self.internalPut(key);
put_result.new_entry.kv.value = value;