Subversion Repositories spk

Rev

Rev 160 | Rev 174 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 160 Rev 170
Line 2... Line 2...
2

2

3
#include <sstream>
3
#include <sstream>
4
#include <stdarg.h>
4
#include <stdarg.h>
5
#include <algorithm>
5
#include <algorithm>
6
#include <iomanip>
6
#include <iomanip>
-
 
7
#include <locale>
-
 
8
#include <codecvt>
7

9

8
namespace Utils {
10
namespace Utils {
9

11

-
 
12
	std::wstring s2ws(const std::string& str)
-
 
13
	{
-
 
14
		using convert_typeX = std::codecvt_utf8<wchar_t>;
-
 
15
		std::wstring_convert<convert_typeX, wchar_t> converterX;
-
 
16

-
 
17
		return converterX.from_bytes(str);
-
 
18
	}
-
 
19

-
 
20
	std::string ws2s(const std::wstring& wstr)
-
 
21
	{
-
 
22
		using convert_typeX = std::codecvt_utf8<wchar_t>;
-
 
23
		std::wstring_convert<convert_typeX, wchar_t> converterX;
-
 
24

-
 
25
		return converterX.to_bytes(wstr);
-
 
26
	}
-
 
27

-
 
28

10
String operator+(const char *str1, const String &str2)
29
	String operator+(const char* str1, const String& str2)
-
 
30
	{
-
 
31
		return String(str1) + str2;
-
 
32
	}
-
 
33
	String operator+(const unsigned char* str1, const String& str2)
11
{
34
	{
12
	return String(str1) + str2;
35
		return String(str1) + str2;
13
}
36
	}
14

37

15
String::String(void)						{ this->assign(""); }
38
String::String(void)						{ this->assign(""); }
16
String::String(const char *str)				{ this->assign(str); }
39
String::String(const char *str)				{ this->assign(str); }
17
String::String(const unsigned char *str)	{ this->assign((const char *)str); }
40
String::String(const unsigned char *str)	{ this->assign((const char *)str); }
18
String::String(const std::string &str)		{ this->assign(str);}
41
String::String(const std::string &str)		{ this->assign(str);}