timely_container::flatcontainer

Trait Region

Source
pub trait Region: Default {
    type Owned;
    type ReadItem<'a>: IntoOwned<'a, Owned = Self::Owned>
       where Self: 'a;
    type Index: Index;

    // Required methods
    fn merge_regions<'a>(
        regions: impl Iterator<Item = &'a Self> + Clone,
    ) -> Self
       where Self: 'a;
    fn index(&self, index: Self::Index) -> Self::ReadItem<'_>;
    fn reserve_regions<'a, I>(&mut self, regions: I)
       where Self: 'a,
             I: Iterator<Item = &'a Self> + Clone;
    fn clear(&mut self);
    fn heap_size<F>(&self, callback: F)
       where F: FnMut(usize, usize);
    fn reborrow<'b, 'a>(item: Self::ReadItem<'a>) -> Self::ReadItem<'b>
       where 'a: 'b,
             Self: 'a;
}
Expand description

A region to absorb presented data and present it as a type with a lifetime.

This type absorbs data and provides an index to look up an equivalent representation of this data at a later time. It is up to an implementation to select the appropriate presentation of the data, and what data it can absorb.

Implement the Push trait for all types that can be copied into a region.

Required Associated Types§

Source

type Owned

An owned type that can be constructed from a read item.

Source

type ReadItem<'a>: IntoOwned<'a, Owned = Self::Owned> where Self: 'a

The type of the data that one gets out of the container.

Source

type Index: Index

The type to index into the container. Should be treated as an opaque type, even if known.

Required Methods§

Source

fn merge_regions<'a>(regions: impl Iterator<Item = &'a Self> + Clone) -> Self
where Self: 'a,

Construct a region that can absorb the contents of regions in the future.

Source

fn index(&self, index: Self::Index) -> Self::ReadItem<'_>

Index into the container. The index must be obtained by pushing data into the container.

Source

fn reserve_regions<'a, I>(&mut self, regions: I)
where Self: 'a, I: Iterator<Item = &'a Self> + Clone,

Ensure that the region can absorb the items of regions without reallocation

Source

fn clear(&mut self)

Remove all elements from this region, but retain allocations if possible.

Source

fn heap_size<F>(&self, callback: F)
where F: FnMut(usize, usize),

Heap size, size - capacity

Source

fn reborrow<'b, 'a>(item: Self::ReadItem<'a>) -> Self::ReadItem<'b>
where 'a: 'b, Self: 'a,

Converts a read item into one with a narrower lifetime.

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.

Implementations on Foreign Types§

Source§

impl<T> Region for Vec<T>
where T: Clone,

Source§

type Owned = T

Source§

type ReadItem<'a> = &'a T where Vec<T>: 'a

Source§

type Index = usize

Source§

fn merge_regions<'a>( regions: impl Iterator<Item = &'a Vec<T>> + Clone, ) -> Vec<T>
where Vec<T>: 'a,

Source§

fn index( &self, index: <Vec<T> as Region>::Index, ) -> <Vec<T> as Region>::ReadItem<'_>

Source§

fn reserve_regions<'a, I>(&mut self, regions: I)
where Vec<T>: 'a, I: Iterator<Item = &'a Vec<T>> + Clone,

Source§

fn clear(&mut self)

Source§

fn heap_size<F>(&self, callback: F)
where F: FnMut(usize, usize),

Source§

fn reborrow<'b, 'a>( item: <Vec<T> as Region>::ReadItem<'a>, ) -> <Vec<T> as Region>::ReadItem<'b>
where 'a: 'b, Vec<T>: 'a,

Implementors§

Source§

impl<A> Region for TupleARegion<A>
where A: Region, <A as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned,)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>,) where TupleARegion<A>: 'a

Source§

type Index = (<A as Region>::Index,)

Source§

impl<A, B> Region for TupleABRegion<A, B>
where A: Region, B: Region, <A as Region>::Index: Index, <B as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>) where TupleABRegion<A, B>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index)

Source§

impl<A, B, C> Region for TupleABCRegion<A, B, C>
where A: Region, B: Region, C: Region, <A as Region>::Index: Index, <B as Region>::Index: Index, <C as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned, <C as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>, <C as Region>::ReadItem<'a>) where TupleABCRegion<A, B, C>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index, <C as Region>::Index)

