Enum amadeus::data::IpAddr 1.7.0[−][src]
Expand description
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.
Examples
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);
Variants
V4(Ipv4Addr)
An IPv4 address.
V6(Ipv6Addr)
An IPv6 address.
Implementations
impl IpAddr
[src]
impl IpAddr
[src]pub const fn is_unspecified(&self) -> bool
1.12.0 (const: 1.50.0)[src]
pub const fn is_unspecified(&self) -> bool
1.12.0 (const: 1.50.0)[src]Returns true
for the special ‘unspecified’ address.
See the documentation for Ipv4Addr::is_unspecified()
and
Ipv6Addr::is_unspecified()
for more details.
Examples
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; assert_eq!(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)).is_unspecified(), true); assert_eq!(IpAddr::V6(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 0)).is_unspecified(), true);
pub const fn is_loopback(&self) -> bool
1.12.0 (const: 1.50.0)[src]
pub const fn is_loopback(&self) -> bool
1.12.0 (const: 1.50.0)[src]Returns true
if this is a loopback address.
See the documentation for Ipv4Addr::is_loopback()
and
Ipv6Addr::is_loopback()
for more details.
Examples
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; assert_eq!(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)).is_loopback(), true); assert_eq!(IpAddr::V6(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 0x1)).is_loopback(), true);
pub const fn is_global(&self) -> bool
[src]
🔬 This is a nightly-only experimental API. (ip
)
extra functionality has not been scrutinized to the level that it should be to be stable
pub const fn is_global(&self) -> bool
[src]🔬 This is a nightly-only experimental API. (ip
)
extra functionality has not been scrutinized to the level that it should be to be stable
Returns true
if the address appears to be globally routable.
See the documentation for Ipv4Addr::is_global()
and
Ipv6Addr::is_global()
for more details.
Examples
#![feature(ip)] use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; assert_eq!(IpAddr::V4(Ipv4Addr::new(80, 9, 12, 3)).is_global(), true); assert_eq!(IpAddr::V6(Ipv6Addr::new(0, 0, 0x1c9, 0, 0, 0xafc8, 0, 0x1)).is_global(), true);
pub const fn is_multicast(&self) -> bool
1.12.0 (const: 1.50.0)[src]
pub const fn is_multicast(&self) -> bool
1.12.0 (const: 1.50.0)[src]Returns true
if this is a multicast address.
See the documentation for Ipv4Addr::is_multicast()
and
Ipv6Addr::is_multicast()
for more details.
Examples
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; assert_eq!(IpAddr::V4(Ipv4Addr::new(224, 254, 0, 0)).is_multicast(), true); assert_eq!(IpAddr::V6(Ipv6Addr::new(0xff00, 0, 0, 0, 0, 0, 0, 0)).is_multicast(), true);
pub const fn is_documentation(&self) -> bool
[src]
🔬 This is a nightly-only experimental API. (ip
)
extra functionality has not been scrutinized to the level that it should be to be stable
pub const fn is_documentation(&self) -> bool
[src]🔬 This is a nightly-only experimental API. (ip
)
extra functionality has not been scrutinized to the level that it should be to be stable
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.
Examples
#![feature(ip)] use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; assert_eq!(IpAddr::V4(Ipv4Addr::new(203, 0, 113, 6)).is_documentation(), true); assert_eq!( IpAddr::V6(Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 0)).is_documentation(), true );
pub const fn is_ipv4(&self) -> bool
1.16.0 (const: 1.50.0)[src]
pub const fn is_ipv4(&self) -> bool
1.16.0 (const: 1.50.0)[src]Returns true
if this address is an IPv4
address, and false
otherwise.
Examples
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; assert_eq!(IpAddr::V4(Ipv4Addr::new(203, 0, 113, 6)).is_ipv4(), true); assert_eq!(IpAddr::V6(Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 0)).is_ipv4(), false);
pub const fn is_ipv6(&self) -> bool
1.16.0 (const: 1.50.0)[src]
pub const fn is_ipv6(&self) -> bool
1.16.0 (const: 1.50.0)[src]Returns true
if this address is an IPv6
address, and false
otherwise.
Examples
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; assert_eq!(IpAddr::V4(Ipv4Addr::new(203, 0, 113, 6)).is_ipv6(), false); assert_eq!(IpAddr::V6(Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 0)).is_ipv6(), true);
Trait Implementations
impl AmadeusOrd for IpAddr
[src]
impl AmadeusOrd for IpAddr
[src]pub fn amadeus_cmp(&self, other: &IpAddr) -> Ordering
[src]
impl<'de> Deserialize<'de> for IpAddr
[src]
impl<'de> Deserialize<'de> for IpAddr
[src]pub fn deserialize<D>(
deserializer: D
) -> Result<IpAddr, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
[src]
pub fn deserialize<D>(
deserializer: D
) -> Result<IpAddr, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl DowncastFrom<Value> for IpAddr
[src]
impl DowncastFrom<Value> for IpAddr
[src]pub fn downcast_from(self_: Value) -> Result<IpAddr, DowncastError>
[src]
impl From<[u16; 8]> for IpAddr
1.17.0[src]
impl From<[u16; 8]> for IpAddr
1.17.0[src]pub fn from(segments: [u16; 8]) -> IpAddr
[src]
pub fn from(segments: [u16; 8]) -> IpAddr
[src]Creates an IpAddr::V6
from an eight element 16-bit array.
Examples
use std::net::{IpAddr, Ipv6Addr}; let addr = IpAddr::from([ 525u16, 524u16, 523u16, 522u16, 521u16, 520u16, 519u16, 518u16, ]); assert_eq!( IpAddr::V6(Ipv6Addr::new( 0x20d, 0x20c, 0x20b, 0x20a, 0x209, 0x208, 0x207, 0x206 )), addr );
impl From<[u8; 16]> for IpAddr
1.17.0[src]
impl From<[u8; 16]> for IpAddr
1.17.0[src]pub fn from(octets: [u8; 16]) -> IpAddr
[src]
pub fn from(octets: [u8; 16]) -> IpAddr
[src]Creates an IpAddr::V6
from a sixteen element byte array.
Examples
use std::net::{IpAddr, Ipv6Addr}; let addr = IpAddr::from([ 25u8, 24u8, 23u8, 22u8, 21u8, 20u8, 19u8, 18u8, 17u8, 16u8, 15u8, 14u8, 13u8, 12u8, 11u8, 10u8, ]); assert_eq!( IpAddr::V6(Ipv6Addr::new( 0x1918, 0x1716, 0x1514, 0x1312, 0x1110, 0x0f0e, 0x0d0c, 0x0b0a )), addr );
impl<'a> FromSql<'a> for IpAddr
[src]
impl<'a> FromSql<'a> for IpAddr
[src]pub fn from_sql(
&Type,
raw: &'a [u8]
) -> Result<IpAddr, Box<dyn Error + 'static + Sync + Send, Global>>
[src]
pub fn from_sql(
&Type,
raw: &'a [u8]
) -> Result<IpAddr, Box<dyn Error + 'static + Sync + Send, Global>>
[src]Creates a new value of this type from a buffer of data of the specified
Postgres Type
in its binary format. Read more
pub fn accepts(ty: &Type) -> bool
[src]
pub fn accepts(ty: &Type) -> bool
[src]Determines if a value of this type can be created from the specified
Postgres Type
. Read more
impl FromStr for IpAddr
[src]
impl FromStr for IpAddr
[src]type Err = AddrParseError
type Err = AddrParseError
The associated error which can be returned from parsing.
impl Ord for IpAddr
[src]
impl Ord for IpAddr
[src]impl ParquetData for IpAddr
[src]
impl ParquetData for IpAddr
[src]type Schema = StringSchema
type Reader = impl Reader<Item = IpAddr>
type Predicate = Predicate
pub fn parse(
schema: &Type,
_predicate: Option<&<IpAddr as ParquetData>::Predicate>,
repetition: Option<Repetition>
) -> Result<(String, <IpAddr as ParquetData>::Schema), ParquetError>
[src]
pub fn parse(
schema: &Type,
_predicate: Option<&<IpAddr as ParquetData>::Predicate>,
repetition: Option<Repetition>
) -> Result<(String, <IpAddr as ParquetData>::Schema), ParquetError>
[src]Parse a [Type
] into Self::Schema
, using repetition
instead of
Type::get_basic_info().repetition()
. A repetition
of None
denotes a root
schema. Read more
pub fn reader(
schema: &<IpAddr as ParquetData>::Schema,
path: &mut Vec<String, Global>,
def_level: i16,
rep_level: i16,
paths: &mut HashMap<ColumnPath, ColumnReader, RandomState>,
batch_size: usize
) -> <IpAddr as ParquetData>::Reader
[src]
pub fn reader(
schema: &<IpAddr as ParquetData>::Schema,
path: &mut Vec<String, Global>,
def_level: i16,
rep_level: i16,
paths: &mut HashMap<ColumnPath, ColumnReader, RandomState>,
batch_size: usize
) -> <IpAddr as ParquetData>::Reader
[src]Builds tree of [Reader
]s for the specified [Schema
] recursively.
impl PartialOrd<IpAddr> for IpAddr
[src]
impl PartialOrd<IpAddr> for IpAddr
[src]pub fn partial_cmp(&self, other: &IpAddr) -> Option<Ordering>
[src]
pub fn partial_cmp(&self, other: &IpAddr) -> Option<Ordering>
[src]This method returns an ordering between self
and other
values if one exists. Read more
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than (for self
and other
) and is used by the <
operator. Read more
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl PartialOrd<Ipv4Addr> for IpAddr
1.16.0[src]
impl PartialOrd<Ipv4Addr> for IpAddr
1.16.0[src]pub fn partial_cmp(&self, other: &Ipv4Addr) -> Option<Ordering>
[src]
pub fn partial_cmp(&self, other: &Ipv4Addr) -> Option<Ordering>
[src]This method returns an ordering between self
and other
values if one exists. Read more
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than (for self
and other
) and is used by the <
operator. Read more
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl PartialOrd<Ipv6Addr> for IpAddr
1.16.0[src]
impl PartialOrd<Ipv6Addr> for IpAddr
1.16.0[src]pub fn partial_cmp(&self, other: &Ipv6Addr) -> Option<Ordering>
[src]
pub fn partial_cmp(&self, other: &Ipv6Addr) -> Option<Ordering>
[src]This method returns an ordering between self
and other
values if one exists. Read more
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than (for self
and other
) and is used by the <
operator. Read more
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl PostgresData for IpAddr
[src]
impl PostgresData for IpAddr
[src]impl SerdeData for IpAddr
[src]
impl SerdeData for IpAddr
[src]pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
[src]
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
pub fn deserialize<'de, D>(
deserializer: D,
_schema: Option<SchemaIncomplete>
) -> Result<IpAddr, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
[src]
deserializer: D,
_schema: Option<SchemaIncomplete>
) -> Result<IpAddr, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
impl Serialize for IpAddr
[src]
impl Serialize for IpAddr
[src]pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
[src]
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
[src]Serialize this value into the given Serde serializer. Read more
impl ToSql for IpAddr
[src]
impl ToSql for IpAddr
[src]pub fn to_sql(
&self,
&Type,
w: &mut BytesMut
) -> Result<IsNull, Box<dyn Error + 'static + Sync + Send, Global>>
[src]
pub fn to_sql(
&self,
&Type,
w: &mut BytesMut
) -> Result<IsNull, Box<dyn Error + 'static + Sync + Send, Global>>
[src]Converts the value of self
into the binary format of the specified
Postgres Type
, appending it to out
. Read more
impl Copy for IpAddr
[src]
impl Eq for IpAddr
[src]
impl StructuralEq for IpAddr
[src]
impl StructuralPartialEq for IpAddr
[src]
Auto Trait Implementations
impl RefUnwindSafe for IpAddr
impl Send for IpAddr
impl Sync for IpAddr
impl Unpin for IpAddr
impl UnwindSafe for IpAddr
Blanket Implementations
impl<T> Any for T where
T: Any + Serialize + Deserialize,
[src]
impl<T> Any for T where
T: Any + Serialize + Deserialize,
[src]impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<A, B> Downcast<A> for B where
A: DowncastFrom<B>,
[src]
impl<A, B> Downcast<A> for B where
A: DowncastFrom<B>,
[src]pub fn downcast(self) -> Result<A, DowncastError>
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]pub fn equivalent(&self, key: &K) -> bool
[src]
pub fn equivalent(&self, key: &K) -> bool
[src]Compare self to key
and return true
if they are equal.
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<T> Serialize for T where
T: Serialize + ?Sized,
[src]
impl<T> Serialize for T where
T: Serialize + ?Sized,
[src]pub fn erased_serialize(
&self,
serializer: &mut dyn Serializer
) -> Result<Ok, Error>
[src]
&self,
serializer: &mut dyn Serializer
) -> Result<Ok, Error>
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> Type for T where
T: ?Sized,
[src]
impl<T> Type for T where
T: ?Sized,
[src]pub default fn meta(self: *const T) -> <T as Type>::Meta
[src]
pub default fn meta(self: *const T) -> <T as Type>::Meta
[src]Retrieve TraitObject
, Slice
or Concrete
meta data respectively for a type
pub default fn dangling(t: <T as Type>::Meta) -> NonNull<T>
[src]
pub default fn dangling(t: <T as Type>::Meta) -> NonNull<T>
[src]Create a dangling non-null *const Self
with the provided Self::Meta
.
pub default fn fatten(thin: *mut (), t: <T as Type>::Meta) -> *mut T
[src]
pub default fn fatten(thin: *mut (), t: <T as Type>::Meta) -> *mut T
[src]Create a *mut Self
with the provided Self::Meta
.
type Meta: 'static
type Meta: 'static
Type of metadata for type.
fn meta_type(self: *const Self) -> MetaType
[src]
fn meta_type(self: *const Self) -> MetaType
[src]Helper method describing whether a type is TraitObject
, Slice
or Concrete
.
impl<T> Type for T
[src]
impl<T> Type for T
[src]pub fn meta(self: *const T) -> <T as Type>::Meta
[src]
pub fn meta(self: *const T) -> <T as Type>::Meta
[src]Retrieve TraitObject
, Slice
or Concrete
meta data respectively for a type
pub fn dangling(_t: <T as Type>::Meta) -> NonNull<T>
[src]
pub fn dangling(_t: <T as Type>::Meta) -> NonNull<T>
[src]Create a dangling non-null *const Self
with the provided Self::Meta
.
pub fn fatten(thin: *mut (), _t: <T as Type>::Meta) -> *mut T
[src]
pub fn fatten(thin: *mut (), _t: <T as Type>::Meta) -> *mut T
[src]Create a *mut Self
with the provided Self::Meta
.
fn meta_type(self: *const Self) -> MetaType
[src]
fn meta_type(self: *const Self) -> MetaType
[src]Helper method describing whether a type is TraitObject
, Slice
or Concrete
.
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> Debug for T where
T: Debug + Serialize + Deserialize + ?Sized,
[src]
T: Debug + Serialize + Deserialize + ?Sized,
impl<T> Deserialize for T where
T: DeserializeOwned,
[src]
T: DeserializeOwned,
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> Display for T where
T: Display + Serialize + Deserialize + ?Sized,
[src]
T: Display + Serialize + Deserialize + ?Sized,
impl<T> FromSqlOwned for T where
T: for<'a> FromSql<'a>,
[src]
T: for<'a> FromSql<'a>,
impl<T> ProcessSend for T where
T: Send + Serialize + for<'de> Deserialize<'de> + ?Sized,
[src]
T: Send + Serialize + for<'de> Deserialize<'de> + ?Sized,
impl<T> Serialize for T where
T: Serialize + ?Sized,
[src]
T: Serialize + ?Sized,