Mercurial > jwe > octave
diff libinterp/octave-value/ov-base.h @ 30237:a2936935c7c8
attempt to limit possible const_cast damage
* Array.h (Array<T>::mex_get_data): Delete.
* Sparse.h (Sparse<T>::mex_get_data, Sparse<T>::mex_get_ir,
Sparse<T>::mex_get_jc): Delete.
* oct-inttypes.h (octave_int<T>::mex_get_data): Delete.
* mex.cc (mxArray_octave_value::get_data,
mxArray_octave_value::get_ir, mxArray_octave_value::get_jc):
Cast away const here, not in octave_value methods.
* ov.h, ov.cc (octave_value::mex_get_data, octave_value::mex_get_ir,
octave_value::mex_get_jc): Return const void pointer.
* ov-base.h (octave_base_value::mex_get_data,
octave_base_value::mex_get_ir, octave_base_value::mex_get_jc):
Likewise. Change all derived classes.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 07 Oct 2021 17:08:44 -0400 |
parents | 870687a59e96 |
children | 91c6288781ba a61e1a0f6024 |
line wrap: on
line diff
--- a/libinterp/octave-value/ov-base.h Thu Oct 07 09:16:18 2021 -0700 +++ b/libinterp/octave-value/ov-base.h Thu Oct 07 17:08:44 2021 -0400 @@ -739,11 +739,11 @@ oct_data_conv::data_type output_type, int skip, octave::mach_info::float_format flt_fmt) const; - virtual void * mex_get_data (void) const { return nullptr; } + virtual const void * mex_get_data (void) const { return nullptr; } - virtual octave_idx_type * mex_get_ir (void) const { return nullptr; } + virtual const octave_idx_type * mex_get_ir (void) const { return nullptr; } - virtual octave_idx_type * mex_get_jc (void) const { return nullptr; } + virtual const octave_idx_type * mex_get_jc (void) const { return nullptr; } virtual mxArray * as_mxArray (bool interleaved) const;