Source§

impl<A, B, C, D> Region for TupleABCDRegion<A, B, C, D>
where A: Region, B: Region, C: Region, D: Region, <A as Region>::Index: Index, <B as Region>::Index: Index, <C as Region>::Index: Index, <D as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned, <C as Region>::Owned, <D as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>, <C as Region>::ReadItem<'a>, <D as Region>::ReadItem<'a>) where TupleABCDRegion<A, B, C, D>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index, <C as Region>::Index, <D as Region>::Index)

Source§

impl<A, B, C, D, E> Region for TupleABCDERegion<A, B, C, D, E>
where A: Region, B: Region, C: Region, D: Region, E: Region, <A as Region>::Index: Index, <B as Region>::Index: Index, <C as Region>::Index: Index, <D as Region>::Index: Index, <E as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned, <C as Region>::Owned, <D as Region>::Owned, <E as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>, <C as Region>::ReadItem<'a>, <D as Region>::ReadItem<'a>, <E as Region>::ReadItem<'a>) where TupleABCDERegion<A, B, C, D, E>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index, <C as Region>::Index, <D as Region>::Index, <E as Region>::Index)

Source§

impl<A, B, C, D, E, F> Region for TupleABCDEFRegion<A, B, C, D, E, F>
where A: Region, B: Region, C: Region, D: Region, E: Region, F: Region, <A as Region>::Index: Index, <B as Region>::Index: Index, <C as Region>::Index: Index, <D as Region>::Index: Index, <E as Region>::Index: Index, <F as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned, <C as Region>::Owned, <D as Region>::Owned, <E as Region>::Owned, <F as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>, <C as Region>::ReadItem<'a>, <D as Region>::ReadItem<'a>, <E as Region>::ReadItem<'a>, <F as Region>::ReadItem<'a>) where TupleABCDEFRegion<A, B, C, D, E, F>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index, <C as Region>::Index, <D as Region>::Index, <E as Region>::Index, <F as Region>::Index)

Source§

impl<A, B, C, D, E, F, G> Region for TupleABCDEFGRegion<A, B, C, D, E, F, G>
where A: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, <A as Region>::Index: Index, <B as Region>::Index: Index, <C as Region>::Index: Index, <D as Region>::Index: Index, <E as Region>::Index: Index, <F as Region>::Index: Index, <G as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned, <C as Region>::Owned, <D as Region>::Owned, <E as Region>::Owned, <F as Region>::Owned, <G as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>, <C as Region>::ReadItem<'a>, <D as Region>::ReadItem<'a>, <E as Region>::ReadItem<'a>, <F as Region>::ReadItem<'a>, <G as Region>::ReadItem<'a>) where TupleABCDEFGRegion<A, B, C, D, E, F, G>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index, <C as Region>::Index, <D as Region>::Index, <E as Region>::Index, <F as Region>::Index, <G as Region>::Index)

Source§

impl<A, B, C, D, E, F, G, H> Region for TupleABCDEFGHRegion<A, B, C, D, E, F, G, H>
where A: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, H: Region, <A as Region>::Index: Index, <B as Region>::Index: Index, <C as Region>::Index: Index, <D as Region>::Index: Index, <E as Region>::Index: Index, <F as Region>::Index: Index, <G as Region>::Index: Index, <H as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned, <C as Region>::Owned, <D as Region>::Owned, <E as Region>::Owned, <F as Region>::Owned, <G as Region>::Owned, <H as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>, <C as Region>::ReadItem<'a>, <D as Region>::ReadItem<'a>, <E as Region>::ReadItem<'a>, <F as Region>::ReadItem<'a>, <G as Region>::ReadItem<'a>, <H as Region>::ReadItem<'a>) where TupleABCDEFGHRegion<A, B, C, D, E, F, G, H>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index, <C as Region>::Index, <D as Region>::Index, <E as Region>::Index, <F as Region>::Index, <G as Region>::Index, <H as Region>::Index)

Source§

