mirror of
				https://github.com/ArthurSonzogni/FTXUI.git
				synced 2025-10-31 18:48:11 +08:00 
			
		
		
		
	Make StringRef borrow reference only when taking a pointer. (#91)
This commit is contained in:
		| @@ -21,8 +21,8 @@ int wstring_width_cjk(const std::wstring&); | ||||
| /// references toward a shared representation. | ||||
| class StringRef { | ||||
|  public: | ||||
|   StringRef(std::wstring& ref); | ||||
|   StringRef(std::wstring* ref); | ||||
|   StringRef(std::wstring ref); | ||||
|   StringRef(const wchar_t* ref); | ||||
|   StringRef(const char* ref); | ||||
|  | ||||
| @@ -38,8 +38,8 @@ class StringRef { | ||||
| /// references toward  shared representation. | ||||
| class ConstStringRef { | ||||
|  public: | ||||
|   ConstStringRef(const std::wstring& ref); | ||||
|   ConstStringRef(const std::wstring* ref); | ||||
|   ConstStringRef(std::wstring ref); | ||||
|   ConstStringRef(const wchar_t* ref); | ||||
|   ConstStringRef(const char* ref); | ||||
|  | ||||
|   | ||||
| @@ -25,8 +25,8 @@ std::wstring to_wstring(const std::string& s) { | ||||
| #pragma warning(pop) | ||||
| #endif | ||||
|  | ||||
| StringRef::StringRef(std::wstring& ref) : borrowed_(&ref) {} | ||||
| StringRef::StringRef(std::wstring* ref) : borrowed_(ref) {} | ||||
| StringRef::StringRef(std::wstring ref) : owned_(std::move(ref)) {} | ||||
| StringRef::StringRef(const wchar_t* ref) : owned_(ref) {} | ||||
| StringRef::StringRef(const char* ref) : owned_(to_wstring(std::string(ref))) {} | ||||
| std::wstring& StringRef::operator*() { | ||||
| @@ -36,8 +36,8 @@ std::wstring* StringRef::operator->() { | ||||
|   return borrowed_ ? borrowed_ : &owned_; | ||||
| } | ||||
|  | ||||
| ConstStringRef::ConstStringRef(const std::wstring& ref) : borrowed_(&ref) {} | ||||
| ConstStringRef::ConstStringRef(const std::wstring* ref) : borrowed_(ref) {} | ||||
| ConstStringRef::ConstStringRef(std::wstring ref) : owned_(std::move(ref)) {} | ||||
| ConstStringRef::ConstStringRef(const wchar_t* ref) : owned_(ref) {} | ||||
| ConstStringRef::ConstStringRef(const char* ref) | ||||
|     : owned_(to_wstring(std::string(ref))) {} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Arthur Sonzogni
					Arthur Sonzogni