void ZimCreator::createTitleIndex(ArticleSource& src) { titleIdx.resize(dirents.size()); for (DirentsType::size_type n = 0; n < dirents.size(); ++n) titleIdx[n] = dirents[n].getIdx(); CompareTitle compareTitle(dirents); std::sort(titleIdx.begin(), titleIdx.end(), compareTitle); }
/* * Compares 2 movie nodes by a specific method. * Returns: * 1 if the first movie is greater than. * -1 if the first movie is less than. * 0 if they are equal. * 2 if an unknown method was passed. */ int model::InterlacedMovieList::compareMovies(MovieNode* movie1, MovieNode* movie2, const string& method) { if (method.compare(BY_TITLE) == 0) { return compareTitle(*movie1, *movie2); } else if (method.compare(BY_LENGTH) == 0) { return compareLength(*movie1, *movie2); } else { return compareRating(*movie1, *movie2); } return 2; }