#pragma once #include class String; class StringView { public: StringView(const char* c_str); StringView(const char* c_str, usize length); StringView(); StringView(const StringView&); Result to_string(); const char* chars() const { return m_string; } usize length() const { return m_length; } bool is_empty() const { return m_length == 0; } const char& operator[](usize) const; private: const char* m_string { nullptr }; usize m_length { 0 }; };