changeset 10420:3373fdc0b14a

use macro for 2 and 3 arg dim_vector constructors
author John W. Eaton <jwe@octave.org>
date Wed, 17 Mar 2010 09:34:43 -0400
parents afe44ee90cbd
children 99e9bae2d81e
files liboctave/ChangeLog liboctave/dim-vector.h
diffstat 2 files changed, 27 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/ChangeLog	Wed Mar 17 10:30:36 2010 +0100
+++ b/liboctave/ChangeLog	Wed Mar 17 09:34:43 2010 -0400
@@ -1,3 +1,8 @@
+2010-03-17  John W. Eaton  <jwe@octave.org>
+
+	* dim-vector.h (dim_vector): Also use DIM_VECTOR macro for 2 and
+	3 dimensions.
+
 2010-03-17  Jaroslav Hajek  <highegg@gmail.com>
 
 	* lo-macros.h: New source.
--- a/liboctave/dim-vector.h	Wed Mar 17 10:30:36 2010 +0100
+++ b/liboctave/dim-vector.h	Wed Mar 17 09:34:43 2010 -0400
@@ -134,6 +134,20 @@
 
 public:
 
+  // The constructor
+  //
+  //   dim_vector (n)
+  //
+  // creates an dimension vector with N rows and 1 column.  It is
+  // deprecated because of the potentiol for confusion that it causes.
+  // Additional constructors of the form
+  //
+  //   dim_vector (r, c)
+  //   dim_vector (r, c, p)
+  //   dim_vector (d1, d2, d3, d4, ...)
+  //
+  // are available for up to 7 dimensions.
+
   explicit dim_vector (octave_idx_type n) GCC_ATTR_DEPRECATED
     : rep (newrep (2))
   {
@@ -141,34 +155,21 @@
     rep[1] = 1;
   }
 
-  dim_vector (octave_idx_type r, octave_idx_type c)
-    : rep (newrep (2))
-  {
-    rep[0] = r;
-    rep[1] = c;
-  }
-
-  dim_vector (octave_idx_type r, octave_idx_type c, octave_idx_type p)
-    : rep (newrep (3))
-  {
-    rep[0] = r;
-    rep[1] = c;
-    rep[2] = p;
-  }
-
 #define ASSIGN_REP(i) rep[i] = d ## i;
 #define DIM_VECTOR_CTOR(N) \
-  dim_vector (OCT_MAKE_DECL_LIST(octave_idx_type, d, N)) \
+  dim_vector (OCT_MAKE_DECL_LIST (octave_idx_type, d, N)) \
     : rep (newrep (N)) \
   { \
-    OCT_ITERATE_MACRO(ASSIGN_REP, N) \
+    OCT_ITERATE_MACRO (ASSIGN_REP, N) \
   }
 
   // Add more if needed.
-  DIM_VECTOR_CTOR(4)
-  DIM_VECTOR_CTOR(5)
-  DIM_VECTOR_CTOR(6)
-  DIM_VECTOR_CTOR(7)
+  DIM_VECTOR_CTOR (2)
+  DIM_VECTOR_CTOR (3)
+  DIM_VECTOR_CTOR (4)
+  DIM_VECTOR_CTOR (5)
+  DIM_VECTOR_CTOR (6)
+  DIM_VECTOR_CTOR (7)
 
 #undef ASSIGN_REP
 #undef DIM_VECTOR_CTOR