use std::char::ToLowercase;
use crate::ipaddr::AddrType;
use crate::ipaddr::types::PrefixLen;
trait DivValues {
fn get_byte_count(&self) -> u8;
}
pub struct AddressDivision {
value: u64,
upper_value: u64,
prefix_len: PrefixLen,
}
pub trait DivArray {
fn get_divisions(&self) -> [AddressDivision];
fn get_division(&self, index: u32) -> &AddressDivision;
fn get_division_count(&self) -> u32;
}
pub struct AddressDivisionGroupingBase {
divisions: Box<dyn DivArray>,
}
pub struct StandardDivArray {
divs: Box<[AddressDivision]>
}
pub struct AddressSegment {
div: AddressDivision,
}
pub struct IPAddressSegment {
seg: AddressSegment,
}
pub struct IPv4AddressSegment {
seg: IPAddressSegment,
}