]> git.lyx.org Git - lyx.git/blobdiff - src/ConverterCache.h
Avoid full metrics computation with Update:FitCursor
[lyx.git] / src / ConverterCache.h
index ccbc1befc64fcccf38e553696e31bb7aa86d2b9b..72afe293e5ae515a287d6952534a15bde6762396 100644 (file)
  *
  * Full author contact details are available in file CREDITS.
  *
- * lyx::ConverterCache is the manager of the file cache.
- * It is responsible for creating the lyx::ConverterCacheItem's
+ * ConverterCache is the manager of the file cache.
+ * It is responsible for creating the ConverterCacheItem's
  * and maintaining them.
  *
- * lyx::ConverterCache is a singleton class. It is possible to have
+ * ConverterCache is a singleton class. It is possible to have
  * only one instance of it at any moment.
  */
 
 #ifndef CONVERTERCACHE_H
 #define CONVERTERCACHE_H
 
-#include <boost/noncopyable.hpp>
-#include <boost/scoped_ptr.hpp>
-
-#include <string>
+#include "support/strfwd.h"
 
 
 namespace lyx {
@@ -49,7 +46,7 @@ namespace support { class FileName; }
  *
  * There is no cache maintenance yet (max size, max age etc.)
  */
-class ConverterCache : boost::noncopyable {
+class ConverterCache {
 public:
 
        /// This is a singleton class. Get the instance.
@@ -58,6 +55,9 @@ public:
        /// Init the cache. This must be done after package initialization.
        static void init();
 
+       /// Writes the index list. This must be called on exit.
+       void writeIndex() const;
+
        /**
         * Add \c converted_file (\c orig_from converted to \c to_format) to
         * the cache if it is not already in or not up to date.
@@ -89,6 +89,10 @@ public:
                  support::FileName const & dest) const;
 
 private:
+       /// noncopyable
+       ConverterCache(ConverterCache const &);
+       void operator=(ConverterCache const &);
+
        /** Make the c-tor, d-tor private so we can control how many objects
         *  are instantiated.
         */
@@ -99,7 +103,7 @@ private:
        /// Use the Pimpl idiom to hide the internals.
        class Impl;
        /// The pointer never changes although *pimpl_'s contents may.
-       boost::scoped_ptr<Impl> const pimpl_;
+       Impl * const pimpl_;
 };
 
 } // namespace lyx