summaryrefslogtreecommitdiff
path: root/include/m_system_cpp.h
diff options
context:
space:
mode:
authorMikalaiR <nikolay.romanovich@narod.ru>2016-06-04 18:11:35 +0000
committerMikalaiR <nikolay.romanovich@narod.ru>2016-06-04 18:11:35 +0000
commit660d46e1ae2ae6a87c5a530619a93742759e9e3a (patch)
treec1b40f0b4b431fe1780048a9e22a5bfee6a65897 /include/m_system_cpp.h
parent55322c4cdb498eab3fdd1f472b5f096bafbbfffa (diff)
C++ classes moved to m_system_cpp.h
git-svn-id: http://svn.miranda-ng.org/main/trunk@16915 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'include/m_system_cpp.h')
-rw-r--r--include/m_system_cpp.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/include/m_system_cpp.h b/include/m_system_cpp.h
index 32c26db65c..95d9c35e50 100644
--- a/include/m_system_cpp.h
+++ b/include/m_system_cpp.h
@@ -21,7 +21,6 @@ You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-
#ifndef M_SYSTEM_CPP_H__
#define M_SYSTEM_CPP_H__ 1
@@ -273,6 +272,30 @@ template<class T> struct OBJLIST : public LIST<T>
__inline T& operator[](int idx) const { return *this->items[idx]; }
};
+class _A2T : public ptrT
+{
+public:
+ __inline _A2T(const char* s) : ptrT(mir_a2t(s)) {}
+ __inline _A2T(const char* s, int cp) : ptrT(mir_a2t_cp(s, cp)) {}
+};
+
+class _T2A : public ptrA
+{
+public:
+ __forceinline _T2A(const TCHAR* s) : ptrA(mir_t2a(s)) {}
+ __forceinline _T2A(const TCHAR* s, int cp) : ptrA(mir_t2a_cp(s, cp)) {}
+};
+
+class T2Utf : public ptrA
+{
+public:
+ __forceinline T2Utf(const TCHAR *str) : ptrA(mir_utf8encodeT(str)) {}
+ __forceinline operator BYTE* () const { return (BYTE*)data; }
+ #ifdef _XSTRING_
+ std::string str() const { return std::string(data); }
+ #endif
+};
+
#endif
#endif // M_SYSTEM_CPP_H