mirror of
https://github.com/achanda/ipnetwork.git
synced 2025-06-14 16:26:32 +00:00
Make IpNetwork::network
const (#210)
This commit is contained in:

committed by
GitHub

parent
49f07a4838
commit
876f882523
@ -201,10 +201,10 @@ impl Ipv4Network {
|
||||
/// let net: Ipv4Network = "10.1.9.32/16".parse().unwrap();
|
||||
/// assert_eq!(net.network(), Ipv4Addr::new(10, 1, 0, 0));
|
||||
/// ```
|
||||
pub fn network(&self) -> Ipv4Addr {
|
||||
let mask = u32::from(self.mask());
|
||||
let ip = u32::from(self.addr) & mask;
|
||||
Ipv4Addr::from(ip)
|
||||
pub const fn network(&self) -> Ipv4Addr {
|
||||
let mask = self.mask().to_bits();
|
||||
let ip = self.addr.to_bits() & mask;
|
||||
Ipv4Addr::from_bits(ip)
|
||||
}
|
||||
|
||||
/// Returns the broadcasting address of this `Ipv4Network`.
|
||||
|
@ -181,7 +181,7 @@ impl IpNetwork {
|
||||
/// let net: IpNetwork = "2001:db8::/96".parse().unwrap();
|
||||
/// assert_eq!(net.network(), Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 0));
|
||||
/// ```
|
||||
pub fn network(&self) -> IpAddr {
|
||||
pub const fn network(&self) -> IpAddr {
|
||||
match *self {
|
||||
IpNetwork::V4(ref a) => IpAddr::V4(a.network()),
|
||||
IpNetwork::V6(ref a) => IpAddr::V6(a.network()),
|
||||
|
Reference in New Issue
Block a user