- int n;
- // Find this file in list. If not in list, point to last entry
- for(n = 0; n < (num_files - 1); n++)
- if(files[n] == file) break;
-
- for(int i = n; i >= 1; i--)
- files[i] = files[i - 1];
- files[0] = file;
+ // If file already exist, delete it and reinsert at front.
+ Files::iterator it = find(files.begin(), files.end(), file);
+ if (it != files.end())
+ files.erase(it);
+ files.push_front(file);
+ if (files.size() > num_files)
+ files.pop_back();
+}
+
+
+string const LastFiles::operator[](unsigned int i) const
+{
+ if (i < files.size())
+ return files[i];
+ return string();