| 11512 | } |
| 11513 | |
| 11514 | auto StringRef::numberOfCharacters() const noexcept -> size_type { |
| 11515 | size_type noChars = m_size; |
| 11516 | // Make adjustments for uft encodings |
| 11517 | for( size_type i=0; i < m_size; ++i ) { |
| 11518 | char c = m_start[i]; |
| 11519 | if( ( c & byte_2_lead ) == byte_2_lead ) { |
| 11520 | noChars--; |
| 11521 | if (( c & byte_3_lead ) == byte_3_lead ) |
| 11522 | noChars--; |
| 11523 | if( ( c & byte_4_lead ) == byte_4_lead ) |
| 11524 | noChars--; |
| 11525 | } |
| 11526 | } |
| 11527 | return noChars; |
| 11528 | } |
| 11529 | |
| 11530 | auto operator + ( StringRef const& lhs, StringRef const& rhs ) -> std::string { |
| 11531 | std::string str; |