diff options
author | Karl Wette <karl.wette@ligo.org> | 2016-02-07 15:09:43 +0100 |
---|---|---|
committer | Karl Wette <karl.wette@ligo.org> | 2016-02-07 20:22:39 +0100 |
commit | 0dd16f92ab28597e86e827d76893ab097644b838 (patch) | |
tree | 2c1aa235efc0945326ccd4fc7329d70fcba46783 /Lib/octave | |
parent | b93b1871a9c39aced5a8cdb68358d8d937c611d2 (diff) | |
download | swig-0dd16f92ab28597e86e827d76893ab097644b838.tar.gz |
octrun.swg: make dispatch_[unary|binary|index]_op() const-qualified
Diffstat (limited to 'Lib/octave')
-rw-r--r-- | Lib/octave/octrun.swg | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/Lib/octave/octrun.swg b/Lib/octave/octrun.swg index b6e4b6ccf..ab5a2c1a7 100644 --- a/Lib/octave/octrun.swg +++ b/Lib/octave/octrun.swg @@ -363,41 +363,44 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own); return octave_value_list(); } - bool dispatch_unary_op(const std::string &symbol, octave_value &ret) { - member_value_pair *m = find_member(symbol, false); + bool dispatch_unary_op(const std::string &symbol, octave_value &ret) const { + octave_swig_type *nc_this = const_cast < octave_swig_type *>(this); + member_value_pair *m = nc_this->find_member(symbol, false); if (!m || m->first->is_static() || m->first->is_global()) return false; octave_value_list args; - args.append(as_value()); - octave_value_list argout(member_invoke(m, args, 1)); + args.append(nc_this->as_value()); + octave_value_list argout(nc_this->member_invoke(m, args, 1)); if (argout.length() < 1) return false; ret = argout(0); return true; } - bool dispatch_binary_op(const std::string &symbol, const octave_base_value &rhs, octave_value &ret) { - member_value_pair *m = find_member(symbol, false); + bool dispatch_binary_op(const std::string &symbol, const octave_base_value &rhs, octave_value &ret) const { + octave_swig_type *nc_this = const_cast < octave_swig_type *>(this); + member_value_pair *m = nc_this->find_member(symbol, false); if (!m || m->first->is_static() || m->first->is_global()) return false; octave_value_list args; - args.append(as_value()); + args.append(nc_this->as_value()); args.append(make_value_hack(rhs)); - octave_value_list argout(member_invoke(m, args, 1)); + octave_value_list argout(nc_this->member_invoke(m, args, 1)); if (argout.length() < 1) return false; ret = argout(0); return true; } - bool dispatch_index_op(const std::string &symbol, const octave_value_list &rhs, octave_value_list &ret) { - member_value_pair *m = find_member(symbol, false); + bool dispatch_index_op(const std::string &symbol, const octave_value_list &rhs, octave_value_list &ret) const { + octave_swig_type *nc_this = const_cast < octave_swig_type *>(this); + member_value_pair *m = nc_this->find_member(symbol, false); if (!m || m->first->is_static() || m->first->is_global()) return false; octave_value_list args; - args.append(as_value()); + args.append(nc_this->as_value()); args.append(rhs); - octave_value_list argout(member_invoke(m, args, 1)); + octave_value_list argout(nc_this->member_invoke(m, args, 1)); if (argout.length() >= 1) ret = argout(0); return true; |