Merge pull request #46 from greydot/ord

Add PartialOrd and Ord instances for network types.
This commit is contained in:
Abhishek Chanda
2017-05-16 11:42:51 +01:00
committed by GitHub
3 changed files with 3 additions and 3 deletions

View File

@ -7,7 +7,7 @@ use common::{IpNetworkError, cidr_parts, parse_prefix, parse_addr};
const IPV4_BITS: u8 = 32; const IPV4_BITS: u8 = 32;
/// Represents a network range where the IP addresses are of v4 /// Represents a network range where the IP addresses are of v4
#[derive(Debug,Clone,Copy,Hash,PartialEq,Eq)] #[derive(Debug,Clone,Copy,Hash,PartialEq,Eq,PartialOrd,Ord)]
pub struct Ipv4Network { pub struct Ipv4Network {
addr: Ipv4Addr, addr: Ipv4Addr,
prefix: u8, prefix: u8,

View File

@ -9,7 +9,7 @@ const IPV6_BITS: u8 = 128;
const IPV6_SEGMENT_BITS: u8 = 16; const IPV6_SEGMENT_BITS: u8 = 16;
/// Represents a network range where the IP addresses are of v6 /// Represents a network range where the IP addresses are of v6
#[derive(Debug,Clone,Copy,Hash,PartialEq,Eq)] #[derive(Debug,Clone,Copy,Hash,PartialEq,Eq,PartialOrd,Ord)]
pub struct Ipv6Network { pub struct Ipv6Network {
addr: Ipv6Addr, addr: Ipv6Addr,
prefix: u8, prefix: u8,

View File

@ -20,7 +20,7 @@ pub use common::IpNetworkError;
/// Represents a generic network range. This type can have two variants: /// Represents a generic network range. This type can have two variants:
/// the v4 and the v6 case. /// the v4 and the v6 case.
#[derive(Debug,Clone,Copy,Hash,PartialEq,Eq)] #[derive(Debug,Clone,Copy,Hash,PartialEq,Eq,PartialOrd,Ord)]
pub enum IpNetwork { pub enum IpNetwork {
V4(Ipv4Network), V4(Ipv4Network),
V6(Ipv6Network), V6(Ipv6Network),