Also apply csvar{in,out} typemaps to std::complex references

This is needed to handle the artificial complex-valued properties created
using %naturalvar correctly.
This commit is contained in:
Vadim Zeitlin 2017-04-15 20:18:24 +02:00
commit 95aa3d9389

View file

@ -33,14 +33,14 @@ public:
return new System.Numerics.Complex(cppret.real(), cppret.imag());
}
%typemap(csvarin, excode=SWIGEXCODE2) std::complex<T>* %{
%typemap(csvarin, excode=SWIGEXCODE2) std::complex<T>*, const std::complex<T>& %{
set {
var cppvalue = new Complex_##T((T)value.Real, (T)value.Imaginary);
$imcall;$excode
}
%}
%typemap(csvarout, excode=SWIGEXCODE2) std::complex<T>* %{
%typemap(csvarout, excode=SWIGEXCODE2) std::complex<T>*, const std::complex<T>& %{
get {
var cppret = new Complex_##T($imcall, $owner);$excode
return new System.Numerics.Complex(cppret.real(), cppret.imag());