Replace list with vector in most of the API.
authorCarl Hetherington <cth@carlh.net>
Wed, 13 Jan 2021 12:04:04 +0000 (13:04 +0100)
committerCarl Hetherington <cth@carlh.net>
Wed, 13 Jan 2021 12:04:04 +0000 (13:04 +0100)
23 files changed:
src/collect.h
src/dcp_reader.cc
src/exceptions.cc
src/exceptions.h
src/raw_subtitle.h
src/reader.h
src/ssa_reader.cc
src/ssa_reader.h
src/stl_binary_writer.cc
src/stl_binary_writer.h
src/stl_text_reader.cc
src/subrip_reader.cc
src/subrip_reader.h
src/subtitle.h
src/util.cc
test/dcp_reader_test.cc
test/dcp_to_stl_binary_test.cc
test/ssa_reader_test.cc
test/stl_binary_reader_test.cc
test/stl_binary_writer_test.cc
test/stl_text_reader_test.cc
test/subrip_reader_test.cc
tools/dumpsubs.cc

index 34f81aad87e4b6f81551e5b710ecd881af15836d..5fcf6948c7aacec47ccf371754343725bbe30ab9 100644 (file)
@@ -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);
                }
        }
 
index 82808b3c1336a8c43d3fe337ef896bff857b6a18..5f57746eb38f5ec409188d3a30b70168be5738f4 100644 (file)
@@ -25,7 +25,6 @@
 #include <dcp/smpte_subtitle_asset.h>
 #include <boost/filesystem.hpp>
 
-using std::list;
 using std::cout;
 using std::string;
 using std::exception;
index d59d32ac5dda10a74f74ded5b8f021604c7a8634..bc131b82d1763e8349291df5bb5c1c2308dc7c8a 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2014-2016 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2014-2021 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -21,8 +21,8 @@
 #include "exceptions.h"
 #include <boost/foreach.hpp>
 
-using std::string;
 using std::list;
+using std::string;
 using namespace sub;
 
 ProgrammingError::ProgrammingError (string file, int line)
index 2bb7018886bd972ef4c72151c42590eb87f41621..a032252163bf79075c26aa408ad7ee5405d9107e 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2014-2016 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2014-2021 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 #ifndef LIBSUB_EXCEPTIONS_H
 #define LIBSUB_EXCEPTIONS_H
 
+#include <list>
 #include <stdexcept>
 #include <string>
