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));

Required Methods

Implementors