X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxtextclasslist.C;h=fcff9b4e4614abb42d64a753d7f18ec9a80231e2;hb=37e82a546392d43f787826b85481a11f2a27af15;hp=98339a046a3446cb898384a69ee1de774f4981a4;hpb=44cd0fc9a1687cc63911c7f98d978594458e7813;p=lyx.git diff --git a/src/lyxtextclasslist.C b/src/lyxtextclasslist.C index 98339a046a..fcff9b4e46 100644 --- a/src/lyxtextclasslist.C +++ b/src/lyxtextclasslist.C @@ -16,19 +16,23 @@ #include "debug.h" #include "lyxlex.h" -#include "support/lyxfunctional.h" #include "support/filetools.h" +#include + using lyx::textclass_type; using lyx::support::LibFileSearch; using lyx::support::MakeDisplayPath; +using boost::bind; + #ifndef CXX_GLOBAL_CSTD using std::exit; #endif using std::endl; +using std::equal_to; using std::find_if; using std::make_pair; using std::sort; @@ -42,7 +46,10 @@ LyXTextClassList::NumberOfClass(string const & textclass) const { ClassList::const_iterator cit = find_if(classlist_.begin(), classlist_.end(), - lyx::compare_memfun(&LyXTextClass::name, textclass)); + bind(equal_to(), + bind(&LyXTextClass::name, _1), + textclass)); + return cit != classlist_.end() ? make_pair(true, textclass_type(cit - classlist_.begin())) : make_pair(false, textclass_type(0)); @@ -62,16 +69,19 @@ LyXTextClassList::operator[](textclass_type textclass) const // used when sorting the textclass list. -class less_textclass_avail_desc { -public: - int operator()(LyXTextClass const & tc1, LyXTextClass const & tc2) { +struct less_textclass_avail_desc + : public std::binary_function +{ + int operator()(LyXTextClass const & tc1, + LyXTextClass const & tc2) const + { // Ordering criteria: // 1. Availability of text class // 2. Description (lexicographic) return (tc1.isTeXClassAvailable() && !tc2.isTeXClassAvailable()) || - (tc1.isTeXClassAvailable() == tc2.isTeXClassAvailable() && - tc1.description() < tc2.description()); + (tc1.isTeXClassAvailable() == tc2.isTeXClassAvailable() && + tc1.description() < tc2.description()); } };