From 5737d05f8665dfd3f62dd8e536b317f1f48202c5 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 15 Feb 2002 15:06:17 +0000 Subject: [PATCH 1/1] fixed include and also removed the obsolete WXSTRING_IS_WXOBJECT setting git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/string.h | 45 +++++++++++++++---------------------------- src/common/string.cpp | 8 ++------ 2 files changed, 17 insertions(+), 36 deletions(-) diff --git a/include/wx/string.h b/include/wx/string.h index c3380f25ec..998946f7dc 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -29,15 +29,12 @@ // compile the std::string compatibility functions if defined #define wxSTD_STRING_COMPATIBILITY -// define to derive wxString from wxObject (deprecated!) -#ifdef WXSTRING_IS_WXOBJECT - #undef WXSTRING_IS_WXOBJECT -#endif - // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- +#include "wx/defs.h" // everybody should include this + #if defined(__WXMAC__) || defined(__VISAGECPP__) #include #endif @@ -65,29 +62,24 @@ #include // for strcasecmp() #endif // HAVE_STRINGS_H -#include "wx/defs.h" // everybody should include this #include "wx/wxchar.h" // for wxChar #include "wx/buffer.h" // for wxCharBuffer #include "wx/strconv.h" // for wxConvertXXX() macros and wxMBConv classes -#ifndef WX_PRECOMP - #ifdef WXSTRING_IS_WXOBJECT - #include "wx/object.h" // base class - #endif -#endif // !PCH - // --------------------------------------------------------------------------- // macros // --------------------------------------------------------------------------- -// 'naughty' cast +// casts [unfortunately!] needed to call some broken functions which require +// "char *" instead of "const char *" #define WXSTRINGCAST (wxChar *)(const wxChar *) #define wxCSTRINGCAST (wxChar *)(const wxChar *) #define wxMBSTRINGCAST (char *)(const char *) #define wxWCSTRINGCAST (wchar_t *)(const wchar_t *) // implementation only -#define ASSERT_VALID_INDEX(i) wxASSERT( (unsigned)(i) <= Len() ) +#define wxASSERT_VALID_INDEX(i) \ + wxASSERT_MSG( (size_t)(i) <= Len(), _T("invaid index in wxString") ) // ---------------------------------------------------------------------------- // constants @@ -243,15 +235,8 @@ struct WXDLLEXPORT wxStringData // - regular expressions support // --------------------------------------------------------------------------- -#ifdef WXSTRING_IS_WXOBJECT -class WXDLLEXPORT wxString : public wxObject -{ - DECLARE_DYNAMIC_CLASS(wxString) -#else //WXSTRING_IS_WXOBJECT class WXDLLEXPORT wxString { -#endif //WXSTRING_IS_WXOBJECT - friend class WXDLLEXPORT wxArrayString; // NB: special care was taken in arranging the member functions in such order @@ -394,13 +379,13 @@ public: // data access (all indexes are 0 based) // read access wxChar GetChar(size_t n) const - { ASSERT_VALID_INDEX( n ); return m_pchData[n]; } + { wxASSERT_VALID_INDEX( n ); return m_pchData[n]; } // read/write access wxChar& GetWritableChar(size_t n) - { ASSERT_VALID_INDEX( n ); CopyBeforeWrite(); return m_pchData[n]; } + { wxASSERT_VALID_INDEX( n ); CopyBeforeWrite(); return m_pchData[n]; } // write access void SetChar(size_t n, wxChar ch) - { ASSERT_VALID_INDEX( n ); CopyBeforeWrite(); m_pchData[n] = ch; } + { wxASSERT_VALID_INDEX( n ); CopyBeforeWrite(); m_pchData[n] = ch; } // get last character wxChar Last() const @@ -433,24 +418,24 @@ public: // operator version of GetChar wxChar operator[](size_t n) const - { ASSERT_VALID_INDEX( n ); return m_pchData[n]; } + { wxASSERT_VALID_INDEX( n ); return m_pchData[n]; } // operator version of GetChar wxChar operator[](int n) const - { ASSERT_VALID_INDEX( n ); return m_pchData[n]; } + { wxASSERT_VALID_INDEX( n ); return m_pchData[n]; } // operator version of GetWriteableChar wxChar& operator[](size_t n) - { ASSERT_VALID_INDEX( n ); CopyBeforeWrite(); return m_pchData[n]; } + { wxASSERT_VALID_INDEX( n ); CopyBeforeWrite(); return m_pchData[n]; } #ifndef wxSIZE_T_IS_UINT // operator version of GetChar wxChar operator[](unsigned int n) const - { ASSERT_VALID_INDEX( n ); return m_pchData[n]; } + { wxASSERT_VALID_INDEX( n ); return m_pchData[n]; } // operator version of GetWriteableChar wxChar& operator[](unsigned int n) - { ASSERT_VALID_INDEX( n ); CopyBeforeWrite(); return m_pchData[n]; } + { wxASSERT_VALID_INDEX( n ); CopyBeforeWrite(); return m_pchData[n]; } #endif // size_t != unsigned int // implicit conversion to C string @@ -1207,7 +1192,7 @@ inline wxString operator+(const wxCharBuffer& buf, const wxString& string) // --------------------------------------------------------------------------- // don't pollute the library user's name space -#undef ASSERT_VALID_INDEX +#undef wxASSERT_VALID_INDEX #if defined(wxSTD_STRING_COMPATIBILITY) && wxUSE_STD_IOSTREAM diff --git a/src/common/string.cpp b/src/common/string.cpp index c8ebc830cd..4a1c6d95a9 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -46,13 +46,9 @@ #include #endif -#ifdef WXSTRING_IS_WXOBJECT - IMPLEMENT_DYNAMIC_CLASS(wxString, wxObject) -#endif //WXSTRING_IS_WXOBJECT - #if wxUSE_UNICODE -#undef wxUSE_EXPERIMENTAL_PRINTF -#define wxUSE_EXPERIMENTAL_PRINTF 1 + #undef wxUSE_EXPERIMENTAL_PRINTF + #define wxUSE_EXPERIMENTAL_PRINTF 1 #endif // allocating extra space for each string consumes more memory but speeds up -- 2.45.2