William S Fulton
319442a8c4
More move semantics improvements
...
More removal of casts in the out typemaps when copying objects to enable
C++ compilers to possibly make use of move semantics.
2022-07-04 11:19:50 +01:00
William S Fulton
71cd6a38fe
Performance optimisation for directors for classes passed by value
...
The directorin typemaps in the director methods now use std::move on the
input parameter when copying the object from the stack to the heap prior
to the callback into the target language, thereby taking advantage of
move semantics if available.
2022-07-04 11:19:29 +01:00
William S Fulton
06462acdf9
Fix C# CA1063 warning by implementing the recommended Dispose methods.
...
Previously just the Dispose() method was generated.
Now the Dispose() and Dispose(bool disposing) methods are generated.
Changes are required if custom "csfinalize", "csdestruct" or "csdestruct_derived"
typemaps are being used. Details in #421 on Github. SWIG will error out if one of
the "csfinalize, "csdestruct" or "csdestruct_derived" typemaps are found. Example
error message:
foo.h:60: Error: A deprecated csfinalize typemap was found for Foo, please remove
it and replace all csdestruct, csdestruct_derived and csfinalize typemaps by the
csdispose, csdispose_derived, csdisposing and csdisposing_derived typemaps.
Closes #421
2019-04-08 19:20:45 +01:00
William S Fulton
46ea2ab0a6
Add director shared_ptr typemaps for C#
2017-10-17 21:55:31 +01:00
William S Fulton
ed4b84f4d3
Fix overloading of shared_ptr method overloading
...
Add 'equivalent' attribute to typecheck typemap.
Closes #1098 .
2017-09-23 15:19:34 +01:00
William S Fulton
ab1e9f5bd9
Consistent whitespace amongst all the shared_ptr and intrusive_ptr typemaps
...
[skip ci]
2017-04-20 19:21:47 +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
6a74028e65
Fix inconsistencies in Java and C# getCPtr() and pointer constructor visibility - change to protected/internal from public. Add SWIG_JAVABODY_PROXY, SWIG_JAVABODY_TYPEWRAPPER and SWIG_CSBODY_PROXY, SWIG_CSBODY_TYPEWRAPPER for users to easily change when using multiple modules.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12843 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-11-25 20:56:56 +00:00
William S Fulton
9c53d41e0f
nspace fixes for smart pointers
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12038 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-05-23 00:29:58 +00:00
William S Fulton
3dfac02269
shared_ptr improvements so the proxy class does not need to be specified - SWIG_SHARED_PTR macro deprecated and replaced by %shared_ptr
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12037 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-05-22 23:57:19 +00:00
William S Fulton
12cfc251e4
Fix #2408232 . Improve shared_ptr and intrusive_ptr wrappers for classes in an inheritance hierarchy. No special treatment is needed for derived classes, the SWIG_SHARED_PTR_DERIVED macro is deprecated.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12036 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-05-22 22:49:47 +00:00
William S Fulton
bdb136d611
Change typemap matching rules for the default type (SWIGTYPE) to follow template partial specialization type deduction. Fixes some containers of const pointers. SWIGTYPE*& typemps removed and replaced with SWIGTYPE *const&.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11958 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-04-01 18:26:37 +00:00
William S Fulton
1de9c8b27f
Add a few comments about the smart pointer implementation
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11828 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-01-23 15:30:42 +00:00
William S Fulton
be73d28ad7
don't unnecessarily set swigCPtr to zero again if Dispose/delete called multiple times
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11179 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-03-31 12:23:47 +00:00
William S Fulton
a025af2d2e
Remove some unnecessary casts
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10252 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-02-13 23:12:09 +00:00
William S Fulton
035cdf6f1a
Fix compilation problem for const methods and memory leak for plain member variables
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9976 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-10-09 23:51:03 +00:00
William S Fulton
12919429ad
shared_ptr typemaps added
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9963 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-10-07 00:28:11 +00:00