| 9681 | } |
| 9682 | |
| 9683 | void StringRef::takeOwnership() { |
| 9684 | if( !isOwned() ) { |
| 9685 | m_data = new char[m_size+1]; |
| 9686 | memcpy( m_data, m_start, m_size ); |
| 9687 | m_data[m_size] = '\0'; |
| 9688 | m_start = m_data; |
| 9689 | } |
| 9690 | } |
| 9691 | auto StringRef::substr( size_type start, size_type size ) const noexcept -> StringRef { |
| 9692 | if( start < m_size ) |
| 9693 | return StringRef( m_start+start, size ); |