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;