Fix an incompatibility with never versions of Octave (by Karl Wette)
According to the Octave changelog (ChangeLog and src/ChangeLog in the Octave 3.4.0 source), octave_base_value::map_value() now returns an octave_map instead of an Octave_map; this change dates from Octave API version 40 onward. This patch makes the necessary changes to the SWIG runtime while remaining backward-compatible. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12673 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
e22eb83574
commit
360c1aaa1b
2 changed files with 12 additions and 1 deletions
|
|
@ -715,9 +715,15 @@ namespace Swig {
|
||||||
return outarg(0).string_value();
|
return outarg(0).string_value();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if OCTAVE_API_VERSION_NUMBER >= 40
|
||||||
|
virtual octave_map map_value() const {
|
||||||
|
return octave_map();
|
||||||
|
}
|
||||||
|
#else
|
||||||
virtual Octave_map map_value() const {
|
virtual Octave_map map_value() const {
|
||||||
return Octave_map();
|
return Octave_map();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
virtual string_vector map_keys() const {
|
virtual string_vector map_keys() const {
|
||||||
member_map tmp;
|
member_map tmp;
|
||||||
|
|
@ -929,8 +935,13 @@ namespace Swig {
|
||||||
virtual std::string string_value(bool force = false) const
|
virtual std::string string_value(bool force = false) const
|
||||||
{ return ptr->string_value(force); }
|
{ return ptr->string_value(force); }
|
||||||
|
|
||||||
|
#if OCTAVE_API_VERSION_NUMBER >= 40
|
||||||
|
virtual octave_map map_value() const
|
||||||
|
{ return ptr->map_value(); }
|
||||||
|
#else
|
||||||
virtual Octave_map map_value() const
|
virtual Octave_map map_value() const
|
||||||
{ return ptr->map_value(); }
|
{ return ptr->map_value(); }
|
||||||
|
#endif
|
||||||
|
|
||||||
virtual string_vector map_keys() const
|
virtual string_vector map_keys() const
|
||||||
{ return ptr->map_keys(); }
|
{ return ptr->map_keys(); }
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@
|
||||||
%typemap(out) octave_value_list {
|
%typemap(out) octave_value_list {
|
||||||
_outp->append($1);
|
_outp->append($1);
|
||||||
}
|
}
|
||||||
%typemap(out,noblock=1) Octave_map {
|
%typemap(out,noblock=1) octave_map, Octave_map {
|
||||||
$result=$1;
|
$result=$1;
|
||||||
}
|
}
|
||||||
%typemap(out,noblock=1) NDArray {
|
%typemap(out,noblock=1) NDArray {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue