Václav Slavík
338084945b
Fix wxScopedCharTypeBuffer<T>::CreateOwned() to match docs.
...
The documentation says that it takes ownership of the memory block
passed to it, but the implementation made a copy.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-05 07:45:33 +00:00
Václav Slavík
8dffb6b1a7
Add wxMemoryBuffer::release().
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-26 20:51:07 +00:00
Václav Slavík
8d94819c43
Remove wxUSE_WCHAR_T checks.
...
wxWidgets requires wchar_t for some time now; wx/chartype.h has a check
to fail complation without it. Simplify code by removing now-dead code
for the !wxUSE_WCHAR_T case.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63991 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-16 10:43:18 +00:00
Vadim Zeitlin
b96a56e60e
Make it possible to use wxCharBuffer during program initialization.
...
wxCharBuffer might be used during static initialization, even if only
implicitly. E.g. it is used by wxString::Format() which can be used to
initialize a global string. But it uses the global s_untypedNullData variable
might not be initialized yet resulting in mysterious failures.
Fix this in the usual way by wrapping access to the variable via a function.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-28 11:09:26 +00:00
Vadim Zeitlin
9a83f86094
Globally replace _T() with wxT().
...
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660 ).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Václav Slavík
fb5ae4f6d9
(blind) fix for VC6s' warning about non-dll base template class
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60134 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-14 07:02:59 +00:00
Václav Slavík
197380a09f
always return (owned or non-owned, depending on build) wxScopedCharBuffer from utf8_str() and ToUTF8()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-30 18:28:42 +00:00
Václav Slavík
a6bb7a282d
fixed size of buffer returned by wxFormatConverter (it was too large before)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-30 11:54:41 +00:00
Václav Slavík
6df09f32fd
added length to wx(Scoped)CharBuffer to improve handling of embedded NULs
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-29 20:58:39 +00:00
Václav Slavík
3339414ae8
don't duplicate copy ctor and assignment operator code in wxCharTypeBuffer<T>, it was identical to base class' version
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-28 09:35:53 +00:00
Václav Slavík
de4983f323
split wxCharTypeBuffer<T> into wxScopedCharTypeBuffer<T> and wxCharTypeBuffer<T> -- the former is for transient data with validity limited to parent's lifetime, the latter is for permanent storage of string data (bug #9638 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59887 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-27 15:33:55 +00:00
Vadim Zeitlin
c0c133e13b
add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +00:00
Chris Elliott
5953e7c7d6
fix for Borland compilation
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-17 09:26:58 +00:00
Vadim Zeitlin
5c69ef61f3
fix some of icc 11.0 warnings and disable a few others
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-16 14:24:13 +00:00
Vadim Zeitlin
5c33522fca
replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Vadim Zeitlin
4e79262f78
resolve the DLL linking problems with MSVC due to use of static variables of template types by replacing them by a non-template unique untypedNullDataPtr
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 01:48:36 +00:00
Vadim Zeitlin
6b583d40a8
fix linking problems due to MSVC implicitly considering template classes specializations used as base classes DLL-exported even though it doesn't actually export them when building the DLL (with or without explicit declspec(dllexport)); also replace wxCharTypeBuffer::NullData with a static function to allow not DLL-exporting this class
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-30 23:04:29 +00:00
Václav Slavík
fda71b397a
re-fix MinGW DLL compilation
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55133 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-20 21:35:55 +00:00
Vadim Zeitlin
aa74cc2120
don't use WXDLLIMPEXP_BASE_DATA() around member data, this results in an error in MSVC DLL build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-18 19:52:00 +00:00
Václav Slavík
03af437f75
made wxCharTypeBuffer<T>::release() const again, for compatibility
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55067 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-12 15:10:57 +00:00
Václav Slavík
7113846bc8
DLLs linking fix wxCharTypeBuffer<T>::NullData
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55052 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-10 20:41:10 +00:00
Václav Slavík
5c1de526d2
added refcounting to wxCharBuffer to fix passing of wxCharBuffer to printf-like functions
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-10 19:37:51 +00:00
Vadim Zeitlin
9b4da62701
PalmOS compilation fixes (wx-trunk-out.diff part of patch 1894861)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-02 00:43:06 +00:00
Paul Cornett
162e998c2f
check for self-assignment in operator=
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51123 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-09 04:08:33 +00:00
Vadim Zeitlin
53c75dc2f2
test for wxUSE_UNICODE_UTF8 in wxUTF8Buf definition was reversed, correct it
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-01 15:14:39 +00:00
Vadim Zeitlin
30386aeb86
define wxUTF8Buf as the type returned by wxString::utf8_str()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-20 22:52:36 +00:00
Vadim Zeitlin
7c77f33480
added WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE() macro and use it to work around VC6 warnings about non DLL-exported templates
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-14 21:02:09 +00:00
Vadim Zeitlin
4ec4d8610a
added WXDLLIMPEXP_BASE for a couple of template classes having only inline functions as VC7 still needs them in DLL build if these classes are used as base classes or members of other DLL-exported classes (replaces first two parts of the patch 1779004)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-14 17:04:27 +00:00
Václav Slavík
b5dbe15d0b
added WXDLLIMPEXP_FWD_FOO macros in addition to WXDLLIMPEXP_FOO for use with forward declarations (in preparation for GCC visibility support)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-09 10:09:52 +00:00
Václav Slavík
541aa82180
fixed VC6 warnings about non-dllexported members in dllexported classes
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-11 19:59:11 +00:00
Václav Slavík
52de37c78f
1. made CRT wrappers definitions indepenent of wxUSE_UNICODE: both ANSI and Unicode variants are now defined
...
2. split wxcrt.h into wxcrtbase.h with lowlevel compiler-specific definitions and wxcrt.h with ANSI- and Unicode-compatible wx wrappers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-10 17:14:14 +00:00
Václav Slavík
8db4a5d27a
added missing forward declaration for wxCStrData
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-19 11:25:34 +00:00
Václav Slavík
e713a90b3f
moved vararg CRT functions wrappers to a new wxcrtvararg.h header
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-19 07:44:16 +00:00
Václav Slavík
681e441286
added wxCStrData::As[W]CharBuf() that doesn't keep converted string in memory for longer than needed
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-16 06:59:04 +00:00
Václav Slavík
486a594182
added ability to create 'non-owned' buffers that aren't freed by wxCharBuffer dtor
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-14 16:58:48 +00:00
Václav Slavík
817270659e
initial version of UTF-8 strings representation (still converting to wchar_t* a lot); it has to be explicitly enabled with --enable-utf8 for now
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-12 21:15:07 +00:00
Václav Slavík
11aac4baa6
provide both const char* and const wchar_t* implicit conversion of wxCStrData regardless of the build type
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 21:28:14 +00:00
Václav Slavík
665e6a8753
added missing public keyword to wxWritableCharTypeBuffer declaration
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-30 20:30:34 +00:00
Václav Slavík
ef0f138756
added char_str() and wchar_str() methods to wxString for obtaining char*/wchar_t* pointers
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-30 20:09:02 +00:00
Vadim Zeitlin
ccd4deab6b
fix DLL build with MSVC: it wasn't happy that some functions of a template class were not implemented, so get rid of FromCStrData() and implement its logic in one of the 2 derived classes ctors instead
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-23 00:04:15 +00:00
Václav Slavík
d18c8d3d94
reimplemented wx[W]CharBuffer using templates
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45025 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-22 23:31:08 +00:00
Vadim Zeitlin
414b7b4016
added ctor for wxChar/WCharBuffer from wxCStrData in ANSI/Unicode build to make it possible to compile code like "wxCharBuffer buf = s.c_str()" again (in particular, fixes wxGTK1 compilation)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-19 13:18:02 +00:00
Vadim Zeitlin
2f4f6de77b
added wxWxCharBuffer which stands for buffer of wxChars
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-10 01:35:21 +00:00
Vadim Zeitlin
11fead7c46
added wxBuffer::reset()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-02 14:57:36 +00:00
Vadim Zeitlin
6901ac371f
added extend() method which realloc()s the buffer
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-01 02:58:56 +00:00
Vadim Zeitlin
fedde9b906
default ctor should create an empty/uninitialized buffer, not one with a single character string
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-31 23:33:38 +00:00
Vadim Zeitlin
ae0ca7559c
renamed BLOCK_SIZE which conflicts with a #define in a std Linux (and maybe not only) header (bug 1339731)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36037 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-29 17:46:12 +00:00
Vadim Zeitlin
68bc51a9ed
missing const added (patch 1295036)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-24 21:28:15 +00:00
Robin Dunn
22faef6ced
Allow wxCharBuffer to be constructed without parameters (making a zero
...
length string by default) so it can be used in SWIG typemaps.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-16 04:08:35 +00:00
Václav Slavík
b08a2401a3
dllexport buffer classes used by wxString
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-08-30 21:31:38 +00:00