Trait unsegen::container::ContainerProvider[][src]

pub trait ContainerProvider {
    type Context;
    type Index: Clone + PartialEq + Debug;

    const DEFAULT_CONTAINER: Self::Index;

    fn get<'a, 'b: 'a>(
        &'b self,
        index: &'a Self::Index
    ) -> &'b dyn Container<Self::Context>;
fn get_mut<'a, 'b: 'a>(
        &'b mut self,
        index: &'a Self::Index
    ) -> &'b mut dyn Container<Self::Context>; }
Expand description

A ContainerProvider stores the individual components (Containers) of an application and allows them to be retrieved based on an index.

Note that every possible value for Self::Index must correspond to a valid component. A good choice for an Index is therefore an enum.

Associated Types

type Context[src]

Type to be passed as a parameter to Container::input.

type Index: Clone + PartialEq + Debug[src]

Type that enumerates and identifies all containers.

Associated Constants

const DEFAULT_CONTAINER: Self::Index[src]

The container selected by default (i.e., the start of the application)

Required methods

fn get<'a, 'b: 'a>(
    &'b self,
    index: &'a Self::Index
) -> &'b dyn Container<Self::Context>
[src]

Get the container identified by the index.

fn get_mut<'a, 'b: 'a>(
    &'b mut self,
    index: &'a Self::Index
) -> &'b mut dyn Container<Self::Context>
[src]

Get the container identified by the index (mutable).

Implementors