impl<A, B, C, D, E, F, G, H, I> Region for TupleABCDEFGHIRegion<A, B, C, D, E, F, G, H, I>
where A: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, H: Region, I: Region, <A as Region>::Index: Index, <B as Region>::Index: Index, <C as Region>::Index: Index, <D as Region>::Index: Index, <E as Region>::Index: Index, <F as Region>::Index: Index, <G as Region>::Index: Index, <H as Region>::Index: Index, <I as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned, <C as Region>::Owned, <D as Region>::Owned, <E as Region>::Owned, <F as Region>::Owned, <G as Region>::Owned, <H as Region>::Owned, <I as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>, <C as Region>::ReadItem<'a>, <D as Region>::ReadItem<'a>, <E as Region>::ReadItem<'a>, <F as Region>::ReadItem<'a>, <G as Region>::ReadItem<'a>, <H as Region>::ReadItem<'a>, <I as Region>::ReadItem<'a>) where TupleABCDEFGHIRegion<A, B, C, D, E, F, G, H, I>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index, <C as Region>::Index, <D as Region>::Index, <E as Region>::Index, <F as Region>::Index, <G as Region>::Index, <H as Region>::Index, <I as Region>::Index)

Source§

impl<A, B, C, D, E, F, G, H, I, J> Region for TupleABCDEFGHIJRegion<A, B, C, D, E, F, G, H, I, J>
where A: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, H: Region, I: Region, J: Region, <A as Region>::Index: Index, <B as Region>::Index: Index, <C as Region>::Index: Index, <D as Region>::Index: Index, <E as Region>::Index: Index, <F as Region>::Index: Index, <G as Region>::Index: Index, <H as Region>::Index: Index, <I as Region>::Index: Index, <J as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned, <C as Region>::Owned, <D as Region>::Owned, <E as Region>::Owned, <F as Region>::Owned, <G as Region>::Owned, <H as Region>::Owned, <I as Region>::Owned, <J as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>, <C as Region>::ReadItem<'a>, <D as Region>::ReadItem<'a>, <E as Region>::ReadItem<'a>, <F as Region>::ReadItem<'a>, <G as Region>::ReadItem<'a>, <H as Region>::ReadItem<'a>, <I as Region>::ReadItem<'a>, <J as Region>::ReadItem<'a>) where TupleABCDEFGHIJRegion<A, B, C, D, E, F, G, H, I, J>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index, <C as Region>::Index, <D as Region>::Index, <E as Region>::Index, <F as Region>::Index, <G as Region>::Index, <H as Region>::Index, <I as Region>::Index, <J as Region>::Index)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K> Region for TupleABCDEFGHIJKRegion<A, B, C, D, E, F, G, H, I, J, K>
where A: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, H: Region, I: Region, J: Region, K: Region, <A as Region>::Index: Index, <B as Region>::Index: Index, <C as Region>::Index: Index, <D as Region>::Index: Index, <E as Region>::Index: Index, <F as Region>::Index: Index, <G as Region>::Index: Index, <H as Region>::Index: Index, <I as Region>::Index: Index, <J as Region>::Index: Index, <K as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned, <C as Region>::Owned, <D as Region>::Owned, <E as Region>::Owned, <F as Region>::Owned, <G as Region>::Owned, <H as Region>::Owned, <I as Region>::Owned, <J as Region>::Owned, <K as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>, <C as Region>::ReadItem<'a>, <D as Region>::ReadItem<'a>, <E as Region>::ReadItem<'a>, <F as Region>::ReadItem<'a>, <G as Region>::ReadItem<'a>, <H as Region>::ReadItem<'a>, <I as Region>::ReadItem<'a>, <J as Region>::ReadItem<'a>, <K as Region>::ReadItem<'a>) where TupleABCDEFGHIJKRegion<A, B, C, D, E, F, G, H, I, J, K>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index, <C as Region>::Index, <D as Region>::Index, <E as Region>::Index, <F as Region>::Index, <G as Region>::Index, <H as Region>::Index, <I as Region>::Index, <J as Region>::Index, <K as Region>::Index)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> Region for TupleABCDEFGHIJKLRegion<A, B, C, D, E, F, G, H, I, J, K, L>
where A: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, H: Region, I: Region, J: Region, K: Region, L: Region, <A as Region>::Index: Index, <B as Region>::Index: Index, <C as Region>::Index: Index, <D as Region>::Index: Index, <E as Region>::Index: Index, <F as Region>::Index: Index, <G as Region>::Index: Index, <H as Region>::Index: Index, <I as Region>::Index: Index, <J as Region>::Index: Index, <K as Region>::Index: Index, <L as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned, <C as Region>::Owned, <D as Region>::Owned, <E as Region>::Owned, <F as Region>::Owned, <G as Region>::Owned, <H as Region>::Owned, <I as Region>::Owned, <J as Region>::Owned, <K as Region>::Owned, <L as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>, <C as Region>::ReadItem<'a>, <D as Region>::ReadItem<'a>, <E as Region>::ReadItem<'a>, <F as Region>::ReadItem<'a>, <G as Region>::ReadItem<'a>, <H as Region>::ReadItem<'a>, <I as Region>::ReadItem<'a>, <J as Region>::ReadItem<'a>, <K as Region>::ReadItem<'a>, <L as Region>::ReadItem<'a>) where TupleABCDEFGHIJKLRegion<A, B, C, D, E, F, G, H, I, J, K, L>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index, <C as Region>::Index, <D as Region>::Index, <E as Region>::Index, <F as Region>::Index, <G as Region>::Index, <H as Region>::Index, <I as Region>::Index, <J as Region>::Index, <K as Region>::Index, <L as Region>::Index)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M> Region for TupleABCDEFGHIJKLMRegion<A, B, C, D, E, F, G, H, I, J, K, L, M>
where A: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, H: Region, I: Region, J: Region, K: Region, L: Region, M: Region, <A as Region>::Index: Index, <B as Region>::Index: Index, <C as Region>::Index: Index, <D as Region>::Index: Index, <E as Region>::Index: Index, <F as Region>::Index: Index, <G as Region>::Index: Index, <H as Region>::Index: Index, <I as Region>::Index: Index, <J as Region>::Index: Index, <K as Region>::Index: Index, <L as Region>::Index: Index, <M as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned, <C as Region>::Owned, <D as Region>::Owned, <E as Region>::Owned, <F as Region>::Owned, <G as Region>::Owned, <H as Region>::Owned, <I as Region>::Owned, <J as Region>::Owned, <K as Region>::Owned, <L as Region>::Owned, <M as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>, <C as Region>::ReadItem<'a>, <D as Region>::ReadItem<'a>, <E as Region>::ReadItem<'a>, <F as Region>::ReadItem<'a>, <G as Region>::ReadItem<'a>, <H as Region>::ReadItem<'a>, <I as Region>::ReadItem<'a>, <J as Region>::ReadItem<'a>, <K as Region>::ReadItem<'a>, <L as Region>::ReadItem<'a>, <M as Region>::ReadItem<'a>) where TupleABCDEFGHIJKLMRegion<A, B, C, D, E, F, G, H, I, J, K, L, M>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index, <C as Region>::Index, <D as Region>::Index, <E as Region>::Index, <F as Region>::Index, <G as Region>::Index, <H as Region>::Index, <I as Region>::Index, <J as Region>::Index, <K as Region>::Index, <L as Region>::Index, <M as Region>::Index)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N> Region for TupleABCDEFGHIJKLMNRegion<A, B, C, D, E, F, G, H, I, J, K, L, M, N>
where A: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, H: Region, I: Region, J: Region, K: Region, L: Region, M: Region, N: Region, <A as Region>::Index: Index, <B as Region>::Index: Index, <C as Region>::Index: Index, <D as Region>::Index: Index, <E as Region>::Index: Index, <F as Region>::Index: Index, <G as Region>::Index: Index, <H as Region>::Index: Index, <I as Region>::Index: Index, <J as Region>::Index: Index, <K as Region>::Index: Index, <L as Region>::Index: Index, <M as Region>::Index: Index, <N as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned, <C as Region>::Owned, <D as Region>::Owned, <E as Region>::Owned, <F as Region>::Owned, <G as Region>::Owned, <H as Region>::Owned, <I as Region>::Owned, <J as Region>::Owned, <K as Region>::Owned, <L as Region>::Owned, <M as Region>::Owned, <N as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>, <C as Region>::ReadItem<'a>, <D as Region>::ReadItem<'a>, <E as Region>::ReadItem<'a>, <F as Region>::ReadItem<'a>, <G as Region>::ReadItem<'a>, <H as Region>::ReadItem<'a>, <I as Region>::ReadItem<'a>, <J as Region>::ReadItem<'a>, <K as Region>::ReadItem<'a>, <L as Region>::ReadItem<'a>, <M as Region>::ReadItem<'a>, <N as Region>::ReadItem<'a>) where TupleABCDEFGHIJKLMNRegion<A, B, C, D, E, F, G, H, I, J, K, L, M, N>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index, <C as Region>::Index, <D as Region>::Index, <E as Region>::Index, <F as Region>::Index, <G as Region>::Index, <H as Region>::Index, <I as Region>::Index, <J as Region>::Index, <K as Region>::Index, <L as Region>::Index, <M as Region>::Index, <N as Region>::Index)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> Region for TupleABCDEFGHIJKLMNORegion<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O>
where A: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, H: Region, I: Region, J: Region, K: Region, L: Region, M: Region, N: Region, O: Region, <A as Region>::Index: Index, <B as Region>::Index: Index, <C as Region>::Index: Index, <D as Region>::Index: Index, <E as Region>::Index: Index, <F as Region>::Index: Index, <G as Region>::Index: Index, <H as Region>::Index: Index, <I as Region>::Index: Index, <J as Region>::Index: Index, <K as Region>::Index: Index, <L as Region>::Index: Index, <M as Region>::Index: Index, <N as Region>::Index: Index, <O as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned, <C as Region>::Owned, <D as Region>::Owned, <E as Region>::Owned, <F as Region>::Owned, <G as Region>::Owned, <H as Region>::Owned, <I as Region>::Owned, <J as Region>::Owned, <K as Region>::Owned, <L as Region>::Owned, <M as Region>::Owned, <N as Region>::Owned, <O as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>, <C as Region>::ReadItem<'a>, <D as Region>::ReadItem<'a>, <E as Region>::ReadItem<'a>, <F as Region>::ReadItem<'a>, <G as Region>::ReadItem<'a>, <H as Region>::ReadItem<'a>, <I as Region>::ReadItem<'a>, <J as Region>::ReadItem<'a>, <K as Region>::ReadItem<'a>, <L as Region>::ReadItem<'a>, <M as Region>::ReadItem<'a>, <N as Region>::ReadItem<'a>, <O as Region>::ReadItem<'a>) where TupleABCDEFGHIJKLMNORegion<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index, <C as Region>::Index, <D as Region>::Index, <E as Region>::Index, <F as Region>::Index, <G as Region>::Index, <H as Region>::Index, <I as Region>::Index, <J as Region>::Index, <K as Region>::Index, <L as Region>::Index, <M as Region>::Index, <N as Region>::Index, <O as Region>::Index)

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> Region for TupleABCDEFGHIJKLMNOPRegion<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>
where A: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, H: Region, I: Region, J: Region, K: Region, L: Region, M: Region, N: Region, O: Region, P: Region, <A as Region>::Index: Index, <B as Region>::Index: Index, <C as Region>::Index: Index, <D as Region>::Index: Index, <E as Region>::Index: Index, <F as Region>::Index: Index, <G as Region>::Index: Index, <H as Region>::Index: Index, <I as Region>::Index: Index, <J as Region>::Index: Index, <K as Region>::Index: Index, <L as Region>::Index: Index, <M as Region>::Index: Index, <N as Region>::Index: Index, <O as Region>::Index: Index, <P as Region>::Index: Index,

