In many cases, only one of std::complex<double> and std::complex<float> is
used, so while we continue to define typemaps for both by default, for
compatibility with the other modules, add a possibility to avoid generating
the code for the unwanted specialization by predefining the corresponding
SWIG_NO_STD_COMPLEX_$TYPE before including this file.
For consistency with the other modules (Python, Ruby and JS), allow including
<std_complex.i> directly when using C# too instead of including <complex.i>
which only works in C++ mode (i.e. when using std::complex) anyhow with C# for
now.
Define csvar{in,out} typemaps needed to support properties of complex type and
apply the existing cstype and csin ones to them as well.
Add unit test verifying that this works as expected in C# and, also, in
Python, even though no changes were needed there.
Do not prefer the old .NET 2 gmcs compiler, which was used even if the newer
.NET 4 mcs was available. This is recommended by Mono project, see
http://www.mono-project.com/docs/about-mono/languages/csharp/, and the .NET 1
original mcs is nowhere to be found nowadays.
* tamuratak-fix_typo_ruby_unordered_map:
[ruby] add a test to make sure that std::multiset is including Enumerable.
[ruyb] enable std::list test for Ruby.
[ruby] make std::list include Enumerable.
[ruby] make std::multiset and std::unordered_multiset include Enumerable. tests added.
[ruby] make std::unordered_map include Enumerable.
* tleonhardt-python_threads:
Style fixes for Python threads documentation changes
Finished updating Python docs for -threads option
Started making changes to Python.html to document support for multithreaded Python SWIG applications.
The C# type corresponding to size_t may be changed by redefining its "cstype"
type typemap, but this broke compilation of the code using std::vector<> as
the typemap generating it assumed that size_t was always represented by uint
in C#. Make this work in all cases by explicitly looking up cstype of size_t
instead.
Notice that it may be quite useful, and even necessary, to map size_t to int
as when generating C# assembly for use with COM, via .NET interop, as some COM
clients, notably VBA-using ones, including all Microsoft Office applications,
don't support unsigned types and can't call methods using or returning uint in
C# at all.
This fragment needs to depend on StdTraits fragment as it specializes the
template struct traits<> defined there and it could happen that the struct was
not declared before being specialized, resulting in compilation errors in the
generated code.
It doesn't seem to need to depend on stddef.h inclusion, however, so replace
it with the correct dependency instead of keeping both.