Zig 0.17.0-dev (Split by item) 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.
std › array_hash_map › ArrayHashMap › getOrPutContextAdapted Public Function getOrPutContextAdapted Doc Source Public Function std.array_hash_map.ArrayHashMap.getOrPutContextAdapted
pub fn getOrPutContextAdapted (self : *Self , gpa : Allocator , key : anytype , key_ctx : anytype , ctx : Context ) Oom !GetOrPutResult Params File array_hash_map.zig: 317
317
318
319
320
321
322
323
324
325
326
327
328
329
330 pub fn getOrPutContextAdapted (self : *Self , gpa : Allocator , key : anytype , key_ctx : anytype , ctx : Context ) Oom !GetOrPutResult {
self .ensureTotalCapacityContext (gpa , self .entries .len + 1 , ctx ) catch |err | {
// "If key exists this function cannot fail."
const index = self .getIndexAdapted (key , key_ctx ) orelse return err ;
const slice = self .entries .slice ();
return GetOrPutResult {
.key_ptr = &slice .items (.key )[index ],
.value_ptr = &slice .items (.value )[index ],
.found_existing = true ,
.index = index ,
};
};
return self .getOrPutAssumeCapacityAdapted (key , key_ctx );
}