- /** The cache contains one item per file, so use a map to find the
- * cache item quickly by filename.
- * Note that each cache item can have multiple views, potentially one
- * per inset that references the original file.
- */
- typedef std::map<string, GraphicPtr> CacheType;
-
- /** Store a pointer to the cache so that we can forward declare
- * GCacheItem.
- */
- CacheType * cache;
+ /// Use the Pimpl idiom to hide the internals.
+ class Impl;
+ /// The pointer never changes although *pimpl_'s contents may.
+ Impl * const pimpl_;