From abc81db388c5619f27f0bb2d906657258911e670 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Lars=20Gullik=20Bj=C3=B8nnes?= Date: Tue, 23 Oct 2012 23:01:18 +0200 Subject: [PATCH] src/lyxfind.cpp: use local typedef to simplify Use a local typedef pair P to avoid having to repeat that multiple times. --- src/lyxfind.cpp | 72 +++++++++++++++++++++++++++---------------------- 1 file changed, 40 insertions(+), 32 deletions(-) diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp index a19724b8ce..33dbd8a9d4 100644 --- a/src/lyxfind.cpp +++ b/src/lyxfind.cpp @@ -495,54 +495,62 @@ typedef vector > Escapes; /// @note Beware of order Escapes const & get_regexp_escapes() { + typedef std::pair P; + static Escapes escape_map; if (escape_map.empty()) { - escape_map.push_back(pair("$", "_x_$")); - escape_map.push_back(pair("{", "_x_{")); - escape_map.push_back(pair("}", "_x_}")); - escape_map.push_back(pair("[", "_x_[")); - escape_map.push_back(pair("]", "_x_]")); - escape_map.push_back(pair("(", "_x_(")); - escape_map.push_back(pair(")", "_x_)")); - escape_map.push_back(pair("+", "_x_+")); - escape_map.push_back(pair("*", "_x_*")); - escape_map.push_back(pair(".", "_x_.")); - escape_map.push_back(pair("\\", "(?:\\\\|\\\\backslash)")); - escape_map.push_back(pair("~", "(?:\\\\textasciitilde|\\\\sim)")); - escape_map.push_back(pair("^", "(?:\\^|\\\\textasciicircum\\{\\}|\\\\mathcircumflex)")); - escape_map.push_back(pair("_x_", "\\")); + escape_map.push_back(P("$", "_x_$")); + escape_map.push_back(P("{", "_x_{")); + escape_map.push_back(P("}", "_x_}")); + escape_map.push_back(P("[", "_x_[")); + escape_map.push_back(P("]", "_x_]")); + escape_map.push_back(P("(", "_x_(")); + escape_map.push_back(P(")", "_x_)")); + escape_map.push_back(P("+", "_x_+")); + escape_map.push_back(P("*", "_x_*")); + escape_map.push_back(P(".", "_x_.")); + escape_map.push_back(P("\\", "(?:\\\\|\\\\backslash)")); + escape_map.push_back(P("~", "(?:\\\\textasciitilde|\\\\sim)")); + escape_map.push_back(P("^", "(?:\\^|\\\\textasciicircum\\{\\}|\\\\mathcircumflex)")); + escape_map.push_back(P("_x_", "\\")); } return escape_map; } /// A map of lyx escaped strings and their unescaped equivalent. -Escapes const & get_lyx_unescapes() { +Escapes const & get_lyx_unescapes() +{ + typedef std::pair P; + static Escapes escape_map; if (escape_map.empty()) { - escape_map.push_back(pair("\\%", "%")); - escape_map.push_back(pair("\\mathcircumflex ", "^")); - escape_map.push_back(pair("\\mathcircumflex", "^")); - escape_map.push_back(pair("\\backslash ", "\\")); - escape_map.push_back(pair("\\backslash", "\\")); - escape_map.push_back(pair("\\\\{", "_x_<")); - escape_map.push_back(pair("\\\\}", "_x_>")); - escape_map.push_back(pair("\\sim ", "~")); - escape_map.push_back(pair("\\sim", "~")); + escape_map.push_back(P("\\%", "%")); + escape_map.push_back(P("\\mathcircumflex ", "^")); + escape_map.push_back(P("\\mathcircumflex", "^")); + escape_map.push_back(P("\\backslash ", "\\")); + escape_map.push_back(P("\\backslash", "\\")); + escape_map.push_back(P("\\\\{", "_x_<")); + escape_map.push_back(P("\\\\}", "_x_>")); + escape_map.push_back(P("\\sim ", "~")); + escape_map.push_back(P("\\sim", "~")); } return escape_map; } /// A map of escapes turning a regexp matching text to one matching latex. -Escapes const & get_regexp_latex_escapes() { +Escapes const & get_regexp_latex_escapes() +{ + typedef std::pair P; + static Escapes escape_map; if (escape_map.empty()) { - escape_map.push_back(pair("\\\\", "(?:\\\\\\\\|\\\\backslash|\\\\textbackslash\\{\\})")); - escape_map.push_back(pair("(("(("\\[", "\\{\\[\\}")); - escape_map.push_back(pair("\\]", "\\{\\]\\}")); - escape_map.push_back(pair("\\^", "(?:\\^|\\\\textasciicircum\\{\\}|\\\\mathcircumflex)")); - escape_map.push_back(pair("%", "\\\\\\%")); + escape_map.push_back(P("\\\\", "(?:\\\\\\\\|\\\\backslash|\\\\textbackslash\\{\\})")); + escape_map.push_back(P("(