def contains
import bend-kit-netip@0.1.0.0/netip.bend as Netipimport Base
415# Address and prefix families must match. The supplied prefix address keeps its host bits.
416def contains(p: Prefix, addr: Addr) -> Bool:
417 match p addr:
418 case Prefix{V4{a}, +bits} V4{b}:
419 Bool.and(U32.is_le(bits, 32), word.contains(a, b, bits))
420 case Prefix{V6{a, b, c, d}, +bits} V6{e, f, g, h}:
421 Bool.and(U32.is_le(bits, 128), Bool.and(word.contains(a, e, leading(bits, 0)),
422 Bool.and(word.contains(b, f, leading(bits, 32)),
423 Bool.and(word.contains(c, g, leading(bits, 64)), word.contains(d, h, leading(bits, 96))))))
424 case _ _:
425 False{}
Uses (7)
Used by (0)
No other definition uses this definition.