Struct ipnetwork::Ipv4Network [] [src]

pub struct Ipv4Network { /* fields omitted */ }

Represents a network range where the IP addresses are of v4

Methods

impl Ipv4Network
[src]

[src]

Constructs a new Ipv4Network from any Ipv4Addr and a prefix denoting the network size. If the prefix is larger than 32 this will return an IpNetworkError::InvalidPrefix.

[src]

Returns an iterator over Ipv4Network. Each call to next will return the next Ipv4Addr in the given network. None will be returned when there are no more addresses.

[src]

[src]

[src]

Returns the mask for this Ipv4Network. That means the prefix most significant bits will be 1 and the rest 0

Examples

use std::net::Ipv4Addr;
use ipnetwork::Ipv4Network;

let net: Ipv4Network = "127.0.0.0/16".parse().unwrap();
assert_eq!(net.mask(), Ipv4Addr::new(255, 255, 0, 0));

[src]

Returns the address of the network denoted by this Ipv4Network. This means the lowest possible IPv4 address inside of the network.

Examples

use std::net::Ipv4Addr;
use ipnetwork::Ipv4Network;

let net: Ipv4Network = "10.1.9.32/16".parse().unwrap();
assert_eq!(net.network(), Ipv4Addr::new(10, 1, 0, 0));

[src]

Returns the broadcasting address of this Ipv4Network. This means the highest possible IPv4 address inside of the network.

Examples

use std::net::Ipv4Addr;
use ipnetwork::Ipv4Network;

let net: Ipv4Network = "10.9.0.32/16".parse().unwrap();
assert_eq!(net.broadcast(), Ipv4Addr::new(10, 9, 255, 255));

[src]

Checks if a given Ipv4Addr is in this Ipv4Network

Examples

use std::net::Ipv4Addr;
use ipnetwork::Ipv4Network;

let net: Ipv4Network = "127.0.0.0/24".parse().unwrap();
assert!(net.contains(Ipv4Addr::new(127, 0, 0, 70)));
assert!(!net.contains(Ipv4Addr::new(127, 0, 1, 70)));

[src]

Returns number of possible host addresses in this Ipv4Network.

Examples

use std::net::Ipv4Addr;
use ipnetwork::Ipv4Network;

let net: Ipv4Network = "10.1.0.0/16".parse().unwrap();
assert_eq!(net.size(), 65536);

let tinynet: Ipv4Network = "0.0.0.0/32".parse().unwrap();
assert_eq!(tinynet.size(), 1);

[src]

Returns the n:th address within this network. The adresses are indexed from 0 and n must be smaller than the size of the network.

Examples

use std::net::Ipv4Addr;
use ipnetwork::Ipv4Network;

let net: Ipv4Network = "192.168.0.0/24".parse().unwrap();
assert_eq!(net.nth(0).unwrap(), Ipv4Addr::new(192, 168, 0, 0));
assert_eq!(net.nth(15).unwrap(), Ipv4Addr::new(192, 168, 0, 15));
assert!(net.nth(256).is_none());

let net2: Ipv4Network = "10.0.0.0/16".parse().unwrap();
assert_eq!(net2.nth(256).unwrap(), Ipv4Addr::new(10, 0, 1, 0));

Trait Implementations

impl Debug for Ipv4Network
[src]

[src]

Formats the value using the given formatter. Read more

impl Clone for Ipv4Network
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl Copy for Ipv4Network
[src]

impl Hash for Ipv4Network
[src]

[src]

Feeds this value into the given [Hasher]. Read more

1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl PartialEq for Ipv4Network
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl Eq for Ipv4Network
[src]

impl PartialOrd for Ipv4Network
[src]

[src]

This method returns an ordering between self and other values if one exists. Read more

[src]

This method tests less than (for self and other) and is used by the < operator. Read more

[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Ord for Ipv4Network
[src]

[src]

This method returns an Ordering between self and other. Read more

1.21.0
[src]

Compares and returns the maximum of two values. Read more

1.21.0
[src]

Compares and returns the minimum of two values. Read more

impl Display for Ipv4Network
[src]

[src]

Formats the value using the given formatter. Read more

impl FromStr for Ipv4Network
[src]

Creates an Ipv4Network from parsing a string in CIDR notation.

Examples

use std::net::Ipv4Addr;
use ipnetwork::Ipv4Network;

let new = Ipv4Network::new(Ipv4Addr::new(10, 1, 9, 32), 16).unwrap();
let from_cidr: Ipv4Network = "10.1.9.32/16".parse().unwrap();
assert_eq!(new.ip(), from_cidr.ip());
assert_eq!(new.prefix(), from_cidr.prefix());

The associated error which can be returned from parsing.

[src]

Parses a string s to return a value of this type. Read more

impl From<Ipv4Addr> for Ipv4Network
[src]

[src]

Performs the conversion.

impl From<Ipv4Network> for IpNetwork
[src]

[src]

Performs the conversion.

Auto Trait Implementations

impl Send for Ipv4Network

impl Sync for Ipv4Network