diff options
author | George Hazan <george.hazan@gmail.com> | 2012-06-17 12:44:02 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2012-06-17 12:44:02 +0000 |
commit | f673f034c2fef25e932a12fbd5e2772f90c75e6d (patch) | |
tree | aeaac57c13fd2a23e47e437d804957d67e5413ee /plugins/Clist_modern/hdr/modern_tstring.h | |
parent | bce08282b66209eb482726a7ec6c89083db327ac (diff) |
Clist_mw & Clist_modern renamed
git-svn-id: http://svn.miranda-ng.org/main/trunk@455 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Clist_modern/hdr/modern_tstring.h')
-rw-r--r-- | plugins/Clist_modern/hdr/modern_tstring.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/plugins/Clist_modern/hdr/modern_tstring.h b/plugins/Clist_modern/hdr/modern_tstring.h new file mode 100644 index 0000000000..5bd558c54d --- /dev/null +++ b/plugins/Clist_modern/hdr/modern_tstring.h @@ -0,0 +1,58 @@ +#ifndef UNICODE //FIXME Build without UNICODE flag
+#define _AtlGetConversionACP() CP_THREAD_ACP
+#endif
+
+#include "MString.h"
+
+#ifdef UNICODE
+typedef CMStringA astring;
+typedef CMStringW wstring;
+
+class mbstring : public astring
+{
+ // It is prohibited to initialize by char* outside, use L"xxx"
+private:
+ mbstring( const char * pChar ) : astring( pChar ) {};
+ mbstring& operator=( const char * pChar ) { this->operator =( pChar ); return *this; }
+
+public:
+ mbstring() : astring() {};
+ mbstring( const mbstring& uStr ) : astring( uStr ) {};
+
+
+ mbstring( const wstring& tStr ) { *this = tStr.c_str(); }
+ mbstring& operator=( const wstring& tStr ) { this->operator =( tStr.c_str() ); return *this; }
+
+ mbstring( const wchar_t * wChar );
+ mbstring& operator=( const astring& aStr );
+ mbstring& operator=( const wchar_t * wChar );
+ operator wstring();
+ operator astring();
+};
+
+
+class tstring : public wstring
+{
+public:
+ tstring() : wstring() {};
+ tstring(const wchar_t * pwChar) : wstring( pwChar ) {};
+
+
+ tstring(const astring& aStr) { *this = aStr.c_str(); }
+ tstring(const mbstring& utfStr) { *this = utfStr; }
+
+ tstring(const char * pChar);
+ tstring& operator=( const char * pChar );
+ tstring& operator=( const astring& aStr );
+ tstring& operator=( const mbstring& uStr );
+ operator astring();
+ operator mbstring() { return mbstring( this->c_str() ); }
+};
+
+#else
+typedef CMStringA astring;
+typedef CMStringA wstring;
+typedef CMStringA tstring;
+typedef CMStringA mbstring;
+
+#endif
|