Struct markup5ever::util::smallcharset::SmallCharSet
source · pub struct SmallCharSet {
pub bits: u64,
}
Expand description
Represents a set of “small characters”, those with Unicode scalar values less than 64.
This is stored as a bitmap, with 1 bit for each value.
Fields§
§bits: u64
Implementations§
source§impl SmallCharSet
impl SmallCharSet
sourcefn contains(&self, n: u8) -> bool
fn contains(&self, n: u8) -> bool
Checks whether a character (u8 value below 64) is stored in the SmallCharSet.
Examples
ⓘ
let set = SmallCharSet {
bits: 0b00000000_01000000_00000100_00000000_00000000_00000000_00010000_00000000
};
assert!(set.contains(64));
assert!(set.contains(b'6')); // `b'6'` is the same as 64u8
sourcepub fn nonmember_prefix_len(&self, buf: &str) -> u32
pub fn nonmember_prefix_len(&self, buf: &str) -> u32
Count the number of bytes of characters at the beginning of buf
which are not in the set.
This functionality is used in BufferQueue::pop_except_from
.
Examples
let set = small_char_set!(48 49 50); // '0' '1' '2'
// `test` is 4 chars, 😁 is 4 chars, then we meet a character in the set
let test_str = "test😁01232afd";
assert_eq!(set.nonmember_prefix_len(test_str), 8);
Trait Implementations§
source§impl Clone for SmallCharSet
impl Clone for SmallCharSet
source§fn clone(&self) -> SmallCharSet
fn clone(&self) -> SmallCharSet
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for SmallCharSet
impl Debug for SmallCharSet
source§impl Hash for SmallCharSet
impl Hash for SmallCharSet
source§impl PartialEq<SmallCharSet> for SmallCharSet
impl PartialEq<SmallCharSet> for SmallCharSet
source§fn eq(&self, other: &SmallCharSet) -> bool
fn eq(&self, other: &SmallCharSet) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.