From: Lars Gullik Bjønnes Date: Sun, 1 Feb 2004 12:46:14 +0000 (+0000) Subject: Cleanup usage of contains and simplify a bit. X-Git-Tag: 1.6.10~15550 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=2e5976a0be06a44557c3419dc36cd50b2d24d7a2;p=features.git Cleanup usage of contains and simplify a bit. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8378 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/ChangeLog b/src/ChangeLog index dd2164e0f8..d58c83408a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,7 +1,11 @@ +2004-02-01 Lars Gullik Bjonnes + + * vc-backend.C (scanMaster): ";" -> ';' + 2004-01-31 Lars Gullik Bjonnes * lyxtextclasslist.C (less_textclass_avail_desc): inherit from - std::binary_function + std::binary_function * lyxtextclass.C (compare_name): rename to... (LayoutNamesEqual): ...this @@ -24,7 +28,7 @@ (getConverter): use it, and make function const (getNumber): use it, and make function const (add): use it - (erase): use it: + (erase): use it: * bufferlist.C: add using boost::bind diff --git a/src/frontends/controllers/ChangeLog b/src/frontends/controllers/ChangeLog index e15fb3860a..b6f08b2fca 100644 --- a/src/frontends/controllers/ChangeLog +++ b/src/frontends/controllers/ChangeLog @@ -1,3 +1,7 @@ +2004-02-01 Lars Gullik Bjonnes + + * biblio.C (parseBibTeX): "=" -> '=' + 2004-01-31 Lars Gullik Bjonnes * biblio.C (RegexMatch): inherit from std::unary_function, make diff --git a/src/frontends/controllers/biblio.C b/src/frontends/controllers/biblio.C index 29213a98c3..a6c0a4ad1b 100644 --- a/src/frontends/controllers/biblio.C +++ b/src/frontends/controllers/biblio.C @@ -372,7 +372,7 @@ string const parseBibTeX(string data, string const & findkey) // the \n and in the second we replace it // with a space if (!dummy.empty()) { - if (!contains(dummy, "=")) + if (!contains(dummy, '=')) data_ += ' ' + dummy; else data_ += dummy; diff --git a/src/frontends/gnome/ChangeLog b/src/frontends/gnome/ChangeLog index 674533e4b8..7f1bdeb618 100644 --- a/src/frontends/gnome/ChangeLog +++ b/src/frontends/gnome/ChangeLog @@ -1,3 +1,7 @@ +2004-02-01 Lars Gullik Bjonnes + + * GFloat.C (update): "c" -> 'c' in calls to contains + 2003-12-14 Michael Schmitt * Dialogs.C: diff --git a/src/frontends/gnome/GFloat.C b/src/frontends/gnome/GFloat.C index bc40754ed6..53df5c9003 100644 --- a/src/frontends/gnome/GFloat.C +++ b/src/frontends/gnome/GFloat.C @@ -73,19 +73,19 @@ void GFloat::update() string placement(controller().params().placement); - if (contains(placement, "H")) { + if (contains(placement, 'H')) { forcehere = true; } else { - if (contains(placement, "t")) { + if (contains(placement, 't')) { top = true; } - if (contains(placement, "b")) { + if (contains(placement, 'b')) { bottom = true; } - if (contains(placement, "p")) { + if (contains(placement, 'p')) { page = true; } - if (contains(placement, "h")) { + if (contains(placement, 'h')) { here = true; } } diff --git a/src/frontends/qt2/ChangeLog b/src/frontends/qt2/ChangeLog index b7ba44559c..bffc44e6c6 100644 --- a/src/frontends/qt2/ChangeLog +++ b/src/frontends/qt2/ChangeLog @@ -1,3 +1,7 @@ +2004-02-01 Lars Gullik Bjonnes + + * floatplacement.C (set): "c" -> 'c' in calls to contains + 2004-01-28 Lars Gullik Bjonnes * QPrefs.C: add using statement for std::distance diff --git a/src/frontends/qt2/floatplacement.C b/src/frontends/qt2/floatplacement.C index 5284b473f2..cf0150bab4 100644 --- a/src/frontends/qt2/floatplacement.C +++ b/src/frontends/qt2/floatplacement.C @@ -111,22 +111,22 @@ void FloatPlacement::set(string const & placement) if (placement.empty()) { def_placement = true; - } else if (contains(placement, "H")) { + } else if (contains(placement, 'H')) { here_definitely = true; } else { - if (contains(placement, "!")) { + if (contains(placement, '!')) { force = true; } - if (contains(placement, "t")) { + if (contains(placement, 't')) { top = true; } - if (contains(placement, "b")) { + if (contains(placement, 'b')) { bottom = true; } - if (contains(placement, "p")) { + if (contains(placement, 'p')) { page = true; } - if (contains(placement, "h")) { + if (contains(placement, 'h')) { here = true; } } diff --git a/src/frontends/qt2/lengthcombo.C b/src/frontends/qt2/lengthcombo.C index ce0a4b07dd..09261a8074 100644 --- a/src/frontends/qt2/lengthcombo.C +++ b/src/frontends/qt2/lengthcombo.C @@ -62,7 +62,7 @@ void LengthCombo::noPercents() { int num = QComboBox::count(); for (int i = 0; i < num; i++) { - if (QComboBox::text(i).contains("%") > 0) { + if (QComboBox::text(i).contains('%') > 0) { QComboBox::removeItem(i); i -= 1; num -= 1; diff --git a/src/frontends/xforms/ChangeLog b/src/frontends/xforms/ChangeLog index 5c19af12b7..8f6ee4b1f6 100644 --- a/src/frontends/xforms/ChangeLog +++ b/src/frontends/xforms/ChangeLog @@ -1,3 +1,13 @@ +2004-02-01 Lars Gullik Bjonnes + + * FormFloat.C (update): "c" -> 'c' in calls to contains + + * FormDocument.C (build): use boost::bind instead of bind2nd, use + contains instead of contains_functor + * FormParagraph.C (build): ditto + * FormTabular.C (build): ditto + * FormVSpace.C (build): ditto + 2004-01-31 Lars Gullik Bjonnes * RadioButtonGroup.C (is_set_button): inherit from diff --git a/src/frontends/xforms/FormDocument.C b/src/frontends/xforms/FormDocument.C index 54d6411505..e15aa4018a 100644 --- a/src/frontends/xforms/FormDocument.C +++ b/src/frontends/xforms/FormDocument.C @@ -40,20 +40,23 @@ #include "vspace.h" #include "support/tostr.h" -#include "support/lstrings.h" // contains_functor, getStringFromVector +#include "support/lstrings.h" // contains, getStringFromVector #include "support/filetools.h" // LibFileSearch #include "lyx_xpm.h" +#include + #include using lyx::support::bformat; -using lyx::support::contains_functor; +using lyx::support::contains; using lyx::support::getStringFromVector; using lyx::support::getVectorFromString; using lyx::support::LibFileSearch; -using std::bind2nd; +using boost::bind; + using std::endl; using std::string; using std::vector; @@ -169,7 +172,7 @@ void FormDocument::build() vector::iterator ret = std::remove_if(units_vec.begin(), units_vec.end(), - bind2nd(contains_functor(), "%")); + bind(contains, _1, '%')); units_vec.erase(ret, units_vec.end()); string const units = getStringFromVector(units_vec, "|"); @@ -759,7 +762,7 @@ void FormDocument::branch_input(FL_OBJECT * ob) fl_get_browser_line(branch_->browser_all_branches, i); Branch * branch = branchlist_.find(current_branch); - + if (branch && branch->setSelected(selected)) rebuild_selected_branches_browser(); diff --git a/src/frontends/xforms/FormFloat.C b/src/frontends/xforms/FormFloat.C index a102a525d8..c683fbcfba 100644 --- a/src/frontends/xforms/FormFloat.C +++ b/src/frontends/xforms/FormFloat.C @@ -160,13 +160,13 @@ void FormFloat::update() string placement(controller().params().placement); bool const wide = controller().params().wide; - bool const here_definitely = contains(placement, "H"); + bool const here_definitely = contains(placement, 'H'); - bool const top = contains(placement, "t"); - bool const bottom = contains(placement, "b"); - bool const page = contains(placement, "p"); - bool const here = contains(placement, "h"); - bool const force = contains(placement, "!"); + bool const top = contains(placement, 't'); + bool const bottom = contains(placement, 'b'); + bool const page = contains(placement, 'p'); + bool const here = contains(placement, 'h'); + bool const force = contains(placement, '!'); bool const alternatives = top || bottom || page || (here && !wide); if (alternatives) { diff --git a/src/frontends/xforms/FormParagraph.C b/src/frontends/xforms/FormParagraph.C index b5bfe655d8..316f98c6ab 100644 --- a/src/frontends/xforms/FormParagraph.C +++ b/src/frontends/xforms/FormParagraph.C @@ -32,11 +32,14 @@ #include "lyx_forms.h" -using lyx::support::contains_functor; +#include + +using lyx::support::contains; using lyx::support::getStringFromVector; using lyx::support::rtrim; -using std::bind2nd; +using boost::bind; + using std::remove_if; using std::vector; @@ -98,7 +101,7 @@ void FormParagraph::build() vector units_vec = getLatexUnits(); vector::iterator del = remove_if(units_vec.begin(), units_vec.end(), - bind2nd(contains_functor(), "%")); + bind(contains, _1, '%')); units_vec.erase(del, units_vec.end()); // set default unit for custom length diff --git a/src/frontends/xforms/FormTabular.C b/src/frontends/xforms/FormTabular.C index f7c6ead413..88d0860fad 100644 --- a/src/frontends/xforms/FormTabular.C +++ b/src/frontends/xforms/FormTabular.C @@ -24,11 +24,14 @@ #include "lyx_forms.h" -using lyx::support::contains_functor; +#include + +using lyx::support::contains; using lyx::support::getStringFromVector; using lyx::support::isStrDbl; -using std::bind2nd; +using boost::bind; + using std::string; using std::vector; @@ -81,7 +84,7 @@ void FormTabular::build() vector units_vec = getLatexUnits(); vector::iterator ret = remove_if(units_vec.begin(), units_vec.end(), - bind2nd(contains_functor(), "%")); + bind(contains, _1, '%')); units_vec.erase(ret, units_vec.end()); string const units = getStringFromVector(units_vec, "|"); diff --git a/src/frontends/xforms/FormVSpace.C b/src/frontends/xforms/FormVSpace.C index 09777af5fe..a94686ceec 100644 --- a/src/frontends/xforms/FormVSpace.C +++ b/src/frontends/xforms/FormVSpace.C @@ -33,11 +33,14 @@ #include "lyx_forms.h" -using lyx::support::contains_functor; +#include + +using lyx::support::contains; using lyx::support::getStringFromVector; using lyx::support::rtrim; -using std::bind2nd; +using boost::bind; + using std::remove_if; using std::vector; @@ -196,7 +199,7 @@ void FormVSpace::build() vector units_vec = getLatexUnits(); vector::iterator del = remove_if(units_vec.begin(), units_vec.end(), - bind2nd(contains_functor(), "%")); + bind(contains, _1, '%')); units_vec.erase(del, units_vec.end()); string const units = getStringFromVector(units_vec, "|"); diff --git a/src/insets/ChangeLog b/src/insets/ChangeLog index 57c34f57a2..3451fd64e9 100644 --- a/src/insets/ChangeLog +++ b/src/insets/ChangeLog @@ -1,3 +1,10 @@ +2004-02-01 Lars Gullik Bjonnes + + * insetlatexaccent.C (checkContents): "c" -> 'c' in calls to contains + + * insetfloat.C (validate): "H" -> 'H' in call to contains + + * insetcite.C (getBasicLabel): "," -> ',' in calls to contains 2004-01-30 André Pönitz * inset.[Ch]: diff --git a/src/insets/insetcite.C b/src/insets/insetcite.C index 05d168c01e..bbb874d4f2 100644 --- a/src/insets/insetcite.C +++ b/src/insets/insetcite.C @@ -194,10 +194,10 @@ string const getBasicLabel(string const & keyList, string const & after) string keys(keyList); string label; - if (contains(keys, ",")) { + if (contains(keys, ',')) { // Final comma allows while loop to cover all keys keys = ltrim(split(keys, label, ',')) + ','; - while (contains(keys, ",")) { + while (contains(keys, ',')) { string key; keys = ltrim(split(keys, key, ',')); label += ", " + key; diff --git a/src/insets/insetfloat.C b/src/insets/insetfloat.C index 4e7ba7c409..e5caa64fa6 100644 --- a/src/insets/insetfloat.C +++ b/src/insets/insetfloat.C @@ -241,7 +241,7 @@ void InsetFloat::read(Buffer const & buf, LyXLex & lex) void InsetFloat::validate(LaTeXFeatures & features) const { - if (contains(params_.placement, "H")) { + if (contains(params_.placement, 'H')) { features.require("float"); } @@ -356,7 +356,7 @@ int InsetFloat::docbook(Buffer const & buf, ostream & os, bool InsetFloat::insetAllowed(InsetOld::Code code) const { return code != InsetOld::FLOAT_CODE - && code != InsetOld::FOOT_CODE + && code != InsetOld::FOOT_CODE && code != InsetOld::MARGIN_CODE; } diff --git a/src/insets/insetlatexaccent.C b/src/insets/insetlatexaccent.C index 2929970213..02fed3d417 100644 --- a/src/insets/insetlatexaccent.C +++ b/src/insets/insetlatexaccent.C @@ -68,7 +68,7 @@ void InsetLatexAccent::checkContents() // REMOVE IN 0.13 // Dirty Hack for backward compability. remove in 0.13 (Lgb) contents = trim(contents); - if (!contains(contents, "{") && !contains(contents, "}")) { + if (!contains(contents, '{') && !contains(contents, '}')) { if (contents.length() == 2) { string tmp; tmp += contents[0]; diff --git a/src/support/ChangeLog b/src/support/ChangeLog index 8e7e356f77..1047ccd03d 100644 --- a/src/support/ChangeLog +++ b/src/support/ChangeLog @@ -1,10 +1,17 @@ +2004-02-01 Lars Gullik Bjonnes + + * lstrings.h (contains_functor): delete + (contains): change into template, simplify + + * lstrings.C (contains): remove both functions + 2004-01-31 Lars Gullik Bjonnes * lyxalgo.h (eliminate_duplicates): reimplement with sort and the unique-erase idom. * lstrings.h (contains_functor): inherit from - std::binary_function, remove typedefs. + std::binary_function, remove typedefs. 2004-01-28 Lars Gullik Bjonnes diff --git a/src/support/lstrings.C b/src/support/lstrings.C index 337b128a2d..c4182fb5a1 100644 --- a/src/support/lstrings.C +++ b/src/support/lstrings.C @@ -324,22 +324,6 @@ bool suffixIs(string const & a, string const & suf) } -bool contains(string const & a, string const & b) -{ - if (a.empty()) - return false; - return a.find(b) != string::npos; -} - - -bool contains(string const & a, char b) -{ - if (a.empty()) - return false; - return a.find(b) != string::npos; -} - - bool containsOnly(string const & s, string const & cset) { return s.find_first_not_of(cset) == string::npos; diff --git a/src/support/lstrings.h b/src/support/lstrings.h index 7101f24a88..7d371266e3 100644 --- a/src/support/lstrings.h +++ b/src/support/lstrings.h @@ -97,22 +97,11 @@ bool suffixIs(std::string const &, char); bool suffixIs(std::string const &, std::string const &); /// -bool contains(std::string const & a, std::string const & b); - -/// -bool contains(std::string const & a, char b); - -/// This should probably we rewritten to be more general. -struct contains_functor - : public std::binary_function +template +bool contains(std::string const & a, B b) { - bool operator()(std::string const & haystack, - std::string const & needle) const - { - return contains(haystack, needle); - } -}; - + return a.find(b) != std::string::npos; +} /// bool containsOnly(std::string const &, std::string const &); diff --git a/src/tex2lyx/ChangeLog b/src/tex2lyx/ChangeLog index b3da5fbbb1..4d3f03544f 100644 --- a/src/tex2lyx/ChangeLog +++ b/src/tex2lyx/ChangeLog @@ -1,3 +1,7 @@ +2004-02-01 Lars Gullik Bjonnes + + * text.C (parse_box): "\\" -> '\\' in calls to contains. + 2004-01-07 Lars Gullik Bjonnes * text.C: reorder the using statements. diff --git a/src/tex2lyx/text.C b/src/tex2lyx/text.C index 543fe707fe..64c3dda4e4 100644 --- a/src/tex2lyx/text.C +++ b/src/tex2lyx/text.C @@ -445,7 +445,7 @@ void parse_box(Parser & p, ostream & os, unsigned flags, bool outer, string width_unit; string const latex_width = p.verbatim_item(); translate_len(latex_width, width_value, width_unit); - if (contains(width_unit, "\\") || contains(height_unit, "\\")) { + if (contains(width_unit, '\\') || contains(height_unit, '\\')) { // LyX can't handle length variables ostringstream ss; if (use_parbox) diff --git a/src/vc-backend.C b/src/vc-backend.C index 414c8e4d9f..99bcd4fa46 100644 --- a/src/vc-backend.C +++ b/src/vc-backend.C @@ -134,7 +134,7 @@ void RCS::scanMaster() // nothing } else if (contains(token, "locks")) { // get locker here - if (contains(token, ";")) { + if (contains(token, ';')) { locker_ = "Unlocked"; vcstatus = UNLOCKED; continue; @@ -153,7 +153,7 @@ void RCS::scanMaster() vcstatus = LOCKED; break; } - } while (!contains(tmpt, ";")); + } while (!contains(tmpt, ';')); } else if (token == "comment") { // we don't need to read any further than this.