pub enum IpAddr { V4(Ipv4Addr), V6(Ipv6Addr), }
An IP address, either IPv4 or IPv6.
This enum can contain either an Ipv4Addr
or an Ipv6Addr
, see their respective documentation for more details.
The size of an IpAddr
instance may vary depending on the target operating system.
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; let localhost_v4 = IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)); let localhost_v6 = IpAddr::V6(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1)); assert_eq!("127.0.0.1".parse(), Ok(localhost_v4)); assert_eq!("::1".parse(), Ok(localhost_v6)); assert_eq!(localhost_v4.is_ipv6(), false); assert_eq!(localhost_v4.is_ipv4(), true);
V4(Ipv4Addr)
An IPv4 address.
V6(Ipv6Addr)
An IPv6 address.
impl IpAddr
[src]
pub fn is_unspecified(&self) -> bool
[src]1.12.0
Returns true
for the special 'unspecified' address.
See the documentation for Ipv4Addr::is_unspecified
and Ipv6Addr::is_unspecified
for more details.
pub fn is_loopback(&self) -> bool
[src]1.12.0
Returns true
if this is a loopback address.
See the documentation for Ipv4Addr::is_loopback
and Ipv6Addr::is_loopback
for more details.
pub fn is_global(&self) -> bool
[src]
Returns true
if the address appears to be globally routable.
See the documentation for Ipv4Addr::is_global
and Ipv6Addr::is_global
for more details.
pub fn is_multicast(&self) -> bool
[src]1.12.0
Returns true
if this is a multicast address.
See the documentation for Ipv4Addr::is_multicast
and Ipv6Addr::is_multicast
for more details.
pub fn is_documentation(&self) -> bool
[src]
Returns true
if this address is in a range designated for documentation.
See the documentation for Ipv4Addr::is_documentation
and Ipv6Addr::is_documentation
for more details.
pub fn is_ipv4(&self) -> bool
[src]1.16.0
Returns true
if this address is an IPv4 address, and false
otherwise.
pub fn is_ipv6(&self) -> bool
[src]1.16.0
Returns true
if this address is an IPv6 address, and false
otherwise.
impl PartialEq<IpAddr> for IpAddr
[src]
impl PartialEq<Ipv4Addr> for IpAddr
[src]1.16.0
fn eq(&self, other: &Ipv4Addr) -> bool
[src]
fn ne(&self, other: &Rhs) -> bool
[src]1.0.0
This method tests for !=
.
impl PartialEq<IpAddr> for Ipv4Addr
[src]1.16.0
fn eq(&self, other: &IpAddr) -> bool
[src]
fn ne(&self, other: &Rhs) -> bool
[src]1.0.0
This method tests for !=
.
impl PartialEq<IpAddr> for Ipv6Addr
[src]1.16.0
fn eq(&self, other: &IpAddr) -> bool
[src]
fn ne(&self, other: &Rhs) -> bool
[src]1.0.0
This method tests for !=
.
impl PartialEq<Ipv6Addr> for IpAddr
[src]1.16.0
fn eq(&self, other: &Ipv6Addr) -> bool
[src]
fn ne(&self, other: &Rhs) -> bool
[src]1.0.0
This method tests for !=
.
impl Eq for IpAddr
[src]
impl Ord for IpAddr
[src]
fn cmp(&self, other: &IpAddr) -> Ordering
[src]
fn max(self, other: Self) -> Self
[src]1.21.0
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
[src]1.21.0
Compares and returns the minimum of two values. Read more
fn clamp(self, min: Self, max: Self) -> Self
[src]
Restrict a value to a certain interval. Read more
impl PartialOrd<IpAddr> for IpAddr
[src]
fn partial_cmp(&self, other: &IpAddr) -> Option<Ordering>
[src]
fn lt(&self, other: &IpAddr) -> bool
[src]
fn le(&self, other: &IpAddr) -> bool
[src]
fn gt(&self, other: &IpAddr) -> bool
[src]
fn ge(&self, other: &IpAddr) -> bool
[src]
impl PartialOrd<Ipv4Addr> for IpAddr
[src]1.16.0
fn partial_cmp(&self, other: &Ipv4Addr) -> Option<Ordering>
[src]
fn lt(&self, other: &Rhs) -> bool
[src]1.0.0
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
[src]1.0.0
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
[src]1.0.0
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
[src]1.0.0
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialOrd<IpAddr> for Ipv4Addr
[src]1.16.0
fn partial_cmp(&self, other: &IpAddr) -> Option<Ordering>
[src]
fn lt(&self, other: &Rhs) -> bool
[src]1.0.0
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
[src]1.0.0
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
[src]1.0.0
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
[src]1.0.0
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialOrd<Ipv6Addr> for IpAddr
[src]1.16.0
fn partial_cmp(&self, other: &Ipv6Addr) -> Option<Ordering>
[src]
fn lt(&self, other: &Rhs) -> bool
[src]1.0.0
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
[src]1.0.0
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
[src]1.0.0
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
[src]1.0.0
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialOrd<IpAddr> for Ipv6Addr
[src]1.16.0
fn partial_cmp(&self, other: &IpAddr) -> Option<Ordering>
[src]
fn lt(&self, other: &Rhs) -> bool
[src]1.0.0
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
[src]1.0.0
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
[src]1.0.0
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
[src]1.0.0
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Hash for IpAddr
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
[src]1.3.0
Feeds a slice of this type into the given [Hasher
]. Read more
impl Display for IpAddr
[src]
impl Debug for IpAddr
[src]
impl FromStr for IpAddr
[src]
type Err = AddrParseError
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<IpAddr, AddrParseError>
[src]
impl Copy for IpAddr
[src]
impl From<Ipv4Addr> for IpAddr
[src]1.16.0
impl From<Ipv6Addr> for IpAddr
[src]1.16.0
impl From<[u8; 4]> for IpAddr
[src]1.17.0
impl From<[u8; 16]> for IpAddr
[src]1.17.0
fn from(octets: [u8; 16]) -> IpAddr
[src]
Creates an IpAddr::V6
from a sixteen element byte array.
impl From<[u16; 8]> for IpAddr
[src]1.17.0
impl Clone for IpAddr
[src]
impl UnwindSafe for IpAddr
impl RefUnwindSafe for IpAddr
impl Unpin for IpAddr
impl Send for IpAddr
impl Sync for IpAddr
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.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
impl<T> From<T> for T
[src]
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.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
fn borrow(&self) -> &T
[src]
impl<'_, F> Future for &'_ mut F where F: Unpin + Future + ?Sized, type Output = <F as Future>::Output; impl<'_, I> Iterator for &'_ mut I where I: Iterator + ?Sized, type Item = <I as Iterator>::Item; impl<'_, R: Read + ?Sized> Read for &'_ mut R impl<'_, W: Write + ?Sized> Write for &'_ mut W
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
fn borrow_mut(&mut self) -> &mut T
[src]
impl<'_, F> Future for &'_ mut F where F: Unpin + Future + ?Sized, type Output = <F as Future>::Output; impl<'_, I> Iterator for &'_ mut I where I: Iterator + ?Sized, type Item = <I as Iterator>::Item; impl<'_, R: Read + ?Sized> Read for &'_ mut R impl<'_, W: Write + ?Sized> Write for &'_ mut W
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/net/enum.IpAddr.html