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-section parser; drives crate::tables::AnyTableSection 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 AitSection<'a>

Source§

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

Source§

const NAME: &'static str = "APPLICATION_INFORMATION"

Source§

impl<'a> TableDef<'a> for BatSection<'a>

Source§

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

Source§

const NAME: &'static str = "BOUQUET_ASSOCIATION"

Source§

impl<'a> TableDef<'a> for CatSection<'a>

Source§

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

Source§

const NAME: &'static str = "CONDITIONAL_ACCESS"

Source§

impl<'a> TableDef<'a> for CitSection<'a>

Source§

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

Source§

const NAME: &'static str = "CONTENT_IDENTIFIER"

Source§

impl<'a> TableDef<'a> for ContainerSection<'a>

Source§

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

Source§

const NAME: &'static str = "CONTAINER"

Source§

impl<'a> TableDef<'a> for DitSection

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 EitSection<'a>

Source§

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

Source§

const NAME: &'static str = "EVENT_INFORMATION"

Source§

impl<'a> TableDef<'a> for IntSection<'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 MpeFecSection<'a>

Source§

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

Source§

const NAME: &'static str = "MPE_FEC"

Source§

impl<'a> TableDef<'a> for MpeIfecSection<'a>

Source§

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

Source§

const NAME: &'static str = "MPE_IFEC"

Source§

impl<'a> TableDef<'a> for NitSection<'a>

Source§

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

Source§

const NAME: &'static str = "NETWORK_INFORMATION"

Source§

impl<'a> TableDef<'a> for PatSection

Source§

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

Source§

const NAME: &'static str = "PROGRAM_ASSOCIATION"

Source§

impl<'a> TableDef<'a> for PmtSection<'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 RctSection<'a>

Source§

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

Source§

const NAME: &'static str = "RELATED_CONTENT"

Source§

impl<'a> TableDef<'a> for RntSection<'a>

Source§

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

Source§

const NAME: &'static str = "RELATED_AND_NEIGHBOURING"

Source§

impl<'a> TableDef<'a> for RstSection

Source§

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

Source§

const NAME: &'static str = "RUNNING_STATUS"

Source§

impl<'a> TableDef<'a> for SatSection<'a>

Source§

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

Source§

const NAME: &'static str = "SATELLITE_ACCESS"

Source§

impl<'a> TableDef<'a> for SdtSection<'a>

Source§

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

Source§

const NAME: &'static str = "SERVICE_DESCRIPTION"

Source§

impl<'a> TableDef<'a> for SitSection<'a>

Source§

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

Source§

const NAME: &'static str = "SELECTION_INFORMATION"

Source§

impl<'a> TableDef<'a> for StSection

Source§

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

Source§

const NAME: &'static str = "STUFFING"

Source§

impl<'a> TableDef<'a> for TdtSection

Source§

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

Source§

const NAME: &'static str = "TIME_AND_DATE"

Source§

impl<'a> TableDef<'a> for TotSection<'a>

Source§

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

Source§

const NAME: &'static str = "TIME_OFFSET"

Source§

impl<'a> TableDef<'a> for TsdtSection<'a>

Source§

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

Source§

const NAME: &'static str = "TRANSPORT_STREAM_DESCRIPTION"

Source§

impl<'a> TableDef<'a> for UntSection<'a>

Source§

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

Source§

const NAME: &'static str = "UPDATE_NOTIFICATION"