]> git.lyx.org Git - lyx.git/blobdiff - src/graphics/GraphicsCache.h
Run codespell on tex2lyx/, client/, convert/ and graphics/
[lyx.git] / src / graphics / GraphicsCache.h
index ca4d02977679a7a34b0656f2c516f7df13a71395..0fd1dd0102a1945eb990c32140f79d7a4c2a2018 100644 (file)
@@ -1,36 +1,39 @@
 // -*- C++ -*-
 /**
- *  \file GraphicsCache.h
+ * \file GraphicsCache.h
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
  * \author Baruch Even
  * \author Angus Leeming
  *
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
  *
- *  grfx::Cache is the manager of the image cache.
- *  It is responsible for creating the grfx::CacheItem's and maintaining them.
+ * lyx::graphics::Cache is the manager of the image cache.
+ * It is responsible for creating the lyx::graphics::CacheItem's
+ * and maintaining them.
  *
- *  grfx::Cache is a singleton class. It is possible to have only one
- *  instance of it at any moment.
+ * lyx::graphics::Cache is a singleton class. It is possible to have only one
+ * instance of it at any moment.
  */
 
 #ifndef GRAPHICSCACHE_H
 #define GRAPHICSCACHE_H
 
-#include "LString.h"
+#include <memory>
+#include <string>
 #include <vector>
-#include <boost/utility.hpp>
-#include <boost/scoped_ptr.hpp>
-#include <boost/shared_ptr.hpp>
 
 
-namespace grfx {
+namespace lyx {
+
+namespace support { class FileName; }
+
+namespace graphics {
 
 class CacheItem;
 
-class Cache : boost::noncopyable {
+class Cache {
 public:
 
        /// This is a singleton class. Get the instance.
@@ -40,32 +43,36 @@ public:
         *  Other formats can be loaded if a converter to a loadable format
         *  can be defined.
         */
-       std::vector<string> loadableFormats() const;
+       std::vector<std::string> const & loadableFormats() const;
 
        /// Add a graphics file to the cache.
-       void add(string const & file) const;
+       void add(support::FileName const & file, support::FileName const & doc_file) const;
 
        /// Remove a file from the cache.
-       void remove(string const & file) const;
+       void remove(support::FileName const & file) const;
 
        /// Returns \c true if the file is in the cache.
-       bool inCache(string const & file) const;
+       bool inCache(support::FileName const & file) const;
 
        /** Get the cache item associated with file.
         *  Returns an empty container if there is no such item.
         *
         *  IMPORTANT: whatever uses an image must make a local copy of this
-        *  ItemPtr. The boost::shared_ptr<>::use_count() function is
+        *  ItemPtr. The shared_ptr<>::use_count() function is
         *  used to ascertain whether or not to remove the item from the cache
         *  when remove(file) is called.
         *
         *  You have been warned!
         */
-       typedef boost::shared_ptr<CacheItem> ItemPtr;
+       typedef std::shared_ptr<CacheItem> ItemPtr;
        ///
-       ItemPtr const item(string const & file) const;
+       ItemPtr const item(support::FileName const & file) const;
 
 private:
+       /// noncopyable
+       Cache(Cache const &);
+       void operator=(Cache const &);
+
        /** Make the c-tor, d-tor private so we can control how many objects
         *  are instantiated.
         */
@@ -76,9 +83,10 @@ 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 grfx
+} // namespace graphics
+} // namespace lyx
 
 #endif // GRAPHICSCACHE_H