pub trait Simd: Copy {
    type QuotesClassifier<'i, I>: QuoteClassifiedIterator<'i, I, u64, BLOCK_SIZE> + InnerIter<I>
       where I: InputBlockIterator<'i, BLOCK_SIZE>;
    type StructuralClassifier<'i, I>: StructuralIterator<'i, I, Self::QuotesClassifier<'i, I>, u64, BLOCK_SIZE>
       where I: InputBlockIterator<'i, BLOCK_SIZE>;
    type DepthClassifier<'i, I>: DepthIterator<'i, I, Self::QuotesClassifier<'i, I>, u64, BLOCK_SIZE>
       where I: InputBlockIterator<'i, BLOCK_SIZE>;
    type MemmemClassifier<'i, 'b, 'r, I, R>: Memmem<'i, 'b, 'r, I, BLOCK_SIZE>
       where I: Input + 'i,
             I::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b,
             R: InputRecorder<I::Block<'i, BLOCK_SIZE>> + 'r,
             'i: 'r;

    // Required methods
    fn classify_quoted_sequences<'i, I>(
        self,
        iter: I
    ) -> Self::QuotesClassifier<'i, I>
       where I: InputBlockIterator<'i, BLOCK_SIZE>;
    fn resume_quote_classification<'i, I>(
        self,
        iter: I,
        first_block: Option<I::Block>
    ) -> ResumedQuoteClassifier<Self::QuotesClassifier<'i, I>, I::Block, u64, BLOCK_SIZE>
       where I: InputBlockIterator<'i, BLOCK_SIZE>;
    fn classify_structural_characters<'i, I>(
        self,
        iter: Self::QuotesClassifier<'i, I>
    ) -> Self::StructuralClassifier<'i, I>
       where I: InputBlockIterator<'i, BLOCK_SIZE>;
    fn resume_structural_classification<'i, I>(
        self,
        state: ResumeClassifierState<'i, I, Self::QuotesClassifier<'i, I>, u64, BLOCK_SIZE>
    ) -> Self::StructuralClassifier<'i, I>
       where I: InputBlockIterator<'i, BLOCK_SIZE>;
    fn classify_depth<'i, I>(
        self,
        iter: Self::QuotesClassifier<'i, I>,
        opening: BracketType
    ) -> Self::DepthClassifier<'i, I>
       where I: InputBlockIterator<'i, BLOCK_SIZE>;
    fn resume_depth_classification<'i, I>(
        self,
        state: ResumeClassifierState<'i, I, Self::QuotesClassifier<'i, I>, u64, BLOCK_SIZE>,
        opening: BracketType
    ) -> DepthIteratorResumeOutcome<'i, I, Self::QuotesClassifier<'i, I>, Self::DepthClassifier<'i, I>, u64, BLOCK_SIZE>
       where I: InputBlockIterator<'i, BLOCK_SIZE>;
    fn memmem<'i, 'b, 'r, I, R>(
        self,
        input: &'i I,
        iter: &'b mut I::BlockIterator<'i, 'r, BLOCK_SIZE, R>
    ) -> Self::MemmemClassifier<'i, 'b, 'r, I, R>
       where I: Input,
             R: InputRecorder<I::Block<'i, BLOCK_SIZE>>,
             'i: 'r;
}
Expand description

All SIMD capabilities of the engine and classifier types.

Required Associated Types§

source

type QuotesClassifier<'i, I>: QuoteClassifiedIterator<'i, I, u64, BLOCK_SIZE> + InnerIter<I> where I: InputBlockIterator<'i, BLOCK_SIZE>

The implementation of QuoteClassifiedIterator of this SIMD configuration.

source

type StructuralClassifier<'i, I>: StructuralIterator<'i, I, Self::QuotesClassifier<'i, I>, u64, BLOCK_SIZE> where I: InputBlockIterator<'i, BLOCK_SIZE>

The implementation of StructuralIterator of this SIMD configuration.

source

type DepthClassifier<'i, I>: DepthIterator<'i, I, Self::QuotesClassifier<'i, I>, u64, BLOCK_SIZE> where I: InputBlockIterator<'i, BLOCK_SIZE>

The implementation of DepthIterator of this SIMD configuration.

source

type MemmemClassifier<'i, 'b, 'r, I, R>: Memmem<'i, 'b, 'r, I, BLOCK_SIZE> where I: Input + 'i, I::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, R: InputRecorder<I::Block<'i, BLOCK_SIZE>> + 'r, 'i: 'r

The implementation of Memmem of this SIMD configuration.

Required Methods§

source

fn classify_quoted_sequences<'i, I>( self, iter: I ) -> Self::QuotesClassifier<'i, I>where I: InputBlockIterator<'i, BLOCK_SIZE>,

Walk through the JSON document given by the iter and classify quoted sequences.

source

fn resume_quote_classification<'i, I>( self, iter: I, first_block: Option<I::Block> ) -> ResumedQuoteClassifier<Self::QuotesClassifier<'i, I>, I::Block, u64, BLOCK_SIZE>where I: InputBlockIterator<'i, BLOCK_SIZE>,

Resume quote classification from an iter and, optionally, an already read block that will be used as the first block to classify.

source

fn classify_structural_characters<'i, I>( self, iter: Self::QuotesClassifier<'i, I> ) -> Self::StructuralClassifier<'i, I>where I: InputBlockIterator<'i, BLOCK_SIZE>,

Walk through the JSON document quote-classified by iter and iterate over all occurrences of structural characters in it.

source

fn resume_structural_classification<'i, I>( self, state: ResumeClassifierState<'i, I, Self::QuotesClassifier<'i, I>, u64, BLOCK_SIZE> ) -> Self::StructuralClassifier<'i, I>where I: InputBlockIterator<'i, BLOCK_SIZE>,

Resume classification using a state retrieved from a previously used classifier via the stop function.

source

fn classify_depth<'i, I>( self, iter: Self::QuotesClassifier<'i, I>, opening: BracketType ) -> Self::DepthClassifier<'i, I>where I: InputBlockIterator<'i, BLOCK_SIZE>,

Enrich quote classified blocks with depth information.

source

fn resume_depth_classification<'i, I>( self, state: ResumeClassifierState<'i, I, Self::QuotesClassifier<'i, I>, u64, BLOCK_SIZE>, opening: BracketType ) -> DepthIteratorResumeOutcome<'i, I, Self::QuotesClassifier<'i, I>, Self::DepthClassifier<'i, I>, u64, BLOCK_SIZE>where I: InputBlockIterator<'i, BLOCK_SIZE>,

Resume classification using a state retrieved from a previously used classifier via the stop function.

source

fn memmem<'i, 'b, 'r, I, R>( self, input: &'i I, iter: &'b mut I::BlockIterator<'i, 'r, BLOCK_SIZE, R> ) -> Self::MemmemClassifier<'i, 'b, 'r, I, R>where I: Input, R: InputRecorder<I::Block<'i, BLOCK_SIZE>>, 'i: 'r,

Create a classifier that can look for occurrences of a key in the iter.

Implementors§