Struct grep_searcher::sinks::UTF8

source ·
pub struct UTF8<F>(pub F)
where
    F: FnMut(u64, &str) -> Result<bool, Error>;
Expand description

A sink that provides line numbers and matches as strings while ignoring everything else.

This implementation will return an error if a match contains invalid UTF-8 or if the searcher was not configured to count lines. Errors on invalid UTF-8 can be suppressed by using the Lossy sink instead of this one.

The closure accepts two parameters: a line number and a UTF-8 string containing the matched data. The closure returns a Result<bool, std::io::Error>. If the bool is false, then the search stops immediately. Otherwise, searching continues.

If multi line mode was enabled, the line number refers to the line number of the first line in the match.

Tuple Fields§

§0: F

Trait Implementations§

source§

impl<F> Clone for UTF8<F>
where F: FnMut(u64, &str) -> Result<bool, Error> + Clone,

source§

fn clone(&self) -> UTF8<F>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<F> Debug for UTF8<F>
where F: FnMut(u64, &str) -> Result<bool, Error> + Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<F> Sink for UTF8<F>
where F: FnMut(u64, &str) -> Result<bool, Error>,

source§

type Error = Error

The type of an error that should be reported by a searcher. Read more
source§

fn matched( &mut self, _searcher: &Searcher, mat: &SinkMatch<'_>, ) -> Result<bool, Error>

This method is called whenever a match is found. Read more
source§

fn context( &mut self, _searcher: &Searcher, _context: &SinkContext<'_>, ) -> Result<bool, Self::Error>

This method is called whenever a context line is found, and is optional to implement. By default, it does nothing and returns true. Read more
source§

fn context_break(&mut self, _searcher: &Searcher) -> Result<bool, Self::Error>

This method is called whenever a break in contextual lines is found, and is optional to implement. By default, it does nothing and returns true. Read more
source§

fn binary_data( &mut self, _searcher: &Searcher, _binary_byte_offset: u64, ) -> Result<bool, Self::Error>

This method is called whenever binary detection is enabled and binary data is found. If binary data is found, then this is called at least once for the first occurrence with the absolute byte offset at which the binary data begins. Read more
source§

fn begin(&mut self, _searcher: &Searcher) -> Result<bool, Self::Error>

This method is called when a search has begun, before any search is executed. By default, this does nothing. Read more
source§

fn finish( &mut self, _searcher: &Searcher, _: &SinkFinish, ) -> Result<(), Self::Error>

This method is called when a search has completed. By default, this does nothing. Read more

Auto Trait Implementations§

§

impl<F> Freeze for UTF8<F>
where F: Freeze,

§

impl<F> RefUnwindSafe for UTF8<F>
where F: RefUnwindSafe,

§

impl<F> Send for UTF8<F>
where F: Send,

§

impl<F> Sync for UTF8<F>
where F: Sync,

§

impl<F> Unpin for UTF8<F>
where F: Unpin,

§

impl<F> UnwindSafe for UTF8<F>
where F: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.