Source§

type Owned = (<A as Region>::Owned, <B as Region>::Owned, <C as Region>::Owned, <D as Region>::Owned, <E as Region>::Owned, <F as Region>::Owned, <G as Region>::Owned, <H as Region>::Owned, <I as Region>::Owned, <J as Region>::Owned, <K as Region>::Owned, <L as Region>::Owned, <M as Region>::Owned, <N as Region>::Owned, <O as Region>::Owned, <P as Region>::Owned)

Source§

type ReadItem<'a> = (<A as Region>::ReadItem<'a>, <B as Region>::ReadItem<'a>, <C as Region>::ReadItem<'a>, <D as Region>::ReadItem<'a>, <E as Region>::ReadItem<'a>, <F as Region>::ReadItem<'a>, <G as Region>::ReadItem<'a>, <H as Region>::ReadItem<'a>, <I as Region>::ReadItem<'a>, <J as Region>::ReadItem<'a>, <K as Region>::ReadItem<'a>, <L as Region>::ReadItem<'a>, <M as Region>::ReadItem<'a>, <N as Region>::ReadItem<'a>, <O as Region>::ReadItem<'a>, <P as Region>::ReadItem<'a>) where TupleABCDEFGHIJKLMNOPRegion<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>: 'a

Source§

type Index = (<A as Region>::Index, <B as Region>::Index, <C as Region>::Index, <D as Region>::Index, <E as Region>::Index, <F as Region>::Index, <G as Region>::Index, <H as Region>::Index, <I as Region>::Index, <J as Region>::Index, <K as Region>::Index, <L as Region>::Index, <M as Region>::Index, <N as Region>::Index, <O as Region>::Index, <P as Region>::Index)

