use std::net::Ipv4Addr;
use super::functions::*;
pub trait Ipv4Able {
fn get_u32(&self) -> u32;
}
impl Ipv4Able for u32 {
#[inline]
fn get_u32(&self) -> u32 {
*self
}
}
impl Ipv4Able for [u8; 4] {
#[inline]
fn get_u32(&self) -> u32 {
u8_array_to_u32(*self)
}
}
impl Ipv4Able for Ipv4Addr {
#[inline]
fn get_u32(&self) -> u32 {
u8_array_to_u32(self.octets())
}
}
impl<T: Ipv4Able> Ipv4Able for &T {
#[inline]
fn get_u32(&self) -> u32 {
Ipv4Able::get_u32(*self)
}
}