///|
fn main {
let network = @mooncidr.Ipv4Network::parse("10.0.0.0/8").unwrap()
let address = @mooncidr.Ipv4Address::parse("10.42.7.9").unwrap()
println(
"\{address.to_string()} in \{network.to_string()} = \{network.contains(address)}",
)
println("\{address.to_string()} scope = \{address.scope().to_string()}")
let policy = @mooncidr.AclPolicy::deny_by_default()
.allow_network(
"office",
@mooncidr.Ipv4Network::parse("10.0.0.0/8").unwrap(),
)
.deny_address(
"quarantine",
@mooncidr.Ipv4Address::parse("10.0.0.13").unwrap(),
)
println(policy.evaluate(address).to_string())
let docs = @mooncidr.Ipv4NetworkSet::parse_all([
"192.0.2.0/24", "198.51.100.0/24", "203.0.113.0/24",
]).unwrap()
println("documentation ranges: \{docs.to_string()}")
let ipv6 = @mooncidr.Ipv6Address::parse("2001:db8::42").unwrap()
let ipv6_net = @mooncidr.Ipv6Network::parse("2001:db8::/32").unwrap()
println(
"\{ipv6.to_string()} in \{ipv6_net.to_string()} = \{ipv6_net.contains(ipv6)}",
)
}