ищет символ без учета ковычек
| 765 | |
| 766 | // ищет символ без учета ковычек |
| 767 | size_t Document::find(std::string_view _text, char _char, size_t _start) |
| 768 | { |
| 769 | // ковычки |
| 770 | bool kov = false; |
| 771 | |
| 772 | // буфер для поиска |
| 773 | char buff[16] = "\"_\0"; |
| 774 | buff[1] = _char; |
| 775 | |
| 776 | size_t pos = _start; |
| 777 | |
| 778 | while (true) |
| 779 | { |
| 780 | pos = _text.find_first_of(buff, pos); |
| 781 | |
| 782 | // если уже конец, то досвидания |
| 783 | if (pos == std::string::npos) |
| 784 | { |
| 785 | break; |
| 786 | } |
| 787 | // нашли ковычку |
| 788 | if (_text[pos] == '"') |
| 789 | { |
| 790 | kov = !kov; |
| 791 | pos++; |
| 792 | } |
| 793 | // если мы в ковычках, то идем дальше |
| 794 | else if (kov) |
| 795 | { |
| 796 | pos++; |
| 797 | } |
| 798 | // мы не в ковычках |
| 799 | else |
| 800 | { |
| 801 | break; |
| 802 | } |
| 803 | } |
| 804 | |
| 805 | return pos; |
| 806 | } |
| 807 | |
| 808 | void Document::clearDeclaration() |
| 809 | { |
no test coverage detected