/* 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)
};
-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;
- cache.erase(it);
- return tmp;
- }
- return 0;
-}
-
-
class show_text {
public:
show_text(ostream & o) : os(o) {}
};
+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;
+ cache.erase(it);
+ return tmp;
+ }
+ return 0;
+}
+
+
void TextCache::show(ostream & os, string const & str)
{
os << "TextCache: " << str << endl;
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 const & vt) const{
- if (vt.first == buf) return true;
- return false;
- }
-private:
- Buffer const * buf;
-};
-
-
void TextCache::removeAllWithBuffer(Buffer * buf)
{
cache.erase(buf);