Commit Graph

15 Commits

Author SHA1 Message Date
Olly Betts 01b6268b30 Make typemaps consistently use string::data() vs c_str()
Use c_str() only when we need a terminating zero byte and data() when
we don't (as we already did in most cases).  The two methods in fact
do the same thing as of C++11 (and in practice did for all C++98
implementations I'm aware of) but it's useful to make clear when we need
a terminating zero byte and when we don't, for example for adding
string_view support (string_view supports data(), but can't support
c_str() (since it could be a slice from the middle of a std::string).
2023-04-24 11:49:23 +12:00
William S Fulton 751d443046 C# std::wstring director support
Updates for #1706
2022-05-04 21:37:47 +01:00
tartanpaint 3377b63dad Fix line endings 2022-05-04 21:37:47 +01:00
tartanpaint 5b7447b20e Fix marshalling of std::wstring parameters in directors
std::wstring parameters on SWIG directors were being truncated to a single character due to marshalling inconsistencies.
This patch applies the same MarshalAs(UnmanagedType.LPWStr) attribute to director delegate methods and allows std::wstrings to be successfully received in the C# code via director calls.
2022-05-04 21:37:47 +01:00
William S Fulton 79a9389355 Add support for throwing wstring exceptions
Throw an ApplicationException for std::wstring and wchar_t * strings
2022-05-02 21:08:19 +01:00
William S Fulton 0fbd6cc364 wchar_t C# marshalling tweak
Use more appropriate unsigned short (2 byte type) pointer
for C# ctype instead of wchar_t pointer
2022-05-02 21:08:19 +01:00
William S Fulton ed42422d1c Add support for wchar_t * and std::wstring Unicode strings on Linux
Initial contributions for Linux provided in issue #1233, modified to work
on both Windows and Linux. Dual support is possible by detecting
the sizeof wchar_t which is different on each of these systems.
2022-05-02 21:08:19 +01:00
smithx 03f7745364 fix undesirable `wstring` encoding at return value marshalling for C# 2019-07-22 19:11:21 +01:00
smithx 8f6d97ab8c fix undesirable `wstring` encoding at return value marshalling for C# 2019-07-22 19:11:21 +01:00
Brant K. Kyser adb93980f2 Remove using directives from the generated C# code and fully qualify the use of all .NET framework types in order to minimize potential name collisions from input files defining types, namespace, etc with the same name as .NET framework members. 2013-10-17 15:44:24 -05:00
William S Fulton 4308dd03cf SWIG license change - The Examples and Lib move to a very permissive license in the LICENSE file, removing the BSD license restrictions as agreed by committers since it was inadvertently introduced. Remove some examples where the impact of the license change is not clear.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11874 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-02-27 23:26:02 +00:00
William S Fulton e7f8954bea remove svn:executable property where applied incorrectly
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10951 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-11-26 21:54:49 +00:00
William S Fulton 23f8a0464c throws typemaps for std::wstring using C# patch #1799064 from David Piepgrass
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9956 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-09-25 21:35:24 +00:00
Olly Betts c836c81acb When wrapping C++ code, generate code which uses
std::string::assign(PTR, LEN) rather than assigning
std::string(PTR, LEN).  Using assign generates more efficient code
(tested with GCC 4.1.2).


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9936 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-09-17 20:10:57 +00:00
William S Fulton 4b31a3ee50 add C# std::string and wchar typemaps
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9621 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-12-15 23:50:39 +00:00