IpLCTrieSet

Struct IpLCTrieSet 

Source
pub struct IpLCTrieSet {
    pub ipv4: Ipv4LCTrieSet,
    pub ipv6: Ipv6LCTrieSet,
}
Expand description

A LC-trie set that mix both Ipv4 and Ipv6 prefixes

Fields§

§ipv4: Ipv4LCTrieSet§ipv6: Ipv6LCTrieSet

Implementations§

Source§

impl IpLCTrieSet

Source

pub fn len(&self) -> NonZeroUsize

Returns the size of the set.

Notice that it always greater or equals two since two top prefixes are always present in the map (one for Ipv4 and the other for Ipv6)

Source

pub fn contains(&self, ipnet: &IpNet) -> bool

Checks if an element is present (exact match).

Source

pub fn get(&self, ipnet: &IpNet) -> Option<IpNet>

Gets the value associated with an exact match of the key.

To access to the longest prefix match, use Self::lookup.

Source

pub fn lookup(&self, ipnet: &IpNet) -> IpNet

Gets the longest prefix which matches the given key.

As the top prefix always matches, it never fails.

To access to the exact prefix match, use Self::get.

Source

pub fn iter(&self) -> impl Iterator<Item = IpNet> + '_

Iterates over all the prefixes of this set.

Trait Implementations§

Source§

impl FromIterator<IpNet> for IpLCTrieSet

Source§

fn from_iter<I: IntoIterator<Item = IpNet>>(iter: I) -> Self

Creates a value from an iterator. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.