Switch to side-by-side view

--- a/src/rcldb/rcldb.cpp
+++ b/src/rcldb/rcldb.cpp
@@ -227,7 +227,7 @@
     return true;
 }
 
-// Remove prefixes (caps) from a list of terms.
+// Remove prefixes (caps) from terms.
 static void noPrefixList(const vector<string>& in, vector<string>& out) 
 {
     for (vector<string>::const_iterator qit = in.begin(); 
@@ -592,9 +592,9 @@
     i_close(true);
 }
 
-list<string> Db::getStemmerNames()
-{
-    list<string> res;
+vector<string> Db::getStemmerNames()
+{
+    vector<string> res;
     stringToStrings(Xapian::Stem::get_available_languages(), res);
     return res;
 }
@@ -652,7 +652,7 @@
 	default:
 	    m_ndb->m_iswritable = false;
 	    m_ndb->xrdb = Xapian::Database(dir);
-	    for (list<string>::iterator it = m_extraDbs.begin();
+	    for (vector<string>::iterator it = m_extraDbs.begin();
 		 it != m_extraDbs.end(); it++) {
 		if (error)
 		    *error = DbOpenExtraDb;
@@ -814,7 +814,7 @@
     if (dir.empty()) {
 	m_extraDbs.clear();
     } else {
-	list<string>::iterator it = find(m_extraDbs.begin(), 
+	vector<string>::iterator it = find(m_extraDbs.begin(), 
 					 m_extraDbs.end(), dir);
 	if (it != m_extraDbs.end()) {
 	    m_extraDbs.erase(it);
@@ -1454,7 +1454,7 @@
 		// Set the existence flag for all the subdocs (if any)
 		vector<Xapian::docid> docids;
 		if (!m_ndb->subDocs(udi, docids)) {
-		    LOGERR(("Rcl::Db::needUpdate: can't get subdocs list\n"));
+		    LOGERR(("Rcl::Db::needUpdate: can't get subdocs\n"));
 		    return true;
 		}
 		for (vector<Xapian::docid>::iterator it = docids.begin();
@@ -1480,7 +1480,7 @@
 }
 
 
-// Return list of existing stem db languages
+// Return existing stem db languages
 vector<string> Db::getStemLangs()
 {
     LOGDEB(("Db::getStemLang\n"));
@@ -1645,7 +1645,7 @@
 }
 
 // File name wild card expansion. This is a specialisation ot termMatch
-bool Db::filenameWildExp(const string& fnexp, list<string>& names)
+bool Db::filenameWildExp(const string& fnexp, vector<string>& names)
 {
     string pattern = fnexp;
     names.clear();
@@ -1665,7 +1665,7 @@
     TermMatchResult result;
     if (!termMatch(ET_WILD, string(), pattern, result, 1000, Doc::keyfn))
 	return false;
-    for (list<TermMatchEntry>::const_iterator it = result.entries.begin();
+    for (vector<TermMatchEntry>::const_iterator it = result.entries.begin();
 	 it != result.entries.end(); it++) 
 	names.push_back(it->term);
 
@@ -1685,7 +1685,7 @@
     TermMatchResult result;
     if (!termMatch(ET_WILD, string(), "*", result, 5000, "xapyear"))
 	return false;
-    for (list<TermMatchEntry>::const_iterator it = result.entries.begin();
+    for (vector<TermMatchEntry>::const_iterator it = result.entries.begin();
 	 it != result.entries.end(); it++) {
         if (!it->term.empty()) {
             int year = atoi(it->term.c_str()+1);
@@ -1721,9 +1721,9 @@
 bool Db::stemExpand(const string &lang, const string &term, 
 		    TermMatchResult& result, int max)
 {
-    list<string> dirs = m_extraDbs;
-    dirs.push_front(m_basedir);
-    for (list<string>::iterator it = dirs.begin(); it != dirs.end(); it++) {
+    vector<string> dirs(1, m_basedir);
+    dirs.insert(dirs.end(), m_extraDbs.begin(), m_extraDbs.end());
+    for (vector<string>::iterator it = dirs.begin(); it != dirs.end(); it++) {
 	vector<string> more;
 	StemDb::stemExpand(*it, lang, term, more);
 	LOGDEB1(("Db::stemExpand: Got %d from %s\n", 
@@ -1737,11 +1737,11 @@
 }
 
 /** Add prefix to all strings in list */
-static void addPrefix(list<TermMatchEntry>& terms, const string& prefix)
+static void addPrefix(vector<TermMatchEntry>& terms, const string& prefix)
 {
     if (prefix.empty())
 	return;
-    for (list<TermMatchEntry>::iterator it = terms.begin(); 
+    for (vector<TermMatchEntry>::iterator it = terms.begin(); 
          it != terms.end(); it++)
 	it->term.insert(0, prefix);
 }
@@ -1795,9 +1795,9 @@
     if (typ == ET_STEM) {
 	if (!stemExpand(lang, root, res, max))
 	    return false;
-	res.entries.sort();
-	res.entries.unique();
-	for (list<TermMatchEntry>::iterator it = res.entries.begin(); 
+	sort(res.entries.begin(), res.entries.end());
+	unique(res.entries.begin(), res.entries.end());
+	for (vector<TermMatchEntry>::iterator it = res.entries.begin(); 
 	     it != res.entries.end(); it++) {
 	    XAPTRY(it->wcf = xdb.get_collection_freq(it->term);
                    it->docs = xdb.get_termfreq(it->term),
@@ -1884,11 +1884,11 @@
     }
 
     TermMatchCmpByTerm tcmp;
-    res.entries.sort(tcmp);
+    sort(res.entries.begin(), res.entries.end(), tcmp);
     TermMatchTermEqual teq;
-    res.entries.unique(teq);
+    unique(res.entries.begin(), res.entries.end(), teq);
     TermMatchCmpByWcf wcmp;
-    res.entries.sort(wcmp);
+    sort(res.entries.begin(), res.entries.end(), wcmp);
     if (max > 0) {
 	res.entries.resize(MIN(res.entries.size(), (unsigned int)max));
     }