Trait AfiClass

Source
pub trait AfiClass:
    Copy
    + Debug
    + Hash
    + Ord {
    type Address: Address;
    type Netmask: Netmask;
    type Hostmask: Hostmask;
    type Bitmask: Bitmask;
    type PrefixLength: PrefixLength + Into<Self::Netmask> + Into<Self::Hostmask>;
    type Prefix: Prefix<Address = Self::Address, Length = Self::PrefixLength, Netmask = Self::Netmask> + Into<Self::PrefixRange>;
    type Interface: Interface<Address = Self::Address, Prefix = Self::Prefix, PrefixLength = Self::PrefixLength>;
    type PrefixRange: PrefixRange<Prefix = Self::Prefix, Length = Self::PrefixLength>;
    type PrefixSet: for<'a> PrefixSet<'a, Prefix = Self::Prefix, Range = Self::PrefixRange>;

    // Required method
    fn as_afi_class() -> AfiClass;
}
Expand description

Provides an interface for describing a class of IP address families.

Required Associated Types§

Source

type Address: Address

The type representing IP address values of this address family class.

Source

type Netmask: Netmask

The type representing IP netmask values of this address family class.

Source

type Hostmask: Hostmask

The type representing IP hostmask values of this address family class.

Source

type Bitmask: Bitmask

The type representing bitmask values of this address family class.

Source

type PrefixLength: PrefixLength + Into<Self::Netmask> + Into<Self::Hostmask>

The type representing IP prefix-length values of this address family class.

Source

type Prefix: Prefix<Address = Self::Address, Length = Self::PrefixLength, Netmask = Self::Netmask> + Into<Self::PrefixRange>

The type representing IP prefix values of this address family class.

Source

type Interface: Interface<Address = Self::Address, Prefix = Self::Prefix, PrefixLength = Self::PrefixLength>

The type representing IP interface values of this address family class.

Source

type PrefixRange: PrefixRange<Prefix = Self::Prefix, Length = Self::PrefixLength>

The type representing IP prefix range values of this address family class.

Source

type PrefixSet: for<'a> PrefixSet<'a, Prefix = Self::Prefix, Range = Self::PrefixRange>

Available on crate feature std only.

The type representing IP prefix-sets of this address family class.

Required Methods§

Source

fn as_afi_class() -> AfiClass

Get the any::AfiClass variant associated with Self.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§