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 › static_string_map › StaticStringMapWithEql › init Public Function init Doc Source Public Function std.static_string_map.StaticStringMapWithEql.init
pub fn init (kvs_list : anytype , allocator : mem .Allocator ) !Self Params kvs_list allocator : mem .Allocator File static_string_map.zig: 152
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177 pub fn init (kvs_list : anytype , allocator : mem .Allocator ) !Self {
var self = Self {};
if (kvs_list .len == 0 )
return self ;
const sorted_keys = try allocator .alloc ([]const u8 , kvs_list .len );
errdefer allocator .free (sorted_keys );
const sorted_vals = try allocator .alloc (V , kvs_list .len );
errdefer allocator .free (sorted_vals );
const kvs = try allocator .create (KVs );
errdefer allocator .destroy (kvs );
self .initSortedKVs (kvs_list , sorted_keys , sorted_vals );
kvs .* = .{
.keys = sorted_keys .ptr ,
.values = sorted_vals .ptr ,
.len = @intCast (kvs_list .len ),
};
self .kvs = kvs ;
const len_indexes = try allocator .alloc (u32 , self .max_len + 1 );
self .initLenIndexes (len_indexes );
self .len_indexes = len_indexes .ptr ;
self .len_indexes_len = @intCast (len_indexes .len );
return self ;
}
Returns a map backed by memory allocated with
allocator.Handles
kvs_listthe same way asinitComptime().