X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxtextclasslist.C;h=99c2d94a3acf32b2ae8af998a49ff46cdc9270b0;hb=65ca7003ba47b7348610393a9a0d2d309b4e9702;hp=45a49ad39c1d98522691085a0e9baa9fa66ec60d;hpb=4c6e0fe4226ce3b55d13726977f1e579f17c2ad1;p=lyx.git diff --git a/src/lyxtextclasslist.C b/src/lyxtextclasslist.C index 45a49ad39c..99c2d94a3a 100644 --- a/src/lyxtextclasslist.C +++ b/src/lyxtextclasslist.C @@ -16,23 +16,27 @@ #include "debug.h" #include "lyxlex.h" -#include "support/lyxfunctional.h" #include "support/filetools.h" +#include -using namespace lyx::support; +using lyx::textclass_type; + +using lyx::support::LibFileSearch; +using lyx::support::MakeDisplayPath; + +using boost::bind; #ifndef CXX_GLOBAL_CSTD using std::exit; #endif -using lyx::textclass_type; - using std::endl; +using std::equal_to; using std::find_if; using std::make_pair; using std::sort; - +using std::string; using std::pair; @@ -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,20 @@ LyXTextClassList::operator[](textclass_type textclass) const // used when sorting the textclass list. -class less_textclass_avail_desc { +class less_textclass_avail_desc + : public std::binary_function +{ public: - int operator()(LyXTextClass const & tc1, LyXTextClass const & tc2) { + 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()); } };