| 11485 | } |
| 11486 | |
| 11487 | void StringRef::takeOwnership() { |
| 11488 | if( !isOwned() ) { |
| 11489 | m_data = new char[m_size+1]; |
| 11490 | memcpy( m_data, m_start, m_size ); |
| 11491 | m_data[m_size] = '\0'; |
| 11492 | m_start = m_data; |
| 11493 | } |
| 11494 | } |
| 11495 | auto StringRef::substr( size_type start, size_type size ) const noexcept -> StringRef { |
| 11496 | if( start < m_size ) |
| 11497 | return StringRef( m_start+start, size ); |