X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxtextclasslist.C;h=fcff9b4e4614abb42d64a753d7f18ec9a80231e2;hb=37e82a546392d43f787826b85481a11f2a27af15;hp=71e7d1b23ee8609d37ada39ee83f2e60c7bc6f4e;hpb=fc7c77587f85368b5ef86d75fe4c202c1f58a158;p=lyx.git diff --git a/src/lyxtextclasslist.C b/src/lyxtextclasslist.C index 71e7d1b23e..fcff9b4e46 100644 --- a/src/lyxtextclasslist.C +++ b/src/lyxtextclasslist.C @@ -1,12 +1,12 @@ -/* This file is part of - * ====================================================== +/** + * \file lyxtextclasslist.C + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * LyX, The Document Processor + * \author Lars Gullik Bjønnes + * \author John Levon * - * Copyright 1995 Matthias Ettrich - * Copyright 1995-2001 The LyX Team. - * - * ====================================================== + * Full author contact details are available in file CREDITS. */ #include @@ -15,25 +15,29 @@ #include "lyxtextclass.h" #include "debug.h" #include "lyxlex.h" -#include "gettext.h" -#include "frontends/Alert.h" -#include "support/lyxfunctional.h" -#include "support/LAssert.h" #include "support/filetools.h" -#include +#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 lyx::textclass_type; -using std::pair; -using std::make_pair; using std::endl; +using std::equal_to; using std::find_if; +using std::make_pair; using std::sort; +using std::string; +using std::pair; // Gets textclass number from name @@ -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()); } }; @@ -159,10 +169,11 @@ bool LyXTextClassList::Read() // Global variable: textclass table. LyXTextClassList textclasslist; + // Reads the style files void LyXSetStyle() { - lyxerr[Debug::TCLASS] << "LyXSetStyle: parsing configuration...\n"; + lyxerr[Debug::TCLASS] << "LyXSetStyle: parsing configuration..." << endl; if (!textclasslist.Read()) { lyxerr[Debug::TCLASS] << "LyXSetStyle: an error occured "