Trait flatcontainer::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: FnMut(usize, usize)>(&self, callback: F);
    fn reborrow<'b, 'a: 'b>(item: Self::ReadItem<'a>) -> Self::ReadItem<'b>
       where 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: FnMut(usize, usize)>(&self, callback: F)

Heap size, size - capacity

source

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

Converts a read item into one with a narrower lifetime.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

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

§

type Owned = T

§

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

§

type Index = usize

source§

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

source§

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

source§

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

source§

fn clear(&mut self)

source§

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

source§

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

Implementors§

source§

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

§

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

§

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

§

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

source§

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

§

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

§

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

§

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

source§

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

§

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

§

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

§

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

source§

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

§

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

§

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

§

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

source§

impl<A: Region, B: Region, C: Region, D: Region, E: Region> Region for TupleABCDERegion<A, B, C, D, E>
where <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,

§

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

§

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 Self: 'a

§

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: Region, B: Region, C: Region, D: Region, E: Region, F: Region> Region for TupleABCDEFRegion<A, B, C, D, E, F>
where <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,

§

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)

§

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 Self: 'a

§

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: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region> Region for TupleABCDEFGRegion<A, B, C, D, E, F, G>
where <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,

§

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)

§

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 Self: 'a

§

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: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, H: Region> Region for TupleABCDEFGHRegion<A, B, C, D, E, F, G, H>
where <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,

§

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)

§

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 Self: 'a

§

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: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, H: Region, I: Region> Region for TupleABCDEFGHIRegion<A, B, C, D, E, F, G, H, I>
where <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,

§

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)

§

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 Self: 'a

§

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: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, H: Region, I: Region, J: Region> Region for TupleABCDEFGHIJRegion<A, B, C, D, E, F, G, H, I, J>
where <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,

§

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)

§

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 Self: 'a

§

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: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, H: Region, I: Region, J: Region, K: Region> Region for TupleABCDEFGHIJKRegion<A, B, C, D, E, F, G, H, I, J, K>
where <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,

§

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)

§

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 Self: 'a

§

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: Region, B: Region, C: Region, D: Region, E: Region, F: Region, G: Region, H: Region, I: Region, J: Region, K: Region, L: Region> Region for TupleABCDEFGHIJKLRegion<A, B, C, D, E, F, G, H, I, J, K, L>
where <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,

§

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)

§

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 Self: 'a

§

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: 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> Region for TupleABCDEFGHIJKLMRegion<A, B, C, D, E, F, G, H, I, J, K, L, M>
where <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,

§

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)

§

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 Self: 'a

§

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: 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> Region for TupleABCDEFGHIJKLMNRegion<A, B, C, D, E, F, G, H, I, J, K, L, M, N>
where <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,

§

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)

§

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 Self: 'a

§

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: 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> Region for TupleABCDEFGHIJKLMNORegion<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O>
where <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,

§

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)

§

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 Self: 'a

§

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: 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> Region for TupleABCDEFGHIJKLMNOPRegion<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>
where <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,

§

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)

§

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 Self: 'a

§

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 + Sized + 'static,

§

type Owned = Vec<B>

§

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

§

type Index = (usize, usize)

source§

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

§

type Owned = Vec<u8>

§

type ReadItem<'a> = &'a [u8] where Self: 'a

§

type Index = <R as Region>::Index

source§

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

§

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

§

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

§

type Index = usize

source§

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

§

type Owned = String

§

type ReadItem<'a> = &'a str where Self: 'a

§

type Index = <R as Region>::Index

source§

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

§

type Owned = <R as Region>::Owned

§

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

§

type Index = usize

source§

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

§

type Owned = <R as Region>::Owned

§

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

§

type Index = <R as Region>::Index

source§

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

§

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

§

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

§

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

source§

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

§

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

§

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

§

type Index = (usize, usize)

source§

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

§

type Owned = T

§

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

§

type Index = T

source§

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

§

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

§

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

§

type Index = (usize, usize)

source§

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

§

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

§

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

§

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