]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/buffer.h
removed wxHAS_NATIVE_TAB_TRAVERSAL which is now defined in wx/window.h
[wxWidgets.git] / include / wx / buffer.h
index cd4d760661e52952a753ed36c77ec530887b7ce9..c9232820fec15c0d34d3554088350b2e51e2a7c2 100644 (file)
@@ -27,7 +27,7 @@ inline char *wxStrDup(const char *s) { return wxStrdupA(s); }
 // ----------------------------------------------------------------------------
 
 template <typename T>
-class WXDLLIMPEXP_BASE wxCharTypeBuffer
+class wxCharTypeBuffer
 {
 public:
     typedef T CharType;
@@ -37,11 +37,6 @@ public:
     {
     }
 
-    wxCharTypeBuffer(const wxCStrData& cstr)
-    {
-        FromCStrData(cstr);
-    }
-
     wxCharTypeBuffer(size_t len)
         : m_str((CharType *)malloc((len + 1)*sizeof(CharType)))
     {
@@ -119,9 +114,6 @@ public:
     operator const CharType *() const { return m_str; }
     CharType operator[](size_t n) const { return m_str[n]; }
 
-private:
-    void FromCStrData(const wxCStrData& cstr);
-
 private:
     CharType *m_str;
 };
@@ -129,30 +121,40 @@ private:
 class WXDLLIMPEXP_BASE wxCharBuffer : public wxCharTypeBuffer<char>
 {
 public:
-    wxCharBuffer(const CharType *str = NULL) : wxCharTypeBuffer<char>(str) {}
-    wxCharBuffer(const wxCStrData& cstr) : wxCharTypeBuffer<char>(cstr) {}
-    wxCharBuffer(size_t len) : wxCharTypeBuffer<char>(len) {}
+    typedef wxCharTypeBuffer<char> wxCharTypeBufferBase;
+
+    wxCharBuffer(const CharType *str = NULL) : wxCharTypeBufferBase(str) {}
+    wxCharBuffer(size_t len) : wxCharTypeBufferBase(len) {}
+
+#if !wxUSE_UNICODE
+    wxCharBuffer(const wxCStrData& cstr);
+#endif
 };
 
 #if wxUSE_WCHAR_T
 class WXDLLIMPEXP_BASE wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
 {
 public:
-    wxWCharBuffer(const CharType *str = NULL) : wxCharTypeBuffer<wchar_t>(str) {}
-    wxWCharBuffer(const wxCStrData& cstr) : wxCharTypeBuffer<wchar_t>(cstr) {}
-    wxWCharBuffer(size_t len) : wxCharTypeBuffer<wchar_t>(len) {}
+    typedef wxCharTypeBuffer<wchar_t> wxCharTypeBufferBase;
+
+    wxWCharBuffer(const CharType *str = NULL) : wxCharTypeBufferBase(str) {}
+    wxWCharBuffer(size_t len) : wxCharTypeBufferBase(len) {}
+
+#if wxUSE_UNICODE
+    wxWCharBuffer(const wxCStrData& cstr);
+#endif
 };
 #endif // wxUSE_WCHAR_T
 
 #if wxUSE_UNICODE
-    typedef wxWCharBuffer wxWxCharBuffer;
+    #define wxWxCharBuffer wxWCharBuffer
 
     #define wxMB2WXbuf wxWCharBuffer
     #define wxWX2MBbuf wxCharBuffer
     #define wxWC2WXbuf wxChar*
     #define wxWX2WCbuf wxChar*
 #else // ANSI
-    typedef wxCharBuffer wxWxCharBuffer;
+    #define wxWxCharBuffer wxCharBuffer
 
     #define wxMB2WXbuf wxChar*
     #define wxWX2MBbuf wxChar*