| 1196 | //----------------------------------------------------------------------- |
| 1197 | template <class Array, class Equal> |
| 1198 | unsigned remove_duplicates(Array& arr, Equal equal) |
| 1199 | { |
| 1200 | if (arr.size() < 2) |
| 1201 | return arr.size(); |
| 1202 | |
| 1203 | unsigned i, j; |
| 1204 | for (i = 1, j = 1; i < arr.size(); i++) |
| 1205 | { |
| 1206 | typename Array::value_type& e = arr[i]; |
| 1207 | if (!equal(e, arr[i - 1])) |
| 1208 | { |
| 1209 | arr[j++] = e; |
| 1210 | } |
| 1211 | } |
| 1212 | return j; |
| 1213 | } |
| 1214 | |
| 1215 | //--------------------------------------------------------invert_container |
| 1216 | template <class Array> |