Lines Matching refs:start
115 /// This assumes that `start` and `end` have the same length.
116 fn from_encoded_range(start: &[u8], end: &[u8]) -> Self {
117 assert_eq!(start.len(), end.len());
118 match start.len() {
120 Utf8Range::new(start[0], end[0]),
121 Utf8Range::new(start[1], end[1]),
124 Utf8Range::new(start[0], end[0]),
125 Utf8Range::new(start[1], end[1]),
126 Utf8Range::new(start[2], end[2]),
129 Utf8Range::new(start[0], end[0]),
130 Utf8Range::new(start[1], end[1]),
131 Utf8Range::new(start[2], end[2]),
132 Utf8Range::new(start[3], end[3]),
223 pub start: u8,
229 fn new(start: u8, end: u8) -> Self {
230 Utf8Range { start, end }
235 self.start <= b && b <= self.end
241 if self.start == self.end {
242 write!(f, "[{:X}]", self.start)
244 write!(f, "[{:X}-{:X}]", self.start, self.end)
307 pub fn new(start: char, end: char) -> Self {
309 it.push(start as u32, end as u32);
318 pub fn reset(&mut self, start: char, end: char) {
320 self.push(start as u32, end as u32);
323 fn push(&mut self, start: u32, end: u32) {
324 self.range_stack.push(ScalarRange { start, end });
329 start: u32,
335 write!(f, "ScalarRange({:X}, {:X})", self.start, self.end)
346 self.push(r2.start, r2.end);
347 r.start = r1.start;
356 if r.start <= max && max < r.end {
367 if (r.start & !m) != (r.end & !m) {
368 if (r.start & m) != 0 {
369 self.push((r.start | m) + 1, r.end);
370 r.end = r.start | m;
380 let mut start = [0; MAX_UTF8_BYTES];
382 let n = r.encode(&mut start, &mut end);
384 &start[0..n],
400 if self.start < 0xE000 && self.end > 0xD7FF {
402 ScalarRange { start: self.start, end: 0xD7FF },
403 ScalarRange { start: 0xE000, end: self.end },
410 /// is_valid returns true if and only if start <= end.
412 self.start <= self.end
419 Some(Utf8Range::new(self.start as u8, self.end as u8))
431 /// encode writes the UTF-8 encoding of the start and end of this range
436 fn encode(&self, start: &mut [u8], end: &mut [u8]) -> usize {
437 let cs = char::from_u32(self.start).unwrap();
439 let ss = cs.encode_utf8(start);
466 fn never_accepts_surrogate_codepoints(start: char, end: char) {
469 for r in Utf8Sequences::new(start, end) {
475 start as u32, end as u32, r, cp, buf,