Trait rsonpath::classification::simd::Simd
source · 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§
sourcetype QuotesClassifier<'i, I>: QuoteClassifiedIterator<'i, I, u64, BLOCK_SIZE> + InnerIter<I>
where
I: InputBlockIterator<'i, BLOCK_SIZE>
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.
sourcetype StructuralClassifier<'i, I>: StructuralIterator<'i, I, Self::QuotesClassifier<'i, I>, u64, BLOCK_SIZE>
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>
The implementation of StructuralIterator
of this SIMD configuration.
sourcetype DepthClassifier<'i, I>: DepthIterator<'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>
The implementation of DepthIterator
of this SIMD configuration.
sourcetype 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
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§
sourcefn classify_quoted_sequences<'i, I>(
self,
iter: I
) -> Self::QuotesClassifier<'i, I>where
I: InputBlockIterator<'i, BLOCK_SIZE>,
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.
sourcefn 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 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.
sourcefn classify_structural_characters<'i, I>(
self,
iter: Self::QuotesClassifier<'i, I>
) -> Self::StructuralClassifier<'i, I>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>,
Walk through the JSON document quote-classified by iter
and iterate over all
occurrences of structural characters in it.
sourcefn 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 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.
sourcefn classify_depth<'i, I>(
self,
iter: Self::QuotesClassifier<'i, I>,
opening: BracketType
) -> Self::DepthClassifier<'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>,
Enrich quote classified blocks with depth information.
sourcefn 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 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.
sourcefn 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,
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
.