-#include <list>
+#include <vector>
 
 namespace sub {
 
index 965ca93c93e3959945c9ed3fa3d7a95b4f6be740..a3ee5caa2f116eec3ea62e660bac416bc8fd83c6 100644 (file)
@@ -29,7 +29,7 @@
 #include "horizontal_position.h"
 #include <boost/optional.hpp>
 #include <string>
-#include <list>
+#include <vector>
 
 namespace sub {
 
index 08474f64d0a42201ba09816a70817603c635b613..aab73840ab09c0c0cae1e4d7469a956f852a2cc7 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2014-2021 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -21,9 +21,9 @@
 #define LIBSUB_READER_H
 
 #include "raw_subtitle.h"
-#include <list>
 #include <map>
 #include <string>
+#include <vector>
 
 struct subrip_reader_convert_line_test;
 
@@ -37,7 +37,7 @@ class Reader
 public:
        virtual ~Reader () {}
 
-       std::list<RawSubtitle> subtitles () const {
+       std::vector<RawSubtitle> subtitles () const {
                return _subs;
        }
 
@@ -50,7 +50,7 @@ protected:
 
        void warn (std::string) const;
 
-       std::list<RawSubtitle> _subs;
+       std::vector<RawSubtitle> _subs;
 };
 
 }
index c507ddbd84f71aaba4323c48499f5c778efc17ad..072fff8eea271eaa0d7eb0713b1880b46d69a622 100644 (file)
@@ -33,7 +33,6 @@ using std::string;
 using std::vector;
 using std::map;
 using std::cout;
-using std::list;
 using boost::optional;
 using boost::function;
 using namespace boost::algorithm;
@@ -265,7 +264,7 @@ SSAReader::parse_style (RawSubtitle& sub, string style, int play_res_x, int play
  *  @param line SSA line string (i.e. just the subtitle, possibly with embedded stuff)
  *  @return List of RawSubtitles to represent line with vertical reference TOP_OF_SUBTITLE.
  */
-list<RawSubtitle>
+vector<RawSubtitle>
 SSAReader::parse_line (RawSubtitle base, string line, int play_res_x, int play_res_y)
 {
        enum {
@@ -274,7 +273,7 @@ SSAReader::parse_line (RawSubtitle base, string line, int play_res_x, int play_r
                BACKSLASH
        } state = TEXT;
 
-       list<RawSubtitle> subs;
+       vector<RawSubtitle> subs;
        RawSubtitle current = base;
        string style;
 
index aba06cc9a6da6742c95dd0f80591647443516d05..e9bb06196493b3b0f2e943fb89546b0dc0198044 100644 (file)
@@ -41,7 +41,7 @@ public:
        SSAReader (FILE* f);
        SSAReader (std::string subs);
 
-       static std::list<RawSubtitle> parse_line (RawSubtitle base, std::string line, int play_res_x, int play_res_y);
+       static std::vector<RawSubtitle> parse_line (RawSubtitle base, std::string line, int play_res_x, int play_res_y);
        static void parse_style (RawSubtitle& sub, std::string style, int play_res_x, int play_res_y);
 
 private:
index adb9e1145c75736bd9ca11fe987350eb2d73953b..4a16ce0d862cb3898c2bf8a28898bcee59e9a6fa 100644 (file)
 #include <boost/locale.hpp>
 #include <boost/algorithm/string.hpp>
 #include <boost/foreach.hpp>
-#include <list>
 #include <cmath>
 #include <fstream>
-#include <vector>
 #include <iomanip>
 #include <set>
+#include <vector>
 
-using std::list;
 using std::set;
 using std::ofstream;
 using std::string;
@@ -149,7 +147,7 @@ vertical_position (sub::Line const & line)
 }
 
 vector<char*>
-make_tti_blocks (list<Subtitle> const& subtitles, STLBinaryTables const& tables, float frames_per_second)
+make_tti_blocks (vector<Subtitle> const& subtitles, STLBinaryTables const& tables, float frames_per_second)
 {
        static int const tti_size = 128;
        vector<char*> tti;
@@ -287,9 +285,9 @@ make_tti_blocks (list<Subtitle> const& subtitles, STLBinaryTables const& tables,
 
 
 /** @param language ISO 3-character country code for the language of the subtitles */
-       void
+void
 sub::write_stl_binary (
-               list<Subtitle> subtitles,
+               vector<Subtitle> subtitles,
                float frames_per_second,
                Language language,
                string original_programme_title,
index 4986afbd212706f95b668af391f8bb20529eeccd..38a102d8006ef8a3705e4dbbfc6972feaa15789d 100644 (file)
@@ -33,7 +33,7 @@ namespace sub {
 class Subtitle;
 
 extern void write_stl_binary (
-       std::list<Subtitle> subtitles,
+       std::vector<Subtitle> subtitles,
        float frames_per_second,
        Language language,
        std::string original_programme_title,
index c7b1fcfd91198d01c04d183afb2e55e40eb5d11b..f08a438fb8dba8974bea75d33cbf7def16487588 100644 (file)
@@ -24,7 +24,6 @@
 #include <vector>
 #include <iostream>
 
-using std::list;
 using std::ostream;
 using std::istream;
 using std::string;
index 89a5599d54328adcccbedcf608a1f61e32f59807..ab10f6868d5de1ac432c724de9367f1b576027b9 100644 (file)
@@ -37,7 +37,6 @@
 
 using std::string;
 using std::vector;
-using std::list;
 using std::cout;
 using std::hex;
 using boost::lexical_cast;
@@ -198,7 +197,7 @@ SubripReader::convert_line (string t, RawSubtitle& p)
 
        string tag;
 
-       list<Colour> colours;
+       vector<Colour> colours;
        colours.push_back (Colour (1, 1, 1));
 
        /* XXX: missing <font> support */
index f45e7c85676ae5ffbd2034ce1a559d4052299a7a..8d3fd4c124357e3a0723a84335b576917257ca7d 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "reader.h"
 #include <boost/function.hpp>
+#include <list>
 
 struct subrip_reader_convert_line_test;
 struct subrip_reader_convert_time_test;
index 2b6867d4aad695b6b82020239ac1852794a9e3f9..fba0cf40543b75079e7e71235f216503c65b5acd 100644 (file)
@@ -29,7 +29,7 @@
 #include "raw_subtitle.h"
 #include <boost/optional.hpp>
 #include <string>
-#include <list>
+#include <vector>
 
 namespace sub {
 
@@ -90,7 +90,7 @@ public:
        /** vertical position of the baseline of the text */
        VerticalPosition vertical_position;
 
-       std::list<Block> blocks;
+       std::vector<Block> blocks;
 
        bool same_metadata (RawSubtitle) const;
 };
@@ -120,7 +120,7 @@ public:
        boost::optional<Time> fade_up;
        boost::optional<Time> fade_down;
 
-       std::list<Line> lines;
+       std::vector<Line> lines;
 
        bool same_metadata (RawSubtitle) const;
 };
index c34737595070e90b63afb27769891cb4f541cbb4..eb68752c4adf11e6637cb088123896bedfd32eca 100644 (file)
@@ -32,8 +32,9 @@ using std::getline;
 using std::ostream;
 using std::map;
 using std::list;
-using boost::optional;
 using std::shared_ptr;
+using std::vector;
+using boost::optional;
 using namespace sub;
 
 /** @param s A string.
@@ -100,27 +101,27 @@ sub::remove_unicode_bom (optional<string>& line)
 void
 sub::dump (shared_ptr<const Reader> reader, ostream& os)
 {
-       map<string, string> metadata = reader->metadata ();
-       for (map<string, string>::const_iterator i = metadata.begin(); i != metadata.end(); ++i) {
-               os << i->first << ": " << i->second << "\n";
+       auto metadata = reader->metadata ();
+       for (auto const& i: metadata) {
+               os << i.first << ": " << i.second << "\n";
        }
 
-       list<sub::Subtitle> subs = collect<list<sub::Subtitle> > (reader->subtitles ());
+       auto subs = collect<vector<sub::Subtitle>> (reader->subtitles());
        int n = 0;
-       for (list<sub::Subtitle>::const_iterator i = subs.begin(); i != subs.end(); ++i) {
-               os << "Subtitle " << n << " at " << i->from << " -> " << i->to << "\n";
-               for (list<sub::Line>::const_iterator j = i->lines.begin(); j != i->lines.end(); ++j) {
+       for (auto const& i: subs) {
+               os << "Subtitle " << n << " at " << i.from << " -> " << i.to << "\n";
+               for (auto const& j: i.lines) {
 
                        os << "\t";
 
-                       if (j->vertical_position.proportional) {
-                               os << j->vertical_position.proportional.get() << " of screen";
-                       } else if (j->vertical_position.line && j->vertical_position.lines) {
-                               os << j->vertical_position.line.get() << " lines of " << j->vertical_position.lines.get();
+                       if (j.vertical_position.proportional) {
+                               os << j.vertical_position.proportional.get() << " of screen";
+                       } else if (j.vertical_position.line && j.vertical_position.lines) {
+                               os << j.vertical_position.line.get() << " lines of " << j.vertical_position.lines.get();
                        }
-                       if (j->vertical_position.reference) {
+                       if (j.vertical_position.reference) {
                                os << " from ";
-                               switch (j->vertical_position.reference.get()) {
+                               switch (j.vertical_position.reference.get()) {
                                case TOP_OF_SCREEN:
                                        os << "top";
                                        break;
@@ -139,22 +140,22 @@ sub::dump (shared_ptr<const Reader> reader, ostream& os)
                        os << "\t";
                        bool italic = false;
                        bool underline = false;
-                       for (list<sub::Block>::const_iterator k = j->blocks.begin(); k != j->blocks.end(); ++k) {
-                               if (k->italic && !italic) {
+                       for (auto const& k: j.blocks) {
+                               if (k.italic && !italic) {
                                        os << "<i>";
-                               } else if (italic && !k->italic) {
+                               } else if (italic && !k.italic) {
                                        os << "</i>";
                                }
-                               if (k->underline && !underline) {
+                               if (k.underline && !underline) {
                                        os << "<u>";
-                               } else if (underline && !k->underline) {
+                               } else if (underline && !k.underline) {
                                        os << "</u>";
                                }
 
-                               italic = k->italic;
-                               underline = k->underline;
+                               italic = k.italic;
+                               underline = k.underline;
 
-                               os << k->text;
+                               os << k.text;
                        }
 
                        if (italic) {
index e6a53e6a3c05814c62f8a5787ed20d0cad25be9f..9105c283cb588e10e8fcc61a3d5a73a8a10a12b1 100644 (file)
 #include <boost/test/unit_test.hpp>
 #include <boost/optional/optional_io.hpp>
 
-using std::list;
 using std::shared_ptr;
+using std::vector;
 
 /* Test reading of a DCP XML file */
 BOOST_AUTO_TEST_CASE (dcp_reader_test1)
 {
        sub::DCPReader reader ("test/data/test1.xml");
-       list<sub::Subtitle> subs = sub::collect<list<sub::Subtitle> > (reader.subtitles ());
+       auto subs = sub::collect<vector<sub::Subtitle>> (reader.subtitles());
 
-       list<sub::Subtitle>::iterator i = subs.begin ();
-       BOOST_REQUIRE (i != subs.end ());
+       auto i = subs.begin();
+       BOOST_REQUIRE (i != subs.end());
        BOOST_CHECK_EQUAL (i->from, sub::Time::from_hms (0, 0, 5, 198 * 4));
        BOOST_CHECK_EQUAL (i->to, sub::Time::from_hms (0, 0, 7, 115 * 4));
        BOOST_CHECK_EQUAL (i->fade_up.get(), sub::Time::from_hms (0, 0, 0, 4));
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 4));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
@@ -65,10 +65,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 4));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front ();
                BOOST_CHECK_EQUAL (b.font.get(), "theFontId");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -105,10 +105,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 4));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFontId");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -131,10 +131,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 4));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFontId");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -154,9 +154,9 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1)
 BOOST_AUTO_TEST_CASE (dcp_reader_test2)
 {
        sub::DCPReader reader ("test/data/test2.xml");
-       list<sub::Subtitle> subs = sub::collect<list<sub::Subtitle> > (reader.subtitles ());
+       auto subs = sub::collect<vector<sub::Subtitle>> (reader.subtitles ());
 
-       list<sub::Subtitle>::iterator i = subs.begin ();
+       auto i = subs.begin ();
        BOOST_REQUIRE (i != subs.end ());
        BOOST_CHECK_EQUAL (i->from, sub::Time::from_hms (0, 0, 41, 62 * 4));
        BOOST_CHECK_EQUAL (i->to, sub::Time::from_hms (0, 0, 43, 52 * 4));
@@ -164,10 +164,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin ();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front ();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -204,10 +204,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin ();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front ();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -244,10 +244,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -288,10 +288,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -328,10 +328,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -368,10 +368,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -408,10 +408,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -448,10 +448,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -488,10 +488,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -528,10 +528,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -568,10 +568,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
index 3c6f1853f3e3c459619cd27f389b6560adf64299..450b73083091c777d74233b8dcbac38aa49b39f4 100644 (file)
@@ -25,7 +25,7 @@
 #include <fstream>
 
 using std::ifstream;
-using std::list;
+using std::vector;
 
 BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test1)
 {
@@ -35,7 +35,7 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test1)
 
        boost::filesystem::path p = private_test / "fd586c30-6d38-48f2-8241-27359acf184c_sub.xml";
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -62,7 +62,7 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test2)
 
        boost::filesystem::path p = private_test / "93e8a6bf-499e-4d36-9350-a9bfa2e6758a_sub.xml";
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -89,7 +89,7 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test3)
 
        boost::filesystem::path p = private_test / "P_FTR_Subs_DE-FR_24fps_R1.xml";
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -111,7 +111,7 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test3)
 BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test4)
 {
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader("test/data/test1.xml").subtitles ()),
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader("test/data/test1.xml").subtitles()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -133,7 +133,7 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test5)
 
        boost::filesystem::path p = private_test / "065d39ff-6723-4dbf-a94f-849cde82f5e1_sub.mxf";
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -160,7 +160,7 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test6)
 
        boost::filesystem::path p = private_test / "P_FTR_FullSubs_DE_24fps.xml";
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
                24,
                sub::LANGUAGE_GERMAN,
                "", "",
