Trait ipnet::Contains
[−]
[src]
pub trait Contains<T> { fn contains(&self, other: T) -> bool; }
Provides a method to test if a network address contains either another network address or another IP address.
Examples
use std::net::IpAddr; use ipnet::{IpNet, Contains}; let n4_1: IpNet = "10.1.1.0/24".parse().unwrap(); let n4_2: IpNet = "10.1.1.0/26".parse().unwrap(); let n4_3: IpNet = "10.1.2.0/26".parse().unwrap(); let ip4_1: IpAddr = "10.1.1.1".parse().unwrap(); let ip4_2: IpAddr = "10.1.2.1".parse().unwrap(); let n6_1: IpNet = "fd00::/16".parse().unwrap(); let n6_2: IpNet = "fd00::/17".parse().unwrap(); let n6_3: IpNet = "fd01::/17".parse().unwrap(); let ip6_1: IpAddr = "fd00::1".parse().unwrap(); let ip6_2: IpAddr = "fd01::1".parse().unwrap(); assert!(n4_1.contains(&n4_2)); assert!(!n4_1.contains(&n4_3)); assert!(n4_1.contains(&ip4_1)); assert!(!n4_1.contains(&ip4_2)); assert!(n6_1.contains(&n6_2)); assert!(!n6_1.contains(&n6_3)); assert!(n6_1.contains(&ip6_1)); assert!(!n6_1.contains(&ip6_2)); assert!(!n4_1.contains(&n6_1) && !n6_1.contains(&n4_1)); assert!(!n4_1.contains(&ip6_1) && !n6_1.contains(&ip4_1));