Trait ipnet::IpAdd [−][src]
Provides a saturating_add()
method for Ipv4Addr
and Ipv6Addr
.
Adding an integer to an IP address returns the modified IP address.
A u32
may added to an IPv4 address and a u128
may be added to
an IPv6 address.
Examples
use std::net::{Ipv4Addr, Ipv6Addr}; use ipnet::IpAdd; let ip0: Ipv4Addr = "192.168.0.0".parse().unwrap(); let ip1: Ipv4Addr = "192.168.0.5".parse().unwrap(); let ip2: Ipv4Addr = "255.255.255.254".parse().unwrap(); let max: Ipv4Addr = "255.255.255.255".parse().unwrap(); assert_eq!(ip0.saturating_add(5), ip1); assert_eq!(ip2.saturating_add(1), max); assert_eq!(ip2.saturating_add(5), max); let ip0: Ipv6Addr = "fd00::".parse().unwrap(); let ip1: Ipv6Addr = "fd00::5".parse().unwrap(); let ip2: Ipv6Addr = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:fffe".parse().unwrap(); let max: Ipv6Addr = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff".parse().unwrap(); assert_eq!(ip0.saturating_add(5), ip1); assert_eq!(ip2.saturating_add(1), max); assert_eq!(ip2.saturating_add(5), max);