@@ -183,7 +183,7 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test7)
 {
        boost::filesystem::path p = "test/data/test3.xml";
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
                24,
                sub::LANGUAGE_GERMAN,
                "", "",
@@ -206,7 +206,7 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test8)
 {
        boost::filesystem::path p = private_test / "91a30f25-b415-4ffe-9623-bdae43a381d3_sub.xml";
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles()),
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
                24,
                sub::LANGUAGE_GERMAN,
                "", "",
@@ -229,7 +229,7 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test9)
 {
        boost::filesystem::path p = private_test / "8b95f204-f2a6-4586-8e67-2dc671a78e72_sub.xml";
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles()),
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
                24,
                sub::LANGUAGE_GERMAN,
                "", "",
index f8297b8b4e2e99cdbe12e4a16ccdaee9b06cd384..c29ff7c98dbda1565ec6421a3124bbb3e8a37872 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2016-2019 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2016-2021 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -29,8 +29,8 @@
 #include <cmath>
 #include <iostream>
 
-using std::list;
 using std::fabs;
+using std::vector;
 
 BOOST_AUTO_TEST_CASE (ssa_reader_test)
 {
@@ -38,14 +38,14 @@ BOOST_AUTO_TEST_CASE (ssa_reader_test)
        FILE* f = fopen (p.string().c_str(), "r");
        sub::SSAReader reader (f);
        fclose (f);
-       list<sub::Subtitle> subs = sub::collect<std::list<sub::Subtitle> > (reader.subtitles ());
+       auto subs = sub::collect<vector<sub::Subtitle>> (reader.subtitles());
 
-       list<sub::Subtitle>::iterator i = subs.begin ();
+       auto i = subs.begin ();
 
        BOOST_REQUIRE (i != subs.end ());
        BOOST_CHECK_EQUAL (i->from, sub::Time::from_hms (0, 2, 40, 650));
        BOOST_CHECK_EQUAL (i->to, sub::Time::from_hms (0, 2, 41, 790));
-       list<sub::Line>::iterator j = i->lines.begin();
+       auto j = i->lines.begin();
        BOOST_REQUIRE (j != i->lines.end ());
        BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
        sub::Block b = j->blocks.front ();
@@ -78,13 +78,13 @@ BOOST_AUTO_TEST_CASE (ssa_reader_test)
 BOOST_AUTO_TEST_CASE (ssa_reader_line_test1)
 {
        sub::RawSubtitle base;
-       list<sub::RawSubtitle> r = sub::SSAReader::parse_line (
+       auto r = sub::SSAReader::parse_line (
                base,
                "This is a line with some {\\i1}italics{\\i0} and then\\nthere is a new line.",
                1920, 1080
                );
 
-       list<sub::RawSubtitle>::const_iterator i = r.begin ();
+       auto i = r.begin();
        BOOST_CHECK_EQUAL (i->text, "This is a line with some ");
        BOOST_CHECK_EQUAL (i->italic, false);
        ++i;
@@ -108,13 +108,13 @@ BOOST_AUTO_TEST_CASE (ssa_reader_line_test1)
 BOOST_AUTO_TEST_CASE (ssa_reader_line_test2)
 {
        sub::RawSubtitle base;
-       list<sub::RawSubtitle> r = sub::SSAReader::parse_line (
+       auto r = sub::SSAReader::parse_line (
                base,
                "{\\i1}It's all just italics{\\i0}",
                1920, 1080
                );
 
-       list<sub::RawSubtitle>::const_iterator i = r.begin ();
+       auto i = r.begin ();
        BOOST_CHECK_EQUAL (i->text, "It's all just italics");
        BOOST_CHECK_EQUAL (i->italic, true);
        ++i;
@@ -192,11 +192,11 @@ BOOST_AUTO_TEST_CASE (ssa_reader_test3)
        FILE* f = fopen (p.string().c_str(), "r");
        sub::SSAReader reader (f);
        fclose (f);
-       list<sub::Subtitle> subs = sub::collect<std::list<sub::Subtitle> > (reader.subtitles ());
+       auto subs = sub::collect<vector<sub::Subtitle>> (reader.subtitles());
 
-       list<sub::Subtitle>::iterator i = subs.begin ();
-       list<sub::Line>::iterator j;
-       list<sub::Block>::iterator k;
+       auto i = subs.begin();
+       vector<sub::Line>::iterator j;
+       vector<sub::Block>::iterator k;
 
        /* Hello world */
        SUB_START (sub::Time::from_hms (0, 0, 1, 230), sub::Time::from_hms (0, 0, 4, 550));
@@ -281,11 +281,11 @@ BOOST_AUTO_TEST_CASE (ssa_reader_test4)
        FILE* f = fopen (p.string().c_str(), "r");
        sub::SSAReader reader (f);
        fclose (f);
-       list<sub::Subtitle> subs = sub::collect<std::list<sub::Subtitle> > (reader.subtitles ());
+       auto subs = sub::collect<vector<sub::Subtitle>> (reader.subtitles());
 
-       list<sub::Subtitle>::iterator i = subs.begin ();
-       list<sub::Line>::iterator j;
-       list<sub::Block>::iterator k;
+       auto i = subs.begin();
+       vector<sub::Line>::iterator j;
+       vector<sub::Block>::iterator k;
 
        BOOST_REQUIRE (i != subs.end ());
 
@@ -329,11 +329,11 @@ BOOST_AUTO_TEST_CASE (ssa_reader_test5)
        FILE* f = fopen (p.string().c_str(), "r");
        sub::SSAReader reader (f);
        fclose (f);
-       list<sub::Subtitle> subs = sub::collect<std::list<sub::Subtitle> > (reader.subtitles ());
+       auto subs = sub::collect<vector<sub::Subtitle>> (reader.subtitles());
 
-       list<sub::Subtitle>::iterator i = subs.begin ();
-       list<sub::Line>::iterator j;
-       list<sub::Block>::iterator k;
+       auto i = subs.begin ();
+       vector<sub::Line>::iterator j;
+       vector<sub::Block>::iterator k;
 
        BOOST_REQUIRE (i != subs.end ());
 
@@ -378,11 +378,11 @@ BOOST_AUTO_TEST_CASE (ssa_reader_test6)
        BOOST_REQUIRE (f);
        sub::SSAReader reader (f);
        fclose (f);
-       list<sub::Subtitle> subs = sub::collect<std::list<sub::Subtitle> > (reader.subtitles ());
+       auto subs = sub::collect<vector<sub::Subtitle>> (reader.subtitles());
 
-       list<sub::Subtitle>::iterator i = subs.begin ();
-       list<sub::Line>::iterator j;
-       list<sub::Block>::iterator k;
+       auto i = subs.begin ();
+       vector<sub::Line>::iterator j;
+       vector<sub::Block>::iterator k;
 
        BOOST_REQUIRE (i != subs.end ());
 
@@ -459,11 +459,11 @@ BOOST_AUTO_TEST_CASE (ssa_reader_pos)
        FILE* f = fopen (p.string().c_str(), "r");
        sub::SSAReader reader (f);
        fclose (f);
-       list<sub::Subtitle> subs = sub::collect<std::list<sub::Subtitle> > (reader.subtitles ());
+       auto subs = sub::collect<vector<sub::Subtitle>> (reader.subtitles());
 
-       list<sub::Subtitle>::iterator i = subs.begin ();
-       list<sub::Line>::iterator j;
-       list<sub::Block>::iterator k;
+       auto i = subs.begin ();
+       vector<sub::Line>::iterator j;
+       vector<sub::Block>::iterator k;
 
        /* Hello world */
        SUB_START (sub::Time::from_hms (0, 0, 1, 230), sub::Time::from_hms (0, 0, 4, 550));
@@ -478,13 +478,13 @@ BOOST_AUTO_TEST_CASE (ssa_reader_pos)
 BOOST_AUTO_TEST_CASE (ssa_reader_fs)
 {
        sub::RawSubtitle base;
-       list<sub::RawSubtitle> r = sub::SSAReader::parse_line (
+       auto r = sub::SSAReader::parse_line (
                base,
                "This is a line with some {\\fs64}font sizing.",
                1920, 1080
                );
 
-       list<sub::RawSubtitle>::const_iterator i = r.begin ();
+       auto i = r.begin ();
        BOOST_CHECK_EQUAL (i->text, "This is a line with some ");
        ++i;
        BOOST_REQUIRE (i != r.end ());
@@ -500,13 +500,13 @@ BOOST_AUTO_TEST_CASE (ssa_reader_fs)
 BOOST_AUTO_TEST_CASE (ssa_reader_c)
 {
        sub::RawSubtitle base;
-       list<sub::RawSubtitle> r = sub::SSAReader::parse_line (
+       auto r = sub::SSAReader::parse_line (
                base,
                "{\\c&H00FFFF&}Dieser Untertitel ist gelb",
                1920, 1080
                );
 
-       list<sub::RawSubtitle>::const_iterator i = r.begin ();
+       auto i = r.begin ();
        BOOST_CHECK_EQUAL (i->text, "Dieser Untertitel ist gelb");
        BOOST_CHECK (i->colour == sub::Colour::from_rgb_hex("ffff00"));
        ++i;
index bad4bc43eda493c49f31083712f5fa299e3c4dac..fd01c9cc8f78d193dd03fec6a02e3e7062ee1417 100644 (file)
@@ -24,7 +24,6 @@
 #include <boost/test/unit_test.hpp>
 #include <fstream>
 
-using std::list;
 using std::ifstream;
 using std::ofstream;
 using std::shared_ptr;
index f77cba5d3d8afa894ed27604c631cf57bed83ab9..94e3b0901c73bdf37f4fd7e0aa26d7e63e077975 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2014-2021 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 #include "subtitle.h"
 #include <boost/test/unit_test.hpp>
 
-using std::list;
+using std::vector;
 
 /** Test writing of a binary STL file */
 BOOST_AUTO_TEST_CASE (stl_binary_writer_test)
 {
-       list<sub::Subtitle> subs;
+       vector<sub::Subtitle> subs;
 
        {
                sub::Subtitle s;
index 162790fa23cf0398b3f04a30a24490c7e4ce580e..f0ec9699dd1ad644e0fd369b266238696738b9d2 100644 (file)
@@ -23,7 +23,6 @@
 #include <boost/test/unit_test.hpp>
 #include <fstream>
 
-using std::list;
 using std::ifstream;
 using std::vector;
 
@@ -32,9 +31,9 @@ BOOST_AUTO_TEST_CASE (stl_text_reader_test)
 {
        ifstream file ("test/data/test_text.stl");
        sub::STLTextReader reader (file);
-       list<sub::Subtitle> subs = sub::collect<list<sub::Subtitle> > (reader.subtitles ());
+       auto subs = sub::collect<vector<sub::Subtitle>> (reader.subtitles());
 
-       list<sub::Subtitle>::iterator i = subs.begin ();
+       auto i = subs.begin ();
 
 
        /* First subtitle */
@@ -43,10 +42,10 @@ BOOST_AUTO_TEST_CASE (stl_text_reader_test)
        BOOST_CHECK_EQUAL (i->from, sub::Time::from_hmsf (0, 0, 41, 9));
        BOOST_CHECK_EQUAL (i->to, sub::Time::from_hmsf (0, 0, 42, 21));
 
-       list<sub::Line>::iterator j = i->lines.begin ();
+       auto j = i->lines.begin ();
        BOOST_CHECK (j != i->lines.end ());
        BOOST_CHECK_EQUAL (j->blocks.size(), 1);
-       sub::Block b = j->blocks.front ();
+       auto b = j->blocks.front ();
        BOOST_CHECK_EQUAL (b.text, " This is a subtitle ");
        BOOST_CHECK_EQUAL (b.font.get(), "Arial");
        BOOST_CHECK_EQUAL (b.font_size.points().get(), 42);
@@ -80,7 +79,7 @@ BOOST_AUTO_TEST_CASE (stl_text_reader_test)
        BOOST_CHECK_EQUAL (l.blocks.size(), 7);
        BOOST_CHECK_EQUAL (l.vertical_position.line.get(), 0);
 
-       list<sub::Block>::iterator k = l.blocks.begin ();
+       auto k = l.blocks.begin ();
 
        BOOST_CHECK (k != l.blocks.end ());
        BOOST_CHECK_EQUAL (k->text, " This is some ");
index bb8f71c2023fbb60e8f3a92ae14e6f2f41c41593..818b6ad3ecd01f2d6335f02eabc8637e1e463517 100644 (file)
@@ -28,7 +28,6 @@
 #include <iostream>
 #include <cstdio>
 
-using std::list;
 using std::cerr;
 using std::vector;
 using std::fabs;
@@ -39,9 +38,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test)
        FILE* f = fopen ("test/data/test.srt", "r");
        sub::SubripReader reader (f);
        fclose (f);
-       list<sub::Subtitle> subs = sub::collect<std::list<sub::Subtitle> > (reader.subtitles ());
+       auto subs = sub::collect<std::vector<sub::Subtitle>> (reader.subtitles());
 
-       list<sub::Subtitle>::iterator i = subs.begin ();
+       auto i = subs.begin ();
 
 
        /* First subtitle */
@@ -50,10 +49,10 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test)
        BOOST_CHECK_EQUAL (i->from, sub::Time::from_hms (0, 0, 41, 90));
        BOOST_CHECK_EQUAL (i->to, sub::Time::from_hms (0, 0, 42, 210));
 
-       list<sub::Line>::iterator j = i->lines.begin ();
+       auto j = i->lines.begin();
        BOOST_CHECK (j != i->lines.end ());
        BOOST_CHECK_EQUAL (j->blocks.size(), 1);
-       sub::Block b = j->blocks.front ();
+       auto b = j->blocks.front();
        BOOST_CHECK_EQUAL (b.text, "This is a subtitle");
        /* No font is specified by subrip, so none should be seen here */
        BOOST_CHECK (!b.font);
@@ -94,7 +93,7 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test)
        BOOST_CHECK_EQUAL (l.vertical_position.line.get(), 0);
        BOOST_CHECK_EQUAL (l.vertical_position.reference.get(), sub::TOP_OF_SUBTITLE);
 
-       list<sub::Block>::iterator k = l.blocks.begin ();
+       auto k = l.blocks.begin();
 
        BOOST_CHECK (k != l.blocks.end ());
        BOOST_CHECK_EQUAL (k->text, "This is some ");
@@ -175,9 +174,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test2)
        FILE* f = fopen ("test/data/test2.srt", "r");
        sub::SubripReader reader (f);
        fclose (f);
-       list<sub::Subtitle> subs = sub::collect<list<sub::Subtitle> > (reader.subtitles ());
+       auto subs = sub::collect<vector<sub::Subtitle>> (reader.subtitles());
 
-       list<sub::Subtitle>::const_iterator i = subs.begin();
+       auto i = subs.begin();
 
        BOOST_CHECK (i != subs.end ());
        BOOST_CHECK_EQUAL (i->from, sub::Time::from_hms (0, 1, 49, 200));
@@ -293,7 +292,7 @@ BOOST_AUTO_TEST_CASE (subrip_reader_convert_line_test)
        rs = sub::RawSubtitle();
        r.convert_line ("<b>This is <i>nesting</i> of subtitles</b>", rs);
        BOOST_CHECK_EQUAL (r._subs.size(), 3);
-       list<sub::RawSubtitle>::iterator i = r._subs.begin ();
+       auto i = r._subs.begin();
        BOOST_CHECK_EQUAL (i->text, "This is ");
        BOOST_CHECK_EQUAL (i->bold, true);
        BOOST_CHECK_EQUAL (i->italic, false);
@@ -461,11 +460,11 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test3)
        FILE* f = fopen (p.string().c_str(), "r");
        sub::SubripReader reader (f);
        fclose (f);
-       list<sub::Subtitle> subs = sub::collect<std::list<sub::Subtitle> > (reader.subtitles ());
+       auto subs = sub::collect<std::vector<sub::Subtitle>> (reader.subtitles());
 
-       list<sub::Subtitle>::iterator i = subs.begin ();
-       list<sub::Line>::iterator j;
-       list<sub::Block>::iterator k;
+       auto i = subs.begin ();
+       vector<sub::Line>::iterator j;
+       vector<sub::Block>::iterator k;
 
        BOOST_REQUIRE (i != subs.end ());
 
@@ -538,9 +537,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test4)
        FILE* f = fopen (p.string().c_str(), "r");
        sub::SubripReader reader (f);
        fclose (f);
-       list<sub::Subtitle> subs = sub::collect<std::list<sub::Subtitle> >(reader.subtitles());
+       auto subs = sub::collect<std::vector<sub::Subtitle>>(reader.subtitles());
 
-       list<sub::Subtitle>::iterator i = subs.begin ();
+       auto i = subs.begin();
        std::cout << i->lines.front().blocks.front().text << "\n";
 
        std::string const t = i->lines.front().blocks.front().text;
index 94470e8e958ac363491714a871e82f56782939a2..cf7008ee8aa16b8f3327728393b852d16484fb98 100644 (file)
@@ -30,7 +30,6 @@ using std::string;
 using std::cerr;
 using std::cout;
 using std::map;
-using std::list;
 using std::shared_ptr;
 using namespace sub;