#pragma once class OwnedStringView { public: OwnedStringView(char* c_str); OwnedStringView(); OwnedStringView(OwnedStringView&&); OwnedStringView(const OwnedStringView&) = delete; ~OwnedStringView(); Result clone(); const char* chars() { return m_string; } usize length() { return m_length; } private: char* m_string{nullptr}; usize m_length{0}; };