# Struct std::net::Ipv4Addr 1.0.0 [−] [src]

    pub struct Ipv4Addr {
        // some fields omitted
    }

Representation of an IPv4 address.

## Methods

### `impl Ipv4Addr`
[src]

#### `fn new(a: u8, b: u8, c: u8, d: u8) -> Ipv4Addr`

Creates a new IPv4 address from four eight-bit octets.

The result will represent the IP address `a`.`b`.`c`.`d`.

#### `fn octets(&self) -> [u8; 4]`

Returns the four eight-bit integers that make up this address.

#### `fn is_unspecified(&self) -> bool`

Unstable (`ip` #27709)

: extra functionality has not been scrutinized to the level that it should be stable

Returns true for the special 'unspecified' address (0.0.0.0).

This property is defined in UNIX Network Programming, Second Edition, W. Richard Stevens, p. 891; see also [ip7] [ip7][http://man7.org/linux/man-pages/man7/ip.7.html]

#### `fn is_loopback(&self) -> bool`
1.7.0

Returns true if this is a loopback address (127.0.0.0/8).

This property is defined by RFC 1122.

#### `fn is_private(&self) -> bool`
1.7.0

Returns true if this is a private address.

The private address ranges are defined in RFC 1918 and include:

- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16

#### `fn is_link_local(&self) -> bool`
1.7.0

Returns true if the address is link-local (169.254.0.0/16).

This property is defined by RFC 3927.

#### `fn is_global(&self) -> bool`

Unstable (`ip` #27709)

: extra functionality has not been scrutinized to the level that it should be stable

Returns true if the address appears to be globally routable. See iana-ipv4-special-registry.

The following return false:

- private address (10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16)
- the loopback address (127.0.0.0/8)
- the link-local address (169.254.0.0/16)
- the broadcast address (255.255.255.255/32)
- test addresses used for documentation (192.0.2.0/24, 198.51.100.0/24 and 203.0.113.0/24)
- the unspecified address (0.0.0.0)

#### `fn is_multicast(&self) -> bool`
1.7.0

Returns true if this is a multicast address (224.0.0.0/4).

Multicast addresses have a most significant octet between 224 and 239, and is defined by RFC 5771.

#### `fn is_broadcast(&self) -> bool`
1.7.0

Returns true if this is a broadcast address (255.255.255.255).

A broadcast address has all octets set to 255 as defined in RFC 919.

#### `fn is_documentation(&self) -> bool`
1.7.0

Returns true if this address is in a range designated for documentation.

This is defined in RFC 5737:

- 192.0.2.0/24 (TEST-NET-1)
- 198.51.100.0/24 (TEST-NET-2)
- 203.0.113.0/24 (TEST-NET-3)

#### `fn to_ipv6_compatible(&self) -> Ipv6Addr`

Converts this address to an IPv4-compatible IPv6 address.

a.b.c.d becomes ::a.b.c.d

#### `fn to_ipv6_mapped(&self) -> Ipv6Addr`

Converts this address to an IPv4-mapped IPv6 address.

a.b.c.d becomes ::ffff:a.b.c.d

## Trait Implementations

### `impl Copy for Ipv4Addr`
[src]

### `impl Display for Ipv4Addr`
[src]

#### `fn fmt(&self, fmt: &mut Formatter) -> Result`

Formats the value using the given formatter.

### `impl Debug for Ipv4Addr`
[src]

#### `fn fmt(&self, fmt: &mut Formatter) -> Result`

Formats the value using the given formatter.

### `impl Clone for Ipv4Addr`
[src]

#### `fn clone(&self) -> Ipv4Addr`

Returns a copy of the value. Read more

#### `fn clone_from(&mut self, source: &Self)`

Performs copy-assignment from `source`. Read more

### `impl PartialEq for Ipv4Addr`
[src]

#### `fn eq(&self, other: &Ipv4Addr) -> bool`

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

#### `fn ne(&self, other: &Rhs) -> bool`

This method tests for `!=`.

### `impl Eq for Ipv4Addr`
[src]

### `impl Hash for Ipv4Addr`
[src]

#### `fn hash<H: Hasher>(&self, s: &mut H)`

Feeds this value into the state given, updating the hasher as necessary.

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher`
1.3.0

Feeds a slice of this type into the state provided.

### `impl PartialOrd for Ipv4Addr`
[src]

#### `fn partial_cmp(&self, other: &Ipv4Addr) -> Option<Ordering>`

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

#### `fn lt(&self, other: &Rhs) -> bool`

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

#### `fn le(&self, other: &Rhs) -> bool`

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

#### `fn gt(&self, other: &Rhs) -> bool`

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

#### `fn ge(&self, other: &Rhs) -> bool`

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

### `impl Ord for Ipv4Addr`
[src]

#### `fn cmp(&self, other: &Ipv4Addr) -> Ordering`

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

### `impl From<u32> for Ipv4Addr`
1.1.0
[src]

#### `fn from(ip: u32) -> Ipv4Addr`

Performs the conversion.

### `impl From<[u8; 4]> for Ipv4Addr`
1.9.0
[src]

#### `fn from(octets: [u8; 4]) -> Ipv4Addr`

Performs the conversion.

### `impl FromStr for Ipv4Addr`
[src]

#### `type Err = AddrParseError`

The associated error which can be returned from parsing.

#### `fn from_str(s: &str) -> Result<Ipv4Addr, AddrParseError>`

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

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)