Skip to main content

TableDef

Trait TableDef 

Source
pub trait TableDef<'a>: Parse<'a, Error = Error> {
    const TABLE_ID_RANGES: &'static [(u8, u8)];
    const NAME: &'static str;
}
Expand description

Implemented by every typed table; drives crate::tables::AnyTable dispatch. TABLE_ID_RANGES lists the inclusive (lo, hi) table_id ranges this type accepts.

Required Associated Constants§

Source

const TABLE_ID_RANGES: &'static [(u8, u8)]

Inclusive (lo, hi) table_id ranges this type parses.

Single-id types use a single-element slice &[(id, id)]. Multi-range types (e.g. SDT [(0x42,0x42),(0x46,0x46)]) list each contiguous run separately.

Source

const NAME: &'static str

Spec name for diagnostics. SCREAMING_SNAKE, suffix-free: PROGRAM_ASSOCIATION, EVENT_INFORMATION, SERVICE_DESCRIPTION.

Deliberate exceptions: DSM_CC_SECTION and MPE_DATAGRAM_SECTION keep _SECTION because it is part of the spec entity name, not a type suffix.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'a> TableDef<'a> for Ait<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "APPLICATION_INFORMATION"

Source§

impl<'a> TableDef<'a> for Bat<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "BOUQUET_ASSOCIATION"

Source§

impl<'a> TableDef<'a> for Cat<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "CONDITIONAL_ACCESS"

Source§

impl<'a> TableDef<'a> for Cit<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "CONTENT_IDENTIFIER"

Source§

impl<'a> TableDef<'a> for Container<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "CONTAINER"

Source§

impl<'a> TableDef<'a> for Dit

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "DISCONTINUITY_INFORMATION"

Source§

impl<'a> TableDef<'a> for DownloadableFontInfoSection<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "DOWNLOADABLE_FONT_INFO"

Source§

impl<'a> TableDef<'a> for DsmccSection<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "DSM_CC_SECTION"

Source§

impl<'a> TableDef<'a> for Eit<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "EVENT_INFORMATION"

Source§

impl<'a> TableDef<'a> for Int<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "IP_MAC_NOTIFICATION"

Source§

impl<'a> TableDef<'a> for MpeDatagramSection<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "MPE_DATAGRAM_SECTION"

Source§

impl<'a> TableDef<'a> for MpeFec<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "MPE_FEC"

Source§

impl<'a> TableDef<'a> for MpeIfec<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "MPE_IFEC"

Source§

impl<'a> TableDef<'a> for Nit<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "NETWORK_INFORMATION"

Source§

impl<'a> TableDef<'a> for Pat

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "PROGRAM_ASSOCIATION"

Source§

impl<'a> TableDef<'a> for Pmt<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "PROGRAM_MAP"

Source§

impl<'a> TableDef<'a> for ProtectionMessageSection<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "PROTECTION_MESSAGE"

Source§

impl<'a> TableDef<'a> for Rct<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "RELATED_CONTENT"

Source§

impl<'a> TableDef<'a> for Rnt<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "RELATED_AND_NEIGHBOURING"

Source§

impl<'a> TableDef<'a> for Rst

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "RUNNING_STATUS"

Source§

impl<'a> TableDef<'a> for Sat<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "SATELLITE_ACCESS"

Source§

impl<'a> TableDef<'a> for Sdt<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "SERVICE_DESCRIPTION"

Source§

impl<'a> TableDef<'a> for Sit<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "SELECTION_INFORMATION"

Source§

impl<'a> TableDef<'a> for St

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "STUFFING"

Source§

impl<'a> TableDef<'a> for Tdt

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "TIME_AND_DATE"

Source§

impl<'a> TableDef<'a> for Tot<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "TIME_OFFSET"

Source§

impl<'a> TableDef<'a> for Tsdt<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "TRANSPORT_STREAM_DESCRIPTION"

Source§

impl<'a> TableDef<'a> for Unt<'a>

Source§

const TABLE_ID_RANGES: &'static [(u8, u8)]

Source§

const NAME: &'static str = "UPDATE_NOTIFICATION"