Struct stringsext::mission::Utf8Filter [−][src]
Expand description
When the decoder finds a valid Unicode character, it decodes it into UTF-8.
The leading byte of this UTF-8 multi-byte-character must then pass an
additional filter before being printed: the so called Utf8Filter
. It comes
with three independant filter criteria:
- The Ascii-Filter
Utf8Filter::asf
, - the Unicode-block-filter
Utf8Filter::ubf
, - and the
Utf8::must_hame
-filter.
The Ascii-Filter Utf8Filter::asf
and the Unicode-block-filter
Utf8Filter::ubf
are implemented by the Utf8Filter::pass_filter()
function. The Utf8::grep_char
-filter is implemented by the
helper::SplitStr::next()
iterator function.
Fields
af: u128
Every bit 0..=127
of the Utf8Filer::af
filter parameter maps to one
ASCII-code-position 0x00..=0x7F
that is checked by pass_filter()
against the UTF-8 leading byte of the incoming stream. For example if the
leading byte’s code is 32 and the Utf8Filter::af
has bit number 32 set,
then the character passes the filter. If not, it is rejected.
ubf: u64
Every bit 0..=63
maps to one leading-byte’s code position
0xC0..0xFF
, e.g. bit 0 is set -> all characters with leading byte 0xC0
pass the filter,
If bit 1 is set -> all characters with all leading byte 0xC1
, …
pass the filter. Otherwise, the character is rejected.
grep_char: Option<u8>
If Some()
, a finding must have at least one leading byte equal to the
grep_char
ASCII code. This is useful when you grep for path-strings:
e.g. “0x2f” or “0x5c”.
Implementations
This function applies the Ascii-Filter Utf8Filter::asf
to the
UTF-8 leading byte b
. It assumes that b<=0x7f
!
This function applies the Unicode-Block-Filter Utf8Filter::ubf
to the
UTF-8 leading byte b
. It assumes that b>0x7f
!
Trait Implementations
Needed for merging.
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Needed for merging.
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for Utf8Filter
impl Send for Utf8Filter
impl Sync for Utf8Filter
impl Unpin for Utf8Filter
impl UnwindSafe for Utf8Filter
Blanket Implementations
Mutably borrows from an owned value. Read more