Source§

impl<B> Region for HuffmanContainer<B>
where B: Ord + Clone + 'static,

Source§

type Owned = Vec<B>

Source§

type ReadItem<'a> = Wrapped<'a, B>

Source§

type Index = (usize, usize)

Source§

impl<C, R> Region for CodecRegion<C, R>
where C: Codec, R: for<'a> Region<ReadItem<'a> = &'a [u8]> + 'a,

Source§

type Owned = Vec<u8>

Source§

type ReadItem<'a> = &'a [u8] where CodecRegion<C, R>: 'a

Source§

type Index = <R as Region>::Index

Source§

impl<R> Region for CollapseSequence<R>
where R: Region,

Source§

type Owned = <R as Region>::Owned

Source§

type ReadItem<'a> = <R as Region>::ReadItem<'a> where CollapseSequence<R>: 'a

Source§

type Index = <R as Region>::Index

Source§

impl<R> Region for ColumnsRegion<R>
where R: Region,

Source§

type Owned = Vec<<R as Region>::Owned>

Source§

type ReadItem<'a> = ReadColumns<'a, R> where ColumnsRegion<R>: 'a

Source§

type Index = usize

Source§

impl<R> Region for OptionRegion<R>
where R: Region,

Source§

type Owned = Option<<R as Region>::Owned>

