Removed std::string_view ctor on StringView.
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			This commit is contained in:
		| @@ -1,3 +1,3 @@ | |||||||
| #include "StringView.hpp" | #include "StringView.hpp" | ||||||
|  |  | ||||||
| ArbUt::__ConstStringCharHolder* ArbUt::StringView::__emptyString = new __ConstStringCharHolder(std::string_view("", 0)); | ArbUt::__ConstStringCharHolder* ArbUt::StringView::__emptyString = new __ConstStringCharHolder("", 0); | ||||||
|   | |||||||
| @@ -23,19 +23,12 @@ namespace ArbUt { | |||||||
|         __ConstStringCharHolder& operator=(const __ConstStringCharHolder& other) = delete; |         __ConstStringCharHolder& operator=(const __ConstStringCharHolder& other) = delete; | ||||||
|  |  | ||||||
|     public: |     public: | ||||||
|         __ConstStringCharHolder(const std::string_view& value) noexcept |  | ||||||
|             : _value(new char[value.length() + 1]), _references(1) { |  | ||||||
|             strncpy(_value, value.data(), value.length() + 1); |  | ||||||
|         } |  | ||||||
|         __ConstStringCharHolder(const char* value, size_t length) noexcept |         __ConstStringCharHolder(const char* value, size_t length) noexcept | ||||||
|             : _value(new char[length + 1]), _references(1) { |             : _value(new char[length + 1]), _references(1) { | ||||||
|             strncpy(_value, value, length + 1); |             strncpy(_value, value, length + 1); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         ~__ConstStringCharHolder() noexcept { |         ~__ConstStringCharHolder() noexcept { delete[] _value; } | ||||||
|             delete[] _value; |  | ||||||
|             _value = nullptr; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         inline void RemoveReference() noexcept { |         inline void RemoveReference() noexcept { | ||||||
|             if (--_references <= 0) { |             if (--_references <= 0) { | ||||||
| @@ -68,8 +61,6 @@ namespace ArbUt { | |||||||
|         } |         } | ||||||
|  |  | ||||||
|     public: |     public: | ||||||
|         StringView(const std::string_view& str) noexcept |  | ||||||
|             : BasicStringView(str.length(), Hash(str.data())), _str(new __ConstStringCharHolder(str)) {} |  | ||||||
|         StringView(const char* str) noexcept |         StringView(const char* str) noexcept | ||||||
|             : BasicStringView(CalcLength(str), Hash(str)), _str(new __ConstStringCharHolder(str, CalcLength(str))) {} |             : BasicStringView(CalcLength(str), Hash(str)), _str(new __ConstStringCharHolder(str, CalcLength(str))) {} | ||||||
|         StringView(const char* str, size_t length) noexcept |         StringView(const char* str, size_t length) noexcept | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user