Remove wxUSE_STL which is not really used any longer
wxString is always based on std::[w]string since 2c0c727f49 (Remove wx
own wxStringImpl implementation, 2022-11-16) and all containers use
standard containers by default too now -- and there is a separate
wxUSE_STD_CONTAINERS for this anyhow.
The only remaining use of wxUSE_STL was as the default value for
wxUSE_STD_STRING_CONV_IN_WXSTRING option, but it's not really needed
for this neither, and this option can just be set to 0 by default.
Also add wxUSE_CHAR_CONV_IN_WXSTRING which can now be set to 0 too to
disable all unwanted implicit conversions (even "safe" ones, to wide
strings, in addition to the unsafe ones to narrow strings that could be
already disabled with wxUSE_UNSAFE_WXSTRING_CONV) to allow people who
don't want to have any implicit conversions at all to do it.
Keep --enable-stl configure option for compatibility, but warn if it is
used to tell people that it is not needed any longer.
This commit is contained in:
parent
d65eed50fa
commit
35c35c235e
22 changed files with 315 additions and 248 deletions
|
|
@ -1536,13 +1536,7 @@ public:
|
|||
// implicit conversion to wxCStrData
|
||||
operator wxCStrData() const { return c_str(); }
|
||||
|
||||
// the first two operators conflict with operators for conversion to
|
||||
// std::string and they must be disabled if those conversions are enabled;
|
||||
// the next one only makes sense if conversions to char* are also defined
|
||||
// and not defining it in STL build also helps us to get more clear error
|
||||
// messages for the code which relies on implicit conversion to char* in
|
||||
// STL build
|
||||
#if !wxUSE_STD_STRING_CONV_IN_WXSTRING
|
||||
#if wxUSE_CHAR_CONV_IN_WXSTRING
|
||||
operator const wchar_t*() const { return c_str(); }
|
||||
|
||||
#if wxUSE_UNSAFE_WXSTRING_CONV && !defined(wxNO_UNSAFE_WXSTRING_CONV)
|
||||
|
|
@ -1553,7 +1547,7 @@ public:
|
|||
operator const void*() const { return c_str(); }
|
||||
#endif // wxUSE_UNSAFE_WXSTRING_CONV && !defined(wxNO_UNSAFE_WXSTRING_CONV)
|
||||
|
||||
#endif // !wxUSE_STD_STRING_CONV_IN_WXSTRING
|
||||
#endif // wxUSE_CHAR_CONV_IN_WXSTRING
|
||||
|
||||
// identical to c_str(), for MFC compatibility
|
||||
const wxCStrData GetData() const { return c_str(); }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue