summaryrefslogtreecommitdiff
path: root/src/collect.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/collect.h')
-rw-r--r--src/collect.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/collect.h b/src/collect.h
index 34f81aa..5fcf694 100644
--- a/src/collect.h
+++ b/src/collect.h
@@ -30,29 +30,29 @@ namespace sub {
*/
template <class T>
T
-collect (std::list<RawSubtitle> raw)
+collect (std::vector<RawSubtitle> raw)
{
- raw.sort ();
+ std::stable_sort (raw.begin(), raw.end());
T out;
boost::optional<Subtitle> current;
- for (std::list<RawSubtitle>::const_iterator i = raw.begin (); i != raw.end(); ++i) {
- if (current && current->same_metadata (*i)) {
+ for (auto const& i: raw) {
+ if (current && current->same_metadata(i)) {
/* This RawSubtitle can be added to current... */
- if (!current->lines.empty() && current->lines.back().same_metadata (*i)) {
+ if (!current->lines.empty() && current->lines.back().same_metadata(i)) {
/* ... and indeed to its last line */
- current->lines.back().blocks.push_back (Block (*i));
+ current->lines.back().blocks.push_back(Block(i));
} else {
/* ... as a new line */
- current->lines.push_back (Line (*i));
+ current->lines.push_back(Line(i));
}
} else {
/* We must start a new Subtitle */
if (current) {
out.push_back (current.get ());
}
- current = Subtitle (*i);
+ current = Subtitle (i);
}
}