From e9b14eed608b0f0e58c17177e54babe3c1b73d75 Mon Sep 17 00:00:00 2001 From: Richard Heck Date: Wed, 19 Oct 2016 18:11:58 -0400 Subject: [PATCH] Use a typedef for vector, which is what gets used for lists of exportable and importable formats. (cherry picked from commit 014bc7805e8a9eca1096db67b1e9d26e1ff6c7e2) --- src/BufferParams.cpp | 24 +++++++++++------------- src/BufferParams.h | 2 +- src/Converter.cpp | 30 ++++++++++++++---------------- src/Converter.h | 20 +++++++++++--------- src/frontends/qt4/GuiDocument.cpp | 7 ++++--- src/frontends/qt4/GuiSendto.cpp | 1 + src/frontends/qt4/Menus.cpp | 7 +++---- src/frontends/qt4/Toolbars.cpp | 2 +- 8 files changed, 46 insertions(+), 47 deletions(-) diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp index 3e4c2161e9..e409dff8f0 100644 --- a/src/BufferParams.cpp +++ b/src/BufferParams.cpp @@ -354,9 +354,8 @@ public: VSpace defskip; PDFOptions pdfoptions; LayoutFileIndex baseClass_; - /// Caching for exportableFormats, which seems to be slow. - std::vector exportableFormatList; - std::vector viewableFormatList; + FormatList exportableFormatList; + FormatList viewableFormatList; bool isViewCacheValid; bool isExportCacheValid; }; @@ -2413,9 +2412,9 @@ bool BufferParams::isExportable(string const & format) const } -vector const & BufferParams::exportableFormats(bool only_viewable) const +FormatList const & BufferParams::exportableFormats(bool only_viewable) const { - vector & cached = only_viewable ? + FormatList & cached = only_viewable ? pimpl_->viewableFormatList : pimpl_->exportableFormatList; bool & valid = only_viewable ? pimpl_->isViewCacheValid : pimpl_->isExportCacheValid; @@ -2428,12 +2427,12 @@ vector const & BufferParams::exportableFormats(bool only_viewabl excludes.insert("latex"); excludes.insert("pdflatex"); } - vector result = + FormatList result = theConverters().getReachable(backs[0], only_viewable, true, excludes); for (vector::const_iterator it = backs.begin() + 1; it != backs.end(); ++it) { - vector r = - theConverters().getReachable(*it, only_viewable, false, excludes); + FormatList r = theConverters().getReachable(*it, only_viewable, + false, excludes); result.insert(result.end(), r.begin(), r.end()); } sort(result.begin(), result.end(), Format::formatSorter); @@ -2445,10 +2444,9 @@ vector const & BufferParams::exportableFormats(bool only_viewabl bool BufferParams::isExportableFormat(string const & format) const { - typedef vector Formats; - Formats const & formats = exportableFormats(true); - Formats::const_iterator fit = formats.begin(); - Formats::const_iterator end = formats.end(); + FormatList const & formats = exportableFormats(true); + FormatList::const_iterator fit = formats.begin(); + FormatList::const_iterator end = formats.end(); for (; fit != end ; ++fit) { if ((*fit)->name() == format) return true; @@ -2543,7 +2541,7 @@ string BufferParams::getDefaultOutputFormat() const return default_output_format; if (isDocBook() || encoding().package() == Encoding::japanese) { - vector const & formats = exportableFormats(true); + FormatList const & formats = exportableFormats(true); if (formats.empty()) return string(); // return the first we find diff --git a/src/BufferParams.h b/src/BufferParams.h index b034b8801c..f4caa30100 100644 --- a/src/BufferParams.h +++ b/src/BufferParams.h @@ -554,7 +554,7 @@ private: * mathdots, stackrel, stmaryrd and undertilde. */ PackageMap use_packages; - + /** Use the Pimpl idiom to hide those member variables that would otherwise * drag in other header files. */ diff --git a/src/Converter.cpp b/src/Converter.cpp index ee17f57445..4efdbbc8e4 100644 --- a/src/Converter.cpp +++ b/src/Converter.cpp @@ -715,14 +715,13 @@ void Converters::buildGraph() } -vector const -Converters::intToFormat(vector const & input) +FormatList const Converters::intToFormat(vector const & input) { - vector result(input.size()); + FormatList result(input.size()); vector::const_iterator it = input.begin(); vector::const_iterator const end = input.end(); - vector::iterator rit = result.begin(); + FormatList::iterator rit = result.begin(); for ( ; it != end; ++it, ++rit) { *rit = &formats.get(*it); } @@ -730,8 +729,8 @@ Converters::intToFormat(vector const & input) } -vector const -Converters::getReachableTo(string const & target, bool const clear_visited) +FormatList const Converters::getReachableTo(string const & target, + bool const clear_visited) { vector const & reachablesto = G_.getReachableTo(formats.getNumber(target), clear_visited); @@ -740,9 +739,9 @@ Converters::getReachableTo(string const & target, bool const clear_visited) } -vector const -Converters::getReachable(string const & from, bool const only_viewable, - bool const clear_visited, set const & excludes) +FormatList const Converters::getReachable(string const & from, + bool const only_viewable, bool const clear_visited, + set const & excludes) { set excluded_numbers; @@ -775,29 +774,28 @@ Graph::EdgePath Converters::getPath(string const & from, string const & to) } -vector Converters::importableFormats() +FormatList Converters::importableFormats() { vector l = loaders(); - vector result = getReachableTo(l[0], true); + FormatList result = getReachableTo(l[0], true); vector::const_iterator it = l.begin() + 1; vector::const_iterator en = l.end(); for (; it != en; ++it) { - vector r = getReachableTo(*it, false); + FormatList r = getReachableTo(*it, false); result.insert(result.end(), r.begin(), r.end()); } return result; } -vector Converters::exportableFormats(bool only_viewable) +FormatList Converters::exportableFormats(bool only_viewable) { vector s = savers(); - vector result = getReachable(s[0], only_viewable, true); + FormatList result = getReachable(s[0], only_viewable, true); vector::const_iterator it = s.begin() + 1; vector::const_iterator en = s.end(); for (; it != en; ++it) { - vector r = - getReachable(*it, only_viewable, false); + FormatList r = getReachable(*it, only_viewable, false); result.insert(result.end(), r.begin(), r.end()); } return result; diff --git a/src/Converter.h b/src/Converter.h index 9a72d8c708..94bf159383 100644 --- a/src/Converter.h +++ b/src/Converter.h @@ -31,6 +31,8 @@ class Format; class Formats; class OutputParams; +typedef std::vector FormatList; + /// class Converter { @@ -132,16 +134,16 @@ public: // void erase(std::string const & from, std::string const & to); /// - std::vector const - getReachableTo(std::string const & target, bool clear_visited); + FormatList const + getReachableTo(std::string const & target, bool clear_visited); /// - std::vector const - getReachable(std::string const & from, bool only_viewable, - bool clear_visited, - std::set const & excludes = std::set()); + FormatList const + getReachable(std::string const & from, bool only_viewable, + bool clear_visited, + std::set const & excludes = std::set()); - std::vector importableFormats(); - std::vector exportableFormats(bool only_viewable); + FormatList importableFormats(); + FormatList exportableFormats(bool only_viewable); std::vector loaders() const; std::vector savers() const; @@ -182,7 +184,7 @@ public: void buildGraph(); private: /// - std::vector const + FormatList const intToFormat(std::vector const & input); /// bool scanLog(Buffer const & buffer, std::string const & command, diff --git a/src/frontends/qt4/GuiDocument.cpp b/src/frontends/qt4/GuiDocument.cpp index 742d033b06..b11296a1cf 100644 --- a/src/frontends/qt4/GuiDocument.cpp +++ b/src/frontends/qt4/GuiDocument.cpp @@ -31,6 +31,7 @@ #include "BufferView.h" #include "Color.h" #include "ColorCache.h" +#include "Converter.h" #include "Cursor.h" #include "Encoding.h" #include "FloatPlacement.h" @@ -2545,9 +2546,9 @@ void GuiDocument::updateDefaultFormat() outputModule->defaultFormatCO->clear(); outputModule->defaultFormatCO->addItem(qt_("Default"), QVariant(QString("default"))); - vector const & formats = param_copy.exportableFormats(true); - vector::const_iterator cit = formats.begin(); - vector::const_iterator end = formats.end(); + FormatList const & formats = param_copy.exportableFormats(true); + FormatList::const_iterator cit = formats.begin(); + FormatList::const_iterator end = formats.end(); for (; cit != end; ++cit) outputModule->defaultFormatCO->addItem(qt_((*cit)->prettyname()), QVariant(toqstr((*cit)->name()))); diff --git a/src/frontends/qt4/GuiSendto.cpp b/src/frontends/qt4/GuiSendto.cpp index 9d2503bee7..791a2c9b4c 100644 --- a/src/frontends/qt4/GuiSendto.cpp +++ b/src/frontends/qt4/GuiSendto.cpp @@ -16,6 +16,7 @@ #include "Buffer.h" #include "BufferParams.h" +#include "Converter.h" #include "Format.h" #include "FuncRequest.h" diff --git a/src/frontends/qt4/Menus.cpp b/src/frontends/qt4/Menus.cpp index 6a932e99d1..0bf3f97a89 100644 --- a/src/frontends/qt4/Menus.cpp +++ b/src/frontends/qt4/Menus.cpp @@ -1030,8 +1030,7 @@ void MenuDefinition::expandFormats(MenuItem::Kind const kind, Buffer const * buf if (!buf && kind != MenuItem::ImportFormats) return; - typedef vector Formats; - Formats formats; + FormatList formats; FuncCode action = LFUN_NOACTION; switch (kind) { @@ -1067,8 +1066,8 @@ void MenuDefinition::expandFormats(MenuItem::Kind const kind, Buffer const * buf MenuItem item(MenuItem::Submenu, smenue); item.setSubmenu(MenuDefinition(smenue)); - Formats::const_iterator fit = formats.begin(); - Formats::const_iterator end = formats.end(); + FormatList::const_iterator fit = formats.begin(); + FormatList::const_iterator end = formats.end(); for (; fit != end ; ++fit) { if ((*fit)->dummy()) continue; diff --git a/src/frontends/qt4/Toolbars.cpp b/src/frontends/qt4/Toolbars.cpp index 20eee931bc..2cf4dce799 100644 --- a/src/frontends/qt4/Toolbars.cpp +++ b/src/frontends/qt4/Toolbars.cpp @@ -194,7 +194,7 @@ ToolbarInfo & ToolbarInfo::read(Lexer & lex) case TO_IMPORTFORMATS: case TO_UPDATEFORMATS: case TO_VIEWFORMATS: { - vector formats = (code == TO_IMPORTFORMATS) ? + FormatList formats = (code == TO_IMPORTFORMATS) ? theConverters().importableFormats() : theConverters().exportableFormats(code != TO_EXPORTFORMATS); sort(formats.begin(), formats.end()); -- 2.39.5