Mercurial > hg > octave-lyh
diff liboctave/idx-vector.h @ 191:b6b4d8c513fe
[project @ 1993-10-29 23:41:39 by jwe]
author | jwe |
---|---|
date | Fri, 29 Oct 1993 23:41:39 +0000 |
parents | e2c950dd96d2 |
children | 380cb9ccc889 |
line wrap: on
line diff
--- a/liboctave/idx-vector.h +++ b/liboctave/idx-vector.h @@ -28,7 +28,6 @@ #pragma interface #endif -#include <stdlib.h> #include <assert.h> #define FAIL assert(0) /* XXX FIXME XXX */ @@ -44,7 +43,7 @@ idx_vector (const idx_vector& a); idx_vector (const Matrix& m, int do_ftn_idx, - const char *rc = (char *) NULL, int z_len = 0); + const char *rc = (char *) 0, int z_len = 0); idx_vector (const Range& r); @@ -52,6 +51,8 @@ idx_vector& operator = (const idx_vector& a); + operator void * () const; + int capacity (void) const; int length (void) const; @@ -80,30 +81,38 @@ int num_ones; int max_val; int min_val; + int initialized; int *data; - void init_state (const char *rc = (char *) NULL, int z_len = 0); + void init_state (const char *rc = (char *) 0, int z_len = 0); void convert_one_zero_to_idx (void); }; inline idx_vector::idx_vector (void) - { - len = 0; - data = 0; - num_zeros = 0; - num_ones = 0; - one_zero = 0; - } +{ + len = 0; + data = (int *) 0; + num_zeros = 0; + num_ones = 0; + one_zero = 0; + initialized = 0; +} inline idx_vector::~idx_vector (void) - { - delete [] data; - data = 0; - num_zeros = 0; - num_ones = 0; - len = 0; - one_zero = 0; - } +{ + delete [] data; + data = (int *) 0; + num_zeros = 0; + num_ones = 0; + len = 0; + one_zero = 0; + initialized = 0; +} + +inline idx_vector::operator void * () const +{ + return initialized ? (void *) 1 : (void *) 0; +} inline int idx_vector::capacity (void) const { return len; } inline int idx_vector::length (void) const { return len; }