MCPcopy Create free account
hub / github.com/boostorg/parser / advance

Function advance

include/boost/parser/detail/text/transcode_iterator.hpp:546–571  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

544
545 template<typename InputIter, typename Sentinel>
546 char32_t advance(InputIter & first, Sentinel last)
547 {
548 char32_t retval = 0;
549
550 first_cu const info = first_cus[(unsigned char)*first];
551 ++first;
552
553 retval = info.initial_octet;
554 int state = info.next;
555
556 while (state != bgn) {
557 if (first != last) {
558 unsigned char const cu = *first;
559 retval = (retval << 6) | (cu & 0x3f);
560 char_class const class_ = octet_classes[cu];
561 state = transitions[state + class_];
562 if (state == err)
563 return replacement_character;
564 ++first;
565 } else {
566 return replacement_character;
567 }
568 }
569
570 return retval;
571 }
572
573 template<typename Derived, typename Iter>
574 struct trans_ins_iter

Callers 6

subrangeClass · 0.85
callMethod · 0.85
callMethod · 0.85
transcode_utf_8_to_16Function · 0.85
transcode_utf_8_to_32Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected