Esempio n. 1
0
	inline WString l2w(const char* localstr, size_t len) {
		WString result;

		result.resize(len);

		size_t count = mbstowcs(&result[0], localstr, len);

		AX_ASSERT(count <= len);

		result.resize(count);

		return result;
	}
Esempio n. 2
0
	inline WString u2w(const char* utf8str, size_t len) {
		WString result;

		result.resize(len);
		if (sizeof(wchar_t) == sizeof(UTF16)) {
			const UTF8* srcstart = (UTF8*)&utf8str[0];
			const UTF8* srcend = srcstart + len;
			UTF16* dststart = (UTF16*)&result[0];
			UTF16* dstend = dststart + len;
			ConversionResult cr = ConvertUTF8toUTF16(&srcstart, srcend, &dststart, dstend, strictConversion);
			result.resize(dststart - (UTF16*)&result[0]);
		}

		return result;
	}
Esempio n. 3
0
	WString l2w(const String& lstr) {
		return l2w(lstr.c_str(), lstr.size());
#if 0
		size_t len = lstr.size();
		WString result;

		result.resize(len);

		size_t count = mbstowcs(&result[0], &lstr[0], len);

		AX_ASSERT(count <= len);

		result.resize(count);

		return result;
#endif
	}
Esempio n. 4
0
	WString l2w(const char* localstr) {
		return l2w(localstr, strlen(localstr));
#if 0
		size_t len = strlen(localstr);
		WString result;

		result.resize(len);

		size_t count = mbstowcs(&result[0], localstr, len);

		AX_ASSERT(count <= len);

		result.resize(count);

		return result;
#endif
	}
Esempio n. 5
0
	WString u2w(const String& utf8str) {
		return u2w(utf8str.c_str(), utf8str.size());
#if 0
		size_t len = utf8str.size();
		WString result;

		result.resize(len);
		if (sizeof(wchar_t) == sizeof(UTF16)) {
			const UTF8* srcstart = (UTF8*)&utf8str[0];
			const UTF8* srcend = srcstart + len;
			UTF16* dststart = (UTF16*)&result[0];
			UTF16* dstend = dststart + len;
			ConversionResult cr = ConvertUTF8toUTF16(&srcstart, srcend, &dststart, dstend, strictConversion);
			result.resize(dststart - (UTF16*)&result[0]);
		}

		return result;
#endif
	}