comparison liboctave/str-vec.h @ 2941:b779a5b8aed4

[project @ 1997-05-08 02:14:34 by jwe]
author jwe
date Thu, 08 May 1997 02:17:52 +0000
parents 9d26524e2869
children d14c483b3c12
comparison
equal deleted inserted replaced
2940:c05d4e1a9bee 2941:b779a5b8aed4
56 string_vector (const char * const *s); 56 string_vector (const char * const *s);
57 57
58 string_vector (const char * const *s, int n); 58 string_vector (const char * const *s, int n);
59 59
60 string_vector& operator = (const string_vector& s) 60 string_vector& operator = (const string_vector& s)
61 { 61 {
62 if (this != &s) 62 if (this != &s)
63 Array<string>::operator = (s); 63 Array<string>::operator = (s);
64 64
65 return *this; 65 return *this;
66 } 66 }
67 67
68 ~string_vector (void) { } 68 ~string_vector (void) { }
69 69
70 int empty (void) const { return length () == 0; } 70 int empty (void) const { return length () == 0; }
71 71
72 int max_length (void) const 72 int max_length (void) const
73 { 73 {
74 int n = length (); 74 int n = length ();
75 int longest = 0; 75 int longest = 0;
76 76
77 for (int i = 0; i < n; i++) 77 for (int i = 0; i < n; i++)
78 { 78 {
79 int tmp = elem(i).length (); 79 int tmp = elem(i).length ();
80 80
81 if (tmp > longest) 81 if (tmp > longest)
82 longest = tmp; 82 longest = tmp;
83 } 83 }
84 84
85 return longest; 85 return longest;
86 } 86 }
87 87
88 string& operator[] (int i) { return Array<string>::elem (i); } 88 string& operator[] (int i) { return Array<string>::elem (i); }
89 89
90 string operator[] (int i) const { return Array<string>::elem (i); } 90 string operator[] (int i) const { return Array<string>::elem (i); }
91 91
92 string_vector& qsort (void) 92 string_vector& qsort (bool make_unique = false)
93 { 93 {
94 Array<string>::qsort (str_vec_compare); 94 Array<string>::qsort (str_vec_compare);
95 return *this; 95
96 } 96 if (make_unique)
97 uniq ();
98
99 return *this;
100 }
101
102 string_vector& uniq (void);
97 103
98 char **c_str_vec (void) const; 104 char **c_str_vec (void) const;
99 105
100 static void delete_c_str_vec (const char * const*); 106 static void delete_c_str_vec (const char * const*);
101 107