[][src]Enum ipnet::IpAddrRange

pub enum IpAddrRange {
    V4(Ipv4AddrRange),
    V6(Ipv6AddrRange),
}

An Iterator over a range of IP addresses, either IPv4 or IPv6.

Examples

use std::net::IpAddr;
use ipnet::{IpAddrRange, Ipv4AddrRange, Ipv6AddrRange};

let hosts = IpAddrRange::from(Ipv4AddrRange::new(
    "10.0.0.0".parse().unwrap(),
    "10.0.0.3".parse().unwrap(),
));

assert_eq!(hosts.collect::<Vec<IpAddr>>(), vec![
    "10.0.0.0".parse::<IpAddr>().unwrap(),
    "10.0.0.1".parse().unwrap(),
    "10.0.0.2".parse().unwrap(),
    "10.0.0.3".parse().unwrap(),
]);

let hosts = IpAddrRange::from(Ipv6AddrRange::new(
    "fd00::".parse().unwrap(),
    "fd00::3".parse().unwrap(),
));

assert_eq!(hosts.collect::<Vec<IpAddr>>(), vec![
    "fd00::0".parse::<IpAddr>().unwrap(),
    "fd00::1".parse().unwrap(),
    "fd00::2".parse().unwrap(),
    "fd00::3".parse().unwrap(),
]);

Variants

Trait Implementations

impl Clone for IpAddrRange[src]

impl Copy for IpAddrRange[src]

impl Debug for IpAddrRange[src]

impl DoubleEndedIterator for IpAddrRange[src]

impl Eq for IpAddrRange[src]

impl From<Ipv4AddrRange> for IpAddrRange[src]

impl From<Ipv6AddrRange> for IpAddrRange[src]

impl FusedIterator for IpAddrRange[src]

impl Hash for IpAddrRange[src]

impl Iterator for IpAddrRange[src]

type Item = IpAddr

The type of the elements being iterated over.

impl Ord for IpAddrRange[src]

impl PartialEq<IpAddrRange> for IpAddrRange[src]

impl PartialOrd<IpAddrRange> for IpAddrRange[src]

impl StructuralEq for IpAddrRange[src]

impl StructuralPartialEq for IpAddrRange[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.