From 014bc7805e8a9eca1096db67b1e9d26e1ff6c7e2 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. --- src/BufferParams.cpp | 24 +++++++++++------------- src/BufferParams.h | 2 +- src/Converter.cpp | 30 ++++++++++++++---------------- src/Converter.h | 20 +++++++++++--------- src/frontends/qt4/GuiDocument.cpp | 3 ++- src/frontends/qt4/GuiSendto.cpp | 5 +++-- src/frontends/qt4/Menus.cpp | 3 +-- src/frontends/qt4/Toolbars.cpp | 2 +- 8 files changed, 44 insertions(+), 45 deletions(-) diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp index dab711d047..bae97f6800 100644 --- a/src/BufferParams.cpp +++ b/src/BufferParams.cpp @@ -355,9 +355,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; }; @@ -2403,9 +2402,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; @@ -2418,12 +2417,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); @@ -2435,10 +2434,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; @@ -2533,7 +2531,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 ea2cd5dd53..dcf4517328 100644 --- a/src/BufferParams.h +++ b/src/BufferParams.h @@ -555,7 +555,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 465e256bbd..58e486e67d 100644 --- a/src/Converter.cpp +++ b/src/Converter.cpp @@ -717,14 +717,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); } @@ -732,8 +731,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); @@ -742,9 +741,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; @@ -777,29 +776,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 082b2d358a..c9c44238ef 100644 --- a/src/Converter.h +++ b/src/Converter.h @@ -30,6 +30,8 @@ class ErrorList; class Format; class Formats; +typedef std::vector FormatList; + /// class Converter { @@ -131,16 +133,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; @@ -181,7 +183,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 a3002f0bba..2a4087362e 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" @@ -2561,7 +2562,7 @@ void GuiDocument::updateDefaultFormat() outputModule->defaultFormatCO->clear(); outputModule->defaultFormatCO->addItem(qt_("Default"), QVariant(QString("default"))); - vector const & formats = + FormatList const & formats = param_copy.exportableFormats(true); for (Format const * f : formats) outputModule->defaultFormatCO->addItem diff --git a/src/frontends/qt4/GuiSendto.cpp b/src/frontends/qt4/GuiSendto.cpp index a3c125eac8..92814f0da9 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" @@ -71,7 +72,7 @@ void GuiSendTo::changed_adaptor() void GuiSendTo::updateContents() { - vector const & all_formats = + FormatList const & all_formats = buffer().params().exportableFormats(false); // Save the current selection if any Format const * current_format = nullptr; @@ -101,7 +102,7 @@ void GuiSendTo::applyView() if (line < 0 || line > formatLW->count()) return; - vector const & all_formats = + FormatList const & all_formats = buffer().params().exportableFormats(false); format_ = all_formats[line]; command_ = command; diff --git a/src/frontends/qt4/Menus.cpp b/src/frontends/qt4/Menus.cpp index 16182e6935..53a845563f 100644 --- a/src/frontends/qt4/Menus.cpp +++ b/src/frontends/qt4/Menus.cpp @@ -1026,8 +1026,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) { diff --git a/src/frontends/qt4/Toolbars.cpp b/src/frontends/qt4/Toolbars.cpp index b2a9c37138..2c0d2ab1a3 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(true); sort(formats.begin(), formats.end()); -- 2.39.2