Mercurial > octave-nkf
comparison liboctave/DiagArray2.h @ 14628:63ae976ac2e7 stable
preserve DiagArray2 interface for stable release series
* DiagArray2.h (DiagArray2::checkelem): Restore function. Provide
non-const version.
(DiagArray2::check_idx): Return bool status.
(DiagArray2::operator ()): Call checkelem, not check_idx.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sat, 12 May 2012 12:31:34 -0400 |
parents | 6250e1232c9c |
children | 9e4ad3f1f291 fd5c0159b588 |
comparison
equal
deleted
inserted
replaced
14627:a7be1e7e5831 | 14628:63ae976ac2e7 |
---|---|
117 { return Array<T>::elem (i); } | 117 { return Array<T>::elem (i); } |
118 | 118 |
119 T& dgelem (octave_idx_type i) | 119 T& dgelem (octave_idx_type i) |
120 { return Array<T>::elem (i); } | 120 { return Array<T>::elem (i); } |
121 | 121 |
122 void check_idx (octave_idx_type r, octave_idx_type c) const; | 122 T checkelem (octave_idx_type r, octave_idx_type c) const |
123 { | |
124 return check_idx (r, c) ? elem (r, c) : T (0); | |
125 } | |
123 | 126 |
124 T operator () (octave_idx_type r, octave_idx_type c) const | 127 T operator () (octave_idx_type r, octave_idx_type c) const |
125 { | 128 { |
126 #if defined (BOUNDS_CHECKING) | 129 #if defined (BOUNDS_CHECKING) |
127 check_idx (r, c); | 130 checkelem (r, c); |
131 #else | |
132 return elem (r, c); | |
128 #endif | 133 #endif |
129 return elem (r, c); | 134 } |
135 | |
136 T& checkelem (octave_idx_type r, octave_idx_type c) | |
137 { | |
138 static T zero (0); | |
139 return check_idx (r, c) ? elem (r, c) : zero; | |
130 } | 140 } |
131 | 141 |
132 T& operator () (octave_idx_type r, octave_idx_type c) | 142 T& operator () (octave_idx_type r, octave_idx_type c) |
133 { | 143 { |
134 #if defined (BOUNDS_CHECKING) | 144 #if defined (BOUNDS_CHECKING) |
135 check_idx (r, c); | 145 return checkelem (r, c); |
146 #else | |
147 return elem (r, c); | |
136 #endif | 148 #endif |
137 return elem (r, c); | |
138 } | 149 } |
139 | 150 |
140 // No checking. | 151 // No checking. |
141 | 152 |
142 T xelem (octave_idx_type r, octave_idx_type c) const | 153 T xelem (octave_idx_type r, octave_idx_type c) const |
164 | 175 |
165 T *fortran_vec (void) { return Array<T>::fortran_vec (); } | 176 T *fortran_vec (void) { return Array<T>::fortran_vec (); } |
166 | 177 |
167 void print_info (std::ostream& os, const std::string& prefix) const | 178 void print_info (std::ostream& os, const std::string& prefix) const |
168 { Array<T>::print_info (os, prefix); } | 179 { Array<T>::print_info (os, prefix); } |
180 | |
181 private: | |
182 | |
183 bool check_idx (octave_idx_type r, octave_idx_type c) const; | |
169 }; | 184 }; |
170 | 185 |
171 #endif | 186 #endif |