pub fn getLongestPrefix(self: Self, str: []const u8) ?KV
Returns the key-value pair where key is the longest prefix of str else null.
str
This is effectively an O(N) algorithm which loops from max_len to min_len and calls getIndex() to check all keys with the given len.
max_len
min_len
getIndex()
self: Self
str: []const u8
274 275 276 277 278 279 280 281 282 283
pub fn getLongestPrefix(self: Self, str: []const u8) ?KV { if (self.kvs.len == 0) return null; const i = self.getLongestPrefixIndex(str) orelse return null; const kvs = self.kvs.*; return .{ .key = kvs.keys[i], .value = kvs.values[i], }; }
Returns the key-value pair where key is the longest prefix of
strelse null.This is effectively an O(N) algorithm which loops from
max_lentomin_lenand callsgetIndex()to check all keys with the given len.