[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Beyond 2.9.5
From: |
John W. Eaton |
Subject: |
Re: Beyond 2.9.5 |
Date: |
Thu, 13 Apr 2006 09:13:31 -0400 |
On 12-Apr-2006, I wrote:
| On 4-Apr-2006, David Bateman wrote:
|
| | For the changes for the octave_value class I'm not sure I see what we
| | are winning.
|
| The change is not absolutely necessary (things work now) but it seems
| like a somewhat cleaner way of doing things. Given that the necessary
| changes to user-defined types are relatively small, I think I'd like
| to go ahead with this change.
I checked in a relatively large patch for this change. I'm attaching
the changes I needed to adapt Octave Forge. I used some #defines to
preserve compatibility with older versions of Octave.
Note that the definition of OV_REP_TYPE is meant to be temporary, so
when Octave Forge is cleaned for 3.0 it should be replaced by
octave_base_value and the definition removed from octave/ov.h.
jwe
Index: extra/linear-algebra/ov-re-tri.cc
===================================================================
RCS file: /cvsroot/octave/octave-forge/extra/linear-algebra/ov-re-tri.cc,v
retrieving revision 1.7
diff -u -r1.7 ov-re-tri.cc
--- extra/linear-algebra/ov-re-tri.cc 25 May 2005 03:43:38 -0000 1.7
+++ extra/linear-algebra/ov-re-tri.cc 13 Apr 2006 13:03:51 -0000
@@ -26,28 +26,28 @@
{
}
-octave_value *octave_tri::clone(void) const
+OV_REP_TYPE *octave_tri::clone(void) const
{
return new octave_tri(*this);
}
-static octave_value *
-tri_numeric_conversion_function(const octave_value& a)
+static OV_REP_TYPE *
+tri_numeric_conversion_function(const OV_REP_TYPE& a)
{
CAST_CONV_ARG (const octave_tri &);
return new octave_matrix (v.matrix_value());
}
-type_conv_fcn
+TYPE_CONV_FCN
octave_tri::numeric_conversion_function (void) const
{
return tri_numeric_conversion_function;
}
-octave_value * octave_tri::try_narrowing_conversion(void)
+OV_REP_TYPE * octave_tri::try_narrowing_conversion(void)
{
- octave_value *retval = octave_matrix::try_narrowing_conversion();
+ OV_REP_TYPE *retval = octave_matrix::try_narrowing_conversion();
if ( retval==0){
int nr = matrix.rows ();
Index: extra/linear-algebra/ov-re-tri.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/extra/linear-algebra/ov-re-tri.h,v
retrieving revision 1.4
diff -u -r1.4 ov-re-tri.h
--- extra/linear-algebra/ov-re-tri.h 23 Nov 2003 14:21:38 -0000 1.4
+++ extra/linear-algebra/ov-re-tri.h 13 Apr 2006 13:03:51 -0000
@@ -18,6 +18,13 @@
#include <octave/symtab.h>
#include <octave/variables.h>
+#ifdef OV_REP_TYPE
+#define TYPE_CONV_FCN OV_REP_TYPE::type_conv_fcn
+#else
+#define OV_REP_TYPE octave_value
+#define TYPE_CONV_FCN type_conv_fcn
+#endif
+
class Octave_map;
class octave_value_list;
@@ -38,10 +45,10 @@
~octave_tri(void);
octave_tri (const octave_tri& D);
- octave_value *clone (void) const;
+ OV_REP_TYPE *clone (void) const;
- type_conv_fcn numeric_conversion_function (void) const;
- octave_value * try_narrowing_conversion(void);
+ TYPE_CONV_FCN numeric_conversion_function (void) const;
+ OV_REP_TYPE * try_narrowing_conversion(void);
inline tri_type tri_value(void) const { return tri;};
void assign (const octave_value_list& idx, const Matrix& rhs);
Index: main/comm/ov-galois.cc
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/comm/ov-galois.cc,v
retrieving revision 1.13
diff -u -r1.13 ov-galois.cc
--- main/comm/ov-galois.cc 9 Nov 2004 23:34:49 -0000 1.13
+++ main/comm/ov-galois.cc 13 Apr 2006 13:03:51 -0000
@@ -27,10 +27,14 @@
#endif
#include <iostream>
+#include <octave/config.h>
#include <octave/unwind-prot.h>
+#include <octave/pr-output.h>
#include "galois.h"
#include "ov-galois.h"
+extern int Vstruct_levels_to_print;
+
#ifdef CLASS_HAS_LOAD_SAVE
#include <octave/byte-swap.h>
#include <octave/ls-oct-ascii.h>
Index: main/comm/ov-galois.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/comm/ov-galois.h,v
retrieving revision 1.7
diff -u -r1.7 ov-galois.h
--- main/comm/ov-galois.h 9 Nov 2004 23:34:49 -0000 1.7
+++ main/comm/ov-galois.h 13 Apr 2006 13:03:51 -0000
@@ -61,6 +61,10 @@
#define __GALOIS_INDEX_OF_STR "index_of"
#endif
+#ifndef OV_REP_TYPE
+#define OV_REP_TYPE octave_value
+#endif
+
class octave_value_list;
class tree_walker;
@@ -82,8 +86,8 @@
~octave_galois (void) { };
- octave_value *clone (void) const { return new octave_galois (*this); }
- octave_value *empty_clone (void) const { return new octave_galois (); }
+ OV_REP_TYPE *clone (void) const { return new octave_galois (*this); }
+ OV_REP_TYPE *empty_clone (void) const { return new octave_galois (); }
octave_value subsref (const std::string SUBSREF_STRREF type,
const LIST<octave_value_list>& idx);
Index: main/fixed/ov-fixed-complex.cc
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/fixed/ov-fixed-complex.cc,v
retrieving revision 1.4
diff -u -r1.4 ov-fixed-complex.cc
--- main/fixed/ov-fixed-complex.cc 9 Nov 2004 23:34:49 -0000 1.4
+++ main/fixed/ov-fixed-complex.cc 13 Apr 2006 13:03:51 -0000
@@ -204,10 +204,10 @@
return retval;
}
-octave_value *
+OV_REP_TYPE *
octave_fixed_complex::try_narrowing_conversion (void)
{
- octave_value *retval = 0;
+ OV_REP_TYPE *retval = 0;
if (imag (scalar) == FixedPoint())
retval = new octave_fixed (real (scalar));
Index: main/fixed/ov-fixed-complex.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/fixed/ov-fixed-complex.h,v
retrieving revision 1.5
diff -u -r1.5 ov-fixed-complex.h
--- main/fixed/ov-fixed-complex.h 12 Feb 2006 07:15:28 -0000 1.5
+++ main/fixed/ov-fixed-complex.h 13 Apr 2006 13:03:51 -0000
@@ -60,6 +60,10 @@
#include "fixedComplex.h"
#include "ov-fixed.h"
+#ifndef OV_REP_TYPE
+#define OV_REP_TYPE octave_value
+#endif
+
class Octave_map;
class octave_value_list;
@@ -115,11 +119,11 @@
bool is_true (void) const { return (scalar != FixedPointComplex()); }
- octave_value *clone (void) const { return new octave_fixed_complex (*this); }
- octave_value *empty_clone (void) const
+ OV_REP_TYPE *clone (void) const { return new octave_fixed_complex (*this); }
+ OV_REP_TYPE *empty_clone (void) const
{ return new octave_fixed_complex (); }
- octave_value *try_narrowing_conversion (void);
+ OV_REP_TYPE *try_narrowing_conversion (void);
octave_value do_index_op (const octave_value_list& idx, int resize_ok = 0);
Index: main/fixed/ov-fixed-cx-mat.cc
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/fixed/ov-fixed-cx-mat.cc,v
retrieving revision 1.5
diff -u -r1.5 ov-fixed-cx-mat.cc
--- main/fixed/ov-fixed-cx-mat.cc 9 Nov 2004 23:34:49 -0000 1.5
+++ main/fixed/ov-fixed-cx-mat.cc 13 Apr 2006 13:03:51 -0000
@@ -318,10 +318,10 @@
return retval;
}
-octave_value *
+OV_REP_TYPE *
octave_fixed_complex_matrix::try_narrowing_conversion (void)
{
- octave_value *retval = 0;
+ OV_REP_TYPE *retval = 0;
int nr = matrix.rows ();
int nc = matrix.cols ();
Index: main/fixed/ov-fixed-cx-mat.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/fixed/ov-fixed-cx-mat.h,v
retrieving revision 1.4
diff -u -r1.4 ov-fixed-cx-mat.h
--- main/fixed/ov-fixed-cx-mat.h 9 Nov 2004 23:34:49 -0000 1.4
+++ main/fixed/ov-fixed-cx-mat.h 13 Apr 2006 13:03:51 -0000
@@ -48,6 +48,10 @@
#include "fixedCColVector.h"
#include "fixedCMatrix.h"
+#ifndef OV_REP_TYPE
+#define OV_REP_TYPE octave_value
+#endif
+
class Octave_map;
class octave_value_list;
@@ -83,8 +87,8 @@
~octave_fixed_complex_matrix (void) { }
- octave_value *clone (void) const { return new octave_fixed_complex_matrix
(*this); }
- octave_value *empty_clone (void) const { return new
octave_fixed_complex_matrix (); }
+ OV_REP_TYPE *clone (void) const { return new octave_fixed_complex_matrix
(*this); }
+ OV_REP_TYPE *empty_clone (void) const { return new
octave_fixed_complex_matrix (); }
octave_value do_index_op (const octave_value_list& idx)
{ return do_index_op (idx, 0); }
@@ -96,7 +100,7 @@
const std::list<octave_value_list>& idx,
const octave_value& rhs);
- octave_value *try_narrowing_conversion (void);
+ OV_REP_TYPE *try_narrowing_conversion (void);
bool is_complex_matrix (void) const { return true; }
Index: main/fixed/ov-fixed-mat.cc
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/fixed/ov-fixed-mat.cc,v
retrieving revision 1.6
diff -u -r1.6 ov-fixed-mat.cc
--- main/fixed/ov-fixed-mat.cc 9 Nov 2004 23:34:49 -0000 1.6
+++ main/fixed/ov-fixed-mat.cc 13 Apr 2006 13:03:52 -0000
@@ -290,10 +290,10 @@
return retval;
}
-octave_value *
+OV_REP_TYPE *
octave_fixed_matrix::try_narrowing_conversion (void)
{
- octave_value *retval = 0;
+ OV_REP_TYPE *retval = 0;
int nr = matrix.rows ();
int nc = matrix.cols ();
Index: main/fixed/ov-fixed-mat.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/fixed/ov-fixed-mat.h,v
retrieving revision 1.4
diff -u -r1.4 ov-fixed-mat.h
--- main/fixed/ov-fixed-mat.h 9 Nov 2004 23:34:49 -0000 1.4
+++ main/fixed/ov-fixed-mat.h 13 Apr 2006 13:03:52 -0000
@@ -55,6 +55,10 @@
#include "fixedMatrix.h"
#include "fixedCMatrix.h"
+#ifndef OV_REP_TYPE
+#define OV_REP_TYPE octave_value
+#endif
+
class Octave_map;
class octave_value_list;
@@ -84,8 +88,8 @@
~octave_fixed_matrix (void) { }
- octave_value *clone (void) const { return new octave_fixed_matrix (*this); }
- octave_value *empty_clone (void) const { return new octave_fixed_matrix (); }
+ OV_REP_TYPE *clone (void) const { return new octave_fixed_matrix (*this); }
+ OV_REP_TYPE *empty_clone (void) const { return new octave_fixed_matrix (); }
octave_value do_index_op (const octave_value_list& idx)
{ return do_index_op (idx, 0); }
@@ -97,7 +101,7 @@
const std::list<octave_value_list>& idx,
const octave_value& rhs);
- octave_value *try_narrowing_conversion (void);
+ OV_REP_TYPE *try_narrowing_conversion (void);
bool is_real_matrix (void) const { return true; }
Index: main/fixed/ov-fixed.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/fixed/ov-fixed.h,v
retrieving revision 1.4
diff -u -r1.4 ov-fixed.h
--- main/fixed/ov-fixed.h 9 Nov 2004 23:34:49 -0000 1.4
+++ main/fixed/ov-fixed.h 13 Apr 2006 13:03:52 -0000
@@ -56,6 +56,10 @@
#include "fixedComplex.h"
#include "fixedCMatrix.h"
+#ifndef OV_REP_TYPE
+#define OV_REP_TYPE octave_value
+#endif
+
class Octave_map;
class octave_value_list;
@@ -101,8 +105,8 @@
bool is_real_type (void) const { return true; }
- octave_value *clone (void) const { return new octave_fixed (*this); }
- octave_value *empty_clone (void) const { return new octave_fixed (); }
+ OV_REP_TYPE *clone (void) const { return new octave_fixed (*this); }
+ OV_REP_TYPE *empty_clone (void) const { return new octave_fixed (); }
octave_value do_index_op (const octave_value_list& idx, int resize_ok = 0);
idx_vector index_vector (void) const
Index: main/miscellaneous/Makefile
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/miscellaneous/Makefile,v
retrieving revision 1.20
diff -u -r1.20 Makefile
--- main/miscellaneous/Makefile 29 Mar 2006 13:50:14 -0000 1.20
+++ main/miscellaneous/Makefile 13 Apr 2006 13:03:52 -0000
@@ -5,7 +5,7 @@
endif
DISPATCH_LINK=$(patsubst %,%$(OCTLINK), dispatch_help builtin)
-TARGETS=mfilename.oct waitbar.oct listen.oct xmlread.oct \
+TARGETS=waitbar.oct listen.oct xmlread.oct \
csvexplode.oct csv2cell.oct csvconcat.oct cell2csv.oct
all: $(TARGETS)
@@ -14,9 +14,6 @@
-$(RM) $@
$(MKOCTLINK) dispatch.oct $@
-mfilename.oct: mfilename.cc
- $(MKOCTFILE) $(MISCDEFS) mfilename.cc
-
waitbar.oct: waitbar.cc
$(MKOCTFILE) $(MISCDEFS) waitbar.cc $(TERM_LIB)
Index: main/octcdf/ov-ncatt.cc
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncatt.cc,v
retrieving revision 1.3
diff -u -r1.3 ov-ncatt.cc
--- main/octcdf/ov-ncatt.cc 9 Jan 2006 21:02:37 -0000 1.3
+++ main/octcdf/ov-ncatt.cc 13 Apr 2006 13:03:52 -0000
@@ -172,7 +172,12 @@
ov_nc_put_att(get_ncid(),get_varid(),get_name(),get_nctype(),rhs);
+#ifdef OV_REP_TYPE
+ count++;
+ retval = octave_value(this);
+#else
retval = octave_value(this, count + 1);
+#endif
return retval;
Index: main/octcdf/ov-ncatt.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncatt.h,v
retrieving revision 1.3
diff -u -r1.3 ov-ncatt.h
--- main/octcdf/ov-ncatt.h 18 Feb 2006 22:06:27 -0000 1.3
+++ main/octcdf/ov-ncatt.h 13 Apr 2006 13:03:52 -0000
@@ -22,6 +22,10 @@
#include "ov-netcdf.h"
+#ifndef OV_REP_TYPE
+#define OV_REP_TYPE octave_value
+#endif
+
typedef struct {
nc_type nctype;
dim_vector dimvec;
@@ -43,7 +47,7 @@
octave_ncatt(octave_ncfile* ncvarp, int attnump);
octave_ncatt(octave_ncfile* ncvarp, std::string attnamep);
- octave_value *clone(void) const { return new octave_ncatt(*this); }
+ OV_REP_TYPE *clone(void) const { return new octave_ncatt(*this); }
octave_value subsasgn(const std::string & type,
const LIST < octave_value_list > &idx,
Index: main/octcdf/ov-ncdim.cc
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncdim.cc,v
retrieving revision 1.3
diff -u -r1.3 ov-ncdim.cc
--- main/octcdf/ov-ncdim.cc 9 Jan 2006 21:02:37 -0000 1.3
+++ main/octcdf/ov-ncdim.cc 13 Apr 2006 13:03:52 -0000
@@ -75,7 +75,12 @@
// # endif
+// #ifdef OV_REP_TYPE
+// // count++;
+// // retval = octave_value(this);
+// #else
// // retval = octave_value(this, count + 1);
+// #endif
// return retval;
Index: main/octcdf/ov-ncdim.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncdim.h,v
retrieving revision 1.3
diff -u -r1.3 ov-ncdim.h
--- main/octcdf/ov-ncdim.h 18 Feb 2006 22:06:27 -0000 1.3
+++ main/octcdf/ov-ncdim.h 13 Apr 2006 13:03:52 -0000
@@ -22,6 +22,10 @@
#include "ov-netcdf.h"
+#ifndef OV_REP_TYPE
+#define OV_REP_TYPE octave_value
+#endif
+
typedef struct {
octave_ncfile* ncfile;
std::string dimname;
@@ -39,7 +43,7 @@
octave_ncdim(octave_ncfile* ncfile, int dimid);
- octave_value *clone(void) const { return new octave_ncdim(*this); }
+ OV_REP_TYPE *clone(void) const { return new octave_ncdim(*this); }
// octave_value subsasgn(const std::string & type,
// const LIST < octave_value_list > &idx,
Index: main/octcdf/ov-ncfile.cc
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncfile.cc,v
retrieving revision 1.3
diff -u -r1.3 ov-ncfile.cc
--- main/octcdf/ov-ncfile.cc 9 Jan 2006 21:02:37 -0000 1.3
+++ main/octcdf/ov-ncfile.cc 13 Apr 2006 13:03:52 -0000
@@ -284,7 +284,13 @@
read_info();
+#ifdef OV_REP_TYPE
+ count++;
+ retval = octave_value(this);
+#else
retval = octave_value(this, count + 1);
+#endif
+
return retval;
Index: main/octcdf/ov-ncfile.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncfile.h,v
retrieving revision 1.2
diff -u -r1.2 ov-ncfile.h
--- main/octcdf/ov-ncfile.h 9 Jan 2006 21:02:37 -0000 1.2
+++ main/octcdf/ov-ncfile.h 13 Apr 2006 13:03:52 -0000
@@ -23,6 +23,9 @@
#include "ov-netcdf.h"
+#ifndef OV_REP_TYPE
+#define OV_REP_TYPE octave_value
+#endif
typedef struct {
int ncid;
@@ -40,7 +43,7 @@
octave_ncfile(string filenamep, string open_mode);
- octave_value *clone(void) const { return new octave_ncfile(*this); }
+ OV_REP_TYPE *clone(void) const { return new octave_ncfile(*this); }
// x.v = y x(idx).v = y x{idx}.v = y
Index: main/octcdf/ov-ncvar.cc
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncvar.cc,v
retrieving revision 1.5
diff -u -r1.5 ov-ncvar.cc
--- main/octcdf/ov-ncvar.cc 10 Feb 2006 23:13:33 -0000 1.5
+++ main/octcdf/ov-ncvar.cc 13 Apr 2006 13:03:52 -0000
@@ -232,7 +232,12 @@
// update characteristics
read_info();
+#ifdef OV_REP_TYPE
+ count++;
+ retval = octave_value(this);
+#else
retval = octave_value(this, count + 1);
+#endif
return retval;
};
Index: main/octcdf/ov-ncvar.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/octcdf/ov-ncvar.h,v
retrieving revision 1.5
diff -u -r1.5 ov-ncvar.h
--- main/octcdf/ov-ncvar.h 18 Feb 2006 22:06:27 -0000 1.5
+++ main/octcdf/ov-ncvar.h 13 Apr 2006 13:03:52 -0000
@@ -22,6 +22,10 @@
#include "ov-netcdf.h"
+#ifndef OV_REP_TYPE
+#define OV_REP_TYPE octave_value
+#endif
+
typedef struct {
std::list<std::string> dimnames;
int dimids[NC_MAX_VAR_DIMS];
@@ -55,7 +59,7 @@
octave_ncvar(nc_type nctypep, std::list <std::string>
dimnamesp):octave_base_value(), ncv(NULL) { }
- octave_value *clone(void) const { return new octave_ncvar(*this); }
+ OV_REP_TYPE *clone(void) const { return new octave_ncvar(*this); }
// x.v = y x(idx).v = y x{idx}.v = y
Index: main/symbolic/ov-ex-mat.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/symbolic/ov-ex-mat.h,v
retrieving revision 1.4
diff -u -r1.4 ov-ex-mat.h
--- main/symbolic/ov-ex-mat.h 17 Nov 2003 17:04:40 -0000 1.4
+++ main/symbolic/ov-ex-mat.h 13 Apr 2006 13:03:52 -0000
@@ -23,6 +23,10 @@
#include <ginac/ginac.h>
+#ifndef OV_REP_TYPE
+#define OV_REP_TYPE octave_value
+#endif
+
class octave_matrix;
class octave_complex_matrix;
@@ -55,7 +59,7 @@
return GiNaC::ex(x);
}
- octave_value *clone (void)
+ OV_REP_TYPE *clone (void)
{
return new octave_ex_matrix (*this);
}
Index: main/symbolic/ov-ex.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/symbolic/ov-ex.h,v
retrieving revision 1.7
diff -u -r1.7 ov-ex.h
--- main/symbolic/ov-ex.h 17 Nov 2003 17:04:40 -0000 1.7
+++ main/symbolic/ov-ex.h 13 Apr 2006 13:03:52 -0000
@@ -27,6 +27,9 @@
#include <octave/ov-scalar.h>
#include "ov-vpa.h"
+#ifndef OV_REP_TYPE
+#define OV_REP_TYPE octave_value
+#endif
class octave_complex;
class octave_scalar;
@@ -54,7 +57,7 @@
return x;
}
- octave_value *clone (void)
+ OV_REP_TYPE *clone (void)
{
return new octave_ex (*this);
}
Index: main/symbolic/ov-relational.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/symbolic/ov-relational.h,v
retrieving revision 1.4
diff -u -r1.4 ov-relational.h
--- main/symbolic/ov-relational.h 17 Nov 2003 17:04:41 -0000 1.4
+++ main/symbolic/ov-relational.h 13 Apr 2006 13:03:52 -0000
@@ -26,6 +26,10 @@
#include <octave/ov-base.h>
#include "ov-ex.h"
+#ifndef OV_REP_TYPE
+#define OV_REP_TYPE octave_value
+#endif
+
// relational values.
class
@@ -55,7 +59,7 @@
~octave_relational (void) { }
- octave_value *clone (void) { return new octave_relational (*this); }
+ OV_REP_TYPE *clone (void) { return new octave_relational (*this); }
#ifdef HAVE_ND_ARRAYS
dim_vector dims (void) const { static dim_vector dv (1, 1); return dv; }
Index: main/symbolic/ov-vpa.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/main/symbolic/ov-vpa.h,v
retrieving revision 1.5
diff -u -r1.5 ov-vpa.h
--- main/symbolic/ov-vpa.h 17 Nov 2003 17:04:41 -0000 1.5
+++ main/symbolic/ov-vpa.h 13 Apr 2006 13:03:52 -0000
@@ -25,6 +25,10 @@
#include <ginac/ginac.h>
#include <octave/ov-base.h>
+#ifndef OV_REP_TYPE
+#define OV_REP_TYPE octave_value
+#endif
+
// vpa values.
class
@@ -40,7 +44,7 @@
~octave_vpa (void) { }
- octave_value *clone (void) { return new octave_vpa (*this); }
+ OV_REP_TYPE *clone (void) { return new octave_vpa (*this); }
#if 0
void *operator new (size_t size);
Index: nonfree/gpc/octave-gpc.h
===================================================================
RCS file: /cvsroot/octave/octave-forge/nonfree/gpc/octave-gpc.h,v
retrieving revision 1.3
diff -u -r1.3 octave-gpc.h
--- nonfree/gpc/octave-gpc.h 5 Jan 2004 21:20:01 -0000 1.3
+++ nonfree/gpc/octave-gpc.h 13 Apr 2006 13:03:52 -0000
@@ -29,6 +29,10 @@
#include <gpcl/gpc.h>
}
+#ifndef OV_REP_TYPE
+#define OV_REP_TYPE octave_value
+#endif
+
void octave_gpc_free_polygon (gpc_polygon*);
gpc_polygon* get_gpc_pt (octave_value);
@@ -62,7 +66,7 @@
~octave_gpc_polygon (void) { octave_gpc_free_polygon (polygon); }
- octave_value* clone (void) { return new octave_gpc_polygon (*this); }
+ OV_REP_TYPE* clone (void) { return new octave_gpc_polygon (*this); }
bool is_defined (void) const { return true; }