/* 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
*
* ====================================================== */
#pragma implementation
#endif
-#include <algorithm>
-
#include "TextCache.h"
#include "buffer.h"
#include "bufferlist.h"
+#include "debug.h"
+
+#include <algorithm>
using std::ostream;
using std::for_each;
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;
};
+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;
}
}
-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;
}
-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());
}
-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);