X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FTextCache.C;h=31f97029f08e170bebeb43cca037eeccd2fb2868;hb=1b0cfa4381f8efa0f724bfc661c108d73242d1d6;hp=52645966f41ca9882b8bbee400de8e0f8bd8e5de;hpb=6bba977f42b0cde753ac2ffd26f3f9c6b32ba0b6;p=lyx.git diff --git a/src/TextCache.C b/src/TextCache.C index 52645966f4..31f97029f0 100644 --- a/src/TextCache.C +++ b/src/TextCache.C @@ -1,11 +1,11 @@ /* This file is part of - * ====================================================== - * - * LyX, The Document Processor + * ====================================================== + * + * LyX, The Document Processor * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team + * Copyright 1995-2001 The LyX Team * - * This file is Copyright 2000 + * This file is Copyright 2000-2001 * Lars Gullik Bjønnes * * ====================================================== */ @@ -16,11 +16,12 @@ #pragma implementation #endif -#include - #include "TextCache.h" #include "buffer.h" #include "bufferlist.h" +#include "debug.h" + +#include using std::ostream; using std::for_each; @@ -31,11 +32,13 @@ using std::make_pair; extern BufferList bufferlist; +namespace { + class text_fits { public: text_fits(Buffer * b, int p) : buf(b), pw(p) {} - bool operator()(TextCache::value_type & vt) { + bool operator()(TextCache::value_type const & vt) const { if (vt.first == buf && vt.second.first == pw) return true; return false; @@ -46,12 +49,34 @@ private: }; +class show_text { +public: + show_text(ostream & o) : os(o) {} + void operator()(TextCache::value_type const & vt) { + os << "\tBuffer: " << vt.first + << "\tWidth: " << vt.second.first << endl; + } +private: + ostream & os; +}; + + +class delete_text { +public: + void operator()(TextCache::value_type & vt) { + delete vt.second.second; + } +}; + +} // namespace anon + + LyXText * TextCache::findFit(Buffer * b, int p) { Cache::iterator it = find_if(cache.begin(), cache.end(), text_fits(b, p)); if (it != cache.end()) { - LyXText * tmp = (*it).second.second; + LyXText * tmp = it->second.second; cache.erase(it); return tmp; } @@ -59,17 +84,6 @@ LyXText * TextCache::findFit(Buffer * b, int p) } -class show_text { -public: - show_text(ostream & o) : os(o) {} - void operator()(TextCache::value_type const & vt) { - os << "\tBuffer: " << vt.first - << "\tWidth: " << vt.second.first << endl; - } -private: - ostream & os; -}; - void TextCache::show(ostream & os, string const & str) { os << "TextCache: " << str << endl; @@ -84,27 +98,19 @@ void TextCache::show(ostream & os, TextCache::value_type const & vt) } -void TextCache::add(Buffer *buf, int workwidth, LyXText * text) +void TextCache::add(Buffer * buf, int workwidth, LyXText * text) { - lyxerr.debug() << "TextCache::add " << text; + lyxerr[Debug::INFO] << "TextCache::add " << text; if (bufferlist.isLoaded(buf)) { cache[buf] = make_pair(workwidth, text); - lyxerr.debug() << " added" << endl; + lyxerr[Debug::INFO] << " added" << endl; } else { delete text; - lyxerr.debug() << " deleted" << endl; + lyxerr[Debug::INFO] << " deleted" << endl; } } -class delete_text { -public: - void operator()(TextCache::value_type & vt) { - delete vt.second.second; - } -}; - - void TextCache::clear() { for_each(cache.begin(), cache.end(), delete_text()); @@ -112,19 +118,6 @@ void TextCache::clear() } -class has_buffer { -public: - has_buffer(Buffer * b) - : buf(b) {} - bool operator()(TextCache::value_type & vt) { - if (vt.first == buf) return true; - return false; - } -private: - Buffer const * buf; -}; - - void TextCache::removeAllWithBuffer(Buffer * buf) { cache.erase(buf);