aboutsummaryrefslogtreecommitdiff
path: root/paludis/repositories/e/ebuild_flat_metadata_cache.hh
diff options
context:
space:
mode:
authorAvatar David Leverton <levertond@googlemail.com> 2008-08-12 19:25:21 +0100
committerAvatar David Leverton <levertond@googlemail.com> 2008-08-16 21:43:31 +0100
commit767fb3805f9629ebc36888a35023eda943089819 (patch)
tree99f37ccbbd138ea72ea435b4005b57e5aa9698db /paludis/repositories/e/ebuild_flat_metadata_cache.hh
parent9035495cebefab9829c69d8abea3caf0e8b6ff2b (diff)
downloadpaludis-767fb3805f9629ebc36888a35023eda943089819.tar.gz
paludis-767fb3805f9629ebc36888a35023eda943089819.tar.xz
Support for Portage's flat_hash cache format. Fixes: ticket:630
Use flat_hash for the write_cache, and drop flat_list support for non-Gentoo EAPIs.
Diffstat (limited to 'paludis/repositories/e/ebuild_flat_metadata_cache.hh')
-rw-r--r--paludis/repositories/e/ebuild_flat_metadata_cache.hh21
1 files changed, 10 insertions, 11 deletions
diff --git a/paludis/repositories/e/ebuild_flat_metadata_cache.hh b/paludis/repositories/e/ebuild_flat_metadata_cache.hh
index 85ebf9f2c..88f6b52ae 100644
--- a/paludis/repositories/e/ebuild_flat_metadata_cache.hh
+++ b/paludis/repositories/e/ebuild_flat_metadata_cache.hh
@@ -24,36 +24,31 @@
#include <paludis/repositories/e/ebuild_id.hh>
#include <paludis/util/fs_entry.hh>
#include <paludis/repositories/e/eclass_mtimes.hh>
+#include <paludis/util/private_implementation_pattern.hh>
namespace paludis
{
namespace erepository
{
/**
- * Implements flat file metadata cache handling for a ERepository
- * using EbuildEntries.
+ * Implements metadata cache handling for a ERepository using
+ * EbuildEntries.
*
* \see EbuildEntries
* \see ERepository
* \ingroup grperepository
* \nosubgrouping
*/
- class EbuildFlatMetadataCache
+ class EbuildFlatMetadataCache :
+ private PrivateImplementationPattern<EbuildFlatMetadataCache>
{
- private:
- const Environment * const _env;
- const FSEntry & _filename;
- const FSEntry & _ebuild;
- time_t _master_mtime;
- std::tr1::shared_ptr<const EclassMtimes> _eclass_mtimes;
- bool _silent;
-
public:
///\name Basic operations
///\{
EbuildFlatMetadataCache(const Environment * const, const FSEntry & filename, const FSEntry & ebuild,
time_t master_mtime, std::tr1::shared_ptr<const EclassMtimes> eclass_mtimes, bool silent);
+ ~EbuildFlatMetadataCache();
///\}
@@ -66,6 +61,10 @@ namespace paludis
///\}
};
}
+
+#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
+ extern template class PrivateImplementationPattern<erepository::EbuildFlatMetadataCache>;
+#endif
}
#endif