Mercurial > hg > octave-lyh
changeset 11277:7d5351fc575a
mex.cc: convert mxArray_octave_value to matlab style representation when duplicating
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 19 Nov 2010 21:27:02 -0500 |
parents | 475e90eb4ff1 |
children | cf5f87246c90 |
files | src/ChangeLog src/mex.cc src/mxarray.h.in |
diffstat | 3 files changed, 19 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2010-11-19 John W. Eaton <jwe@octave.org> + + Bug #31706. + + * mex.h, mex.cc (mxArray::dup): Rename from clone. Change all + uses and derived classes. + (mxArray_octave_value::dup): Convert to mxArray object here. + 2010-11-19 John W. Eaton <jwe@octave.org> * mex.cc (mex::free): Don't warn about skipping memory not
--- a/src/mex.cc +++ b/src/mex.cc @@ -115,7 +115,7 @@ public: - mxArray *clone (void) const = 0; + mxArray *dup (void) const = 0; ~mxArray_base (void) { } @@ -327,7 +327,7 @@ : mxArray_base (), val (ov), mutate_flag (false), id (mxUNKNOWN_CLASS), class_name (0), ndims (-1), dims (0) { } - mxArray *clone (void) const { return new mxArray_octave_value (*this); } + mxArray *dup (void) const { return val.as_mxArray (); } ~mxArray_octave_value (void) { @@ -1175,7 +1175,7 @@ } } - mxArray_number *clone (void) const { return new mxArray_number (*this); } + mxArray_number *dup (void) const { return new mxArray_number (*this); } ~mxArray_number (void) { @@ -1494,7 +1494,7 @@ jc = static_cast<mwIndex *> (calloc (n + 1, sizeof (mwIndex))); } - mxArray_sparse *clone (void) const { return new mxArray_sparse (*this); } + mxArray_sparse *dup (void) const { return new mxArray_sparse (*this); } ~mxArray_sparse (void) { @@ -1680,7 +1680,7 @@ fields[i] = strsave (keys[i]); } - mxArray_struct *clone (void) const { return new mxArray_struct (*this); } + mxArray_struct *dup (void) const { return new mxArray_struct (*this); } ~mxArray_struct (void) { @@ -1878,7 +1878,7 @@ for (mwIndex i = 0; i < nel * nfields; i++) { mxArray *ptr = val.data[i]; - data[i] = ptr ? ptr->clone () : 0; + data[i] = ptr ? ptr->dup () : 0; } } }; @@ -1901,7 +1901,7 @@ : mxArray_matlab (mxCELL_CLASS, m, n), data (static_cast<mxArray **> (calloc (get_number_of_elements (), sizeof (mxArray *)))) { } - mxArray_cell *clone (void) const { return new mxArray_cell (*this); } + mxArray_cell *dup (void) const { return new mxArray_cell (*this); } ~mxArray_cell (void) { @@ -1955,7 +1955,7 @@ for (mwIndex i = 0; i < nel; i++) { mxArray *ptr = val.data[i]; - data[i] = ptr ? ptr->clone () : 0; + data[i] = ptr ? ptr->dup () : 0; } } }; @@ -2614,7 +2614,7 @@ mxArray * mxDuplicateArray (const mxArray *ptr) { - return maybe_mark_array (ptr->clone ()); + return maybe_mark_array (ptr->dup ()); } // Destructor.