Skip to main content

IcalComponentSpec

Trait IcalComponentSpec 

Source
pub trait IcalComponentSpec {
    const KIND: IcalComponentKind;

    // Provided methods
    fn allowed_children() -> &'static [IcalComponentKind] { ... }
    fn required_props() -> &'static [IcalPropKind] { ... }
}
Expand description

The per-component contract: the child components it may nest and the properties it requires. Implemented on the zero-sized component markers; the defaults are the permissive empty sets, so a component overrides only where it constrains.

Required Associated Constants§

Source

const KIND: IcalComponentKind

The component this spec describes.

Provided Methods§

Source

fn allowed_children() -> &'static [IcalComponentKind]

The child components this one may directly nest.

Source

fn required_props() -> &'static [IcalPropKind]

The properties this component requires.

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§

Source§

impl IcalComponentSpec for AVAILABLE

Source§

const KIND: IcalComponentKind = IcalComponentKind::Available

Source§

impl IcalComponentSpec for DAYLIGHT

Source§

const KIND: IcalComponentKind = IcalComponentKind::Daylight

Source§

impl IcalComponentSpec for PARTICIPANT

Source§

const KIND: IcalComponentKind = IcalComponentKind::Participant

Source§

impl IcalComponentSpec for STANDARD

Source§

const KIND: IcalComponentKind = IcalComponentKind::Standard

Source§

impl IcalComponentSpec for VALARM

Source§

const KIND: IcalComponentKind = IcalComponentKind::VAlarm

Source§

impl IcalComponentSpec for VAVAILABILITY

Source§

const KIND: IcalComponentKind = IcalComponentKind::VAvailability

Source§

impl IcalComponentSpec for VCALENDAR

Source§

const KIND: IcalComponentKind = IcalComponentKind::VCalendar

Source§

impl IcalComponentSpec for VEVENT

Source§

const KIND: IcalComponentKind = IcalComponentKind::VEvent

Source§

impl IcalComponentSpec for VFREEBUSY

Source§

const KIND: IcalComponentKind = IcalComponentKind::VFreeBusy

Source§

impl IcalComponentSpec for VJOURNAL

Source§

const KIND: IcalComponentKind = IcalComponentKind::VJournal

Source§

impl IcalComponentSpec for VLOCATION

Source§

const KIND: IcalComponentKind = IcalComponentKind::VLocation

Source§

impl IcalComponentSpec for VRESOURCE

Source§

const KIND: IcalComponentKind = IcalComponentKind::VResource

Source§

impl IcalComponentSpec for VTIMEZONE

Source§

const KIND: IcalComponentKind = IcalComponentKind::VTimezone

Source§

impl IcalComponentSpec for VTODO

Source§

const KIND: IcalComponentKind = IcalComponentKind::VTodo