William S Fulton
6d27ead9c0
Add STL container copy constructors where missing
...
Also provide consistent copy constructor declarations.
2019-02-14 18:53:05 +00:00
William S Fulton
e26f6bb4e2
Add missing typedefs to std::vector + typedef corrections
...
Tests for std::vector of pointers added which check
std::vector<T*>::const_reference and std::vector<T*>::reference
usage which gave compilation errors in Python and Perl which had
specialized these vectors incorrectly.
2019-02-13 22:46:28 +00:00
William S Fulton
368cd3b52c
Add ToArray test for C# std::vector wrapper
2018-01-12 18:26:47 +00:00
Quentin
4326da9ab3
[C#] Add ToArray to std_vector.i
2017-10-19 09:45:57 +02:00
William S Fulton
32e7074d9b
Whitespace fixes in STL wrappers
2017-06-03 18:36:59 +01:00
William S Fulton
fdca8e9829
Better variable naming consistency in STL containers
2017-05-26 22:37:29 +01:00
Vadim Zeitlin
bf11d5ee7a
Don't hardcode C# type corresponding to size_t in vector typemaps
...
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.
2017-03-15 23:17:03 +01:00
Jean-Claude Manoli
18ac3030df
Replace ICollection with IEnumerable<T>
...
Adding a constructor that accepts IEnumerable<T> avoids the boxing and unboxing overhead of the original constructor, when the type parameter is a value type. This also allows passing IList<T>, which does not implement ICollection (ironically the generated type implements IList<T>).
Kept the original constructor for backward compatibility, but replaced ICollection with IEnumerable for added flexibility.
2017-02-05 08:02:14 +01:00
William S Fulton
449aa08124
%extend changes and remove default use of javatype, dtype, cstype %typemaps
...
1) The %extend directive can now optionally support one of the 'class', 'struct' or 'union'.
2) The SWIG library no longer uses the javatype, dtype or cstype typemaps, thereby
completely freeing them up for users to use without having to replicate the library
code that they previously added
Tested by changes to test: java_lib_arrays
2017-01-15 16:50:24 +00:00
myd7349
46791437a4
SWIG_STD_VECTOR_ENHANCED for std::wstring
2016-07-04 14:28:46 +08:00
Marvin Greenberg
843aa7cd65
Work around differences in clang libc++ std::vector<bool>::const_reference
...
clang++ using -stdlib=libc++ defines const_reference as a class,
to map boolean vectors onto a bit set. Because swig does
not "see" the type as "const &" it generates incorrect code for this case,
generating a declaration like:
const_reference result;
When const_reference is a typedef to 'bool' as is the case with stdlibc++
this works. When this is actually a constant reference, this is clearly
invalid since it is not initialized. For libc++, this is a class
which cannot be default constructed, resulting in an error. The fix
is to explicitly define the various accessor extensions as having a
bool return type for this specialization.
2014-02-04 16:00:12 -05: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
Brant K. Kyser
cb2df12630
Since SWIG 3.0 removes support for .NET 1.1, cleanup the C# library by removing the use of the SWIG_DOTNET_1 macro.
2013-10-17 13:58:32 -05:00
Brant K. Kyser
3235570619
Globablly qualify the use of types from the .NET framework's System namespace in the C# module and library.
2013-10-17 13:27:48 -05:00
William S Fulton
cc9b811281
Add spaces to avoid unintended <: digraph in SWIG_STD_VECTOR_ENHANCED
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12083 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-06-01 23:36:08 +00:00
William S Fulton
d25121a0ed
Fix SWIG_STD_VECTOR_ENHANCED macro used in C# std::vector to work with commas
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12081 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-06-01 23:10:22 +00:00
William S Fulton
482c06c28c
Remove unnecessary vector of constant pointer specialization since the improved default typemap matching rules were introduced
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11961 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-04-01 23:30:26 +00: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
fb505bf7c9
small tidy up
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11500 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-04 17:48:41 +00:00
William S Fulton
31ad548c6b
Deprecate SWIG_STD_VECTOR_SPECIALIZE_MINIMUM. Deprecate SWIG_STD_VECTOR_SPECIALIZE and replace with SWIG_STD_VECTOR_ENHANCED
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11493 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-03 18:17:14 +00:00
William S Fulton
7841adc675
Add std::vector copy constructor to proxy
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11233 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-05-26 06:23:39 +00:00
William S Fulton
07ed699ef3
use instead of self
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11231 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-05-22 06:11:45 +00:00
William S Fulton
13cbd90553
Improved std::vector wrappers on the C# proxy side from Yuval Baror to implement IList<> instead of IEnumerable<> where possible.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11209 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-05-11 17:46:51 +00:00
William S Fulton
6975ecd65c
std::vector<T> wrapper improvements for .NET 2 implementing IEnumerable<T>
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11156 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-03-18 23:30:57 +00:00
William S Fulton
df698a8d32
minor rewrite
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11154 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-03-16 21:39:36 +00:00
William S Fulton
956c57bb03
add in correct specialization for std::vector<bool> to follow C++ standard - to create compileable wrappers with vc++ and recent return by reference changes
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11153 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-03-16 19:33:38 +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
90a4d04d85
revert entry 2008-09-01 - C# Insert and InsertRange bounds checking
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10875 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-09-18 23:17:52 +00:00
William S Fulton
a83eebb369
Fix array bounds checking in C# std::vector wrappers
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10804 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-09-01 20:32:53 +00:00
William S Fulton
edd82d41f2
corrections for last commit
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9867 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-07-18 21:06:55 +00:00
William S Fulton
176984f338
std::vector parameter name changes so that these parameters can be individually singled out with typemaps
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9856 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-06-25 21:30:13 +00:00
William S Fulton
c5a8c80883
64 bit portability warnings fix
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9580 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-11-24 22:41:17 +00:00
William S Fulton
aabbc69818
Common template for head of each file detailing licence, distribution and authors information
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8974 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-03-07 00:21:51 +00:00
William S Fulton
0b37423ca1
Add in specialization for pointers
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8748 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-08 22:23:03 +00:00
William S Fulton
3db5c253df
Fix for vector of bool
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8076 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-27 01:50:49 +00:00
William S Fulton
b276adf199
Use value_type to to more closely match the STL declarations and work around some bugs in some compilers for pointer references (when the type is a pointer)
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8067 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-26 23:23:58 +00:00
William S Fulton
cfdad24993
Use the system angle brackets for %include
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7871 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-26 09:28:20 +00:00
William S Fulton
549a51eef2
Fully qualify System.Array usage
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7405 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-05 19:32:32 +00:00
William S Fulton
03a67698a9
use exception specification instead of %exception to handle STL error checking
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7352 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-07-27 20:09:42 +00:00
William S Fulton
abc9d8c97e
Fix undefined behaviour when throwing exceptions
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7041 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-03-07 21:49:34 +00:00
William S Fulton
db4ab69bba
debug removed
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7030 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-03-06 19:12:25 +00:00
William S Fulton
8d7eaea667
Fixes for new Exception mechanism, but still failing.
...
Debug code left in for testing on other systems.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6992 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-02-23 21:00:09 +00:00
William S Fulton
bac8f43f79
C# exception handling improvements - they are robust and don't leak anymore. Requires typemap modifications using attribute canthrow in any unmanaged code typemaps that throw an exception and excode attribute in csout and csconstruct typemaps.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6934 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-02-02 22:44:32 +00:00
William S Fulton
054b450ad4
forgotten checkin to remove some warnings on VC++
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6715 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-11 21:50:54 +00:00
William S Fulton
9bf092eb5a
C# std::vector support. Not really ready for the masses, but enjoy anyway.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6666 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-04 22:37:37 +00:00