Source§

type ReadItem<'a> = Option<<R as Region>::ReadItem<'a>> where OptionRegion<R>: 'a

Source§

type Index = Option<<R as Region>::Index>

Source§

impl<R> Region for StringRegion<R>
where R: for<'a> Region<ReadItem<'a> = &'a [u8]> + 'a,

Source§

type Owned = String

Source§

type ReadItem<'a> = &'a str where StringRegion<R>: 'a

Source§

type Index = <R as Region>::Index

Source§

impl<R, O> Region for ConsecutiveOffsetPairs<R, O>
where R: Region<Index = (usize, usize)>, O: OffsetContainer<usize>,

Source§

type Owned = <R as Region>::Owned

Source§

type ReadItem<'a> = <R as Region>::ReadItem<'a> where ConsecutiveOffsetPairs<R, O>: 'a

Source§

type Index = usize

Source§

impl<R, O> Region for SliceRegion<R, O>
where R: Region, O: OffsetContainer<<R as Region>::Index>,

Source§

type Owned = Vec<<R as Region>::Owned>

Source§

type ReadItem<'a> = ReadSlice<'a, R, O> where SliceRegion<R, O>: 'a

Source§

type Index = (usize, usize)

Source§

impl<T> Region for MirrorRegion<T>
where T: for<'a> Index + for<'a> IntoOwned<'a, Owned = T>,

Source§

type Owned = T

Source§

type ReadItem<'a> = T where T: 'a

Source§

type Index = T

Source§

impl<T> Region for OwnedRegion<T>
where [T]: ToOwned,

Source§

type Owned = <[T] as ToOwned>::Owned

Source§

type ReadItem<'a> = &'a [T] where OwnedRegion<T>: 'a

Source§

type Index = (usize, usize)

Source§

impl<T, E> Region for ResultRegion<T, E>
where T: Region, E: Region,

Source§

type Owned = Result<<T as Region>::Owned, <E as Region>::Owned>

Source§

type ReadItem<'a> = Result<<T as Region>::ReadItem<'a>, <E as Region>::ReadItem<'a>> where ResultRegion<T, E>: 'a

Source§

type Index = Result<<T as Region>::Index, <E as Region>::Index>