31 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | #ifndef HX_STD_STRING_INCLUDEDED
 | ||
|  | #define HX_STD_STRING_INCLUDEDED
 | ||
|  | 
 | ||
|  | #include <string>
 | ||
|  | 
 | ||
|  | namespace hx | ||
|  | { | ||
|  |    class StdString : public std::string | ||
|  |    { | ||
|  |       public: | ||
|  |          StdString() : std::string() { } | ||
|  |          StdString(const char *inPtr) : std::string(inPtr) { } | ||
|  |          StdString(const char *inPtr, int inLen) : std::string(inPtr, inLen) { } | ||
|  |          StdString(const std::string &inS) : std::string(inS) { } | ||
|  |          StdString(const StdString &inS) : std::string(inS) { } | ||
|  | 
 | ||
|  |          #if (HXCPP_API_LEVEL>1)
 | ||
|  |          StdString(const Dynamic &inS) : std::string(inS.mPtr ? inS.mPtr->toString().utf8_str() : "null") { } | ||
|  |          StdString(const String &inS) : std::string(inS.utf8_str()) { } | ||
|  |          String toString() const { return String(c_str(),size()).dup(); } | ||
|  |          String toString() { return String(c_str(),size()).dup(); } | ||
|  |          operator Dynamic() const { return const_cast<StdString*>(this)->toString(); } | ||
|  |          #endif
 | ||
|  | 
 | ||
|  |          inline const StdString &toStdString() const { return *this; } | ||
|  | 
 | ||
|  |    }; | ||
|  | } | ||
|  | 
 | ||
|  | #endif
 |