aboutsummaryrefslogtreecommitdiff
path: root/paludis/repositories/e
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2011-01-09 10:23:12 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2011-01-09 10:23:12 +0000
commit7a2c9e974666881f44406c88189ae546a67ff0b7 (patch)
treef6846da02bf779a262f58e5042f3fa1bbf7415d3 /paludis/repositories/e
parent7f7c79fcc67df4fae498ca943e36592d3f7a3ad2 (diff)
downloadpaludis-7a2c9e974666881f44406c88189ae546a67ff0b7.tar.gz
paludis-7a2c9e974666881f44406c88189ae546a67ff0b7.tar.xz
Rework Pimp to avoid ImpPtr ickiness
Fixes: ticket:1070
Diffstat (limited to 'paludis/repositories/e')
-rw-r--r--paludis/repositories/e/aa_visitor.cc2
-rw-r--r--paludis/repositories/e/aa_visitor.hh6
-rw-r--r--paludis/repositories/e/check_fetched_files_visitor.cc4
-rw-r--r--paludis/repositories/e/check_fetched_files_visitor.hh7
-rw-r--r--paludis/repositories/e/dependencies_rewriter.cc4
-rw-r--r--paludis/repositories/e/dependencies_rewriter.hh8
-rw-r--r--paludis/repositories/e/e_choices_key.cc4
-rw-r--r--paludis/repositories/e/e_choices_key.hh7
-rw-r--r--paludis/repositories/e/e_installed_repository.cc5
-rw-r--r--paludis/repositories/e/e_installed_repository.hh7
-rw-r--r--paludis/repositories/e/e_installed_repository_id.cc7
-rw-r--r--paludis/repositories/e/e_installed_repository_id.hh7
-rw-r--r--paludis/repositories/e/e_key.cc20
-rw-r--r--paludis/repositories/e/e_key.hh60
-rw-r--r--paludis/repositories/e/e_keywords_key.cc2
-rw-r--r--paludis/repositories/e/e_keywords_key.hh3
-rw-r--r--paludis/repositories/e/e_mask.cc8
-rw-r--r--paludis/repositories/e/e_mask.hh20
-rw-r--r--paludis/repositories/e/e_repository.cc5
-rw-r--r--paludis/repositories/e/e_repository.hh8
-rw-r--r--paludis/repositories/e/e_repository_mask_file.cc2
-rw-r--r--paludis/repositories/e/e_repository_mask_file.hh6
-rw-r--r--paludis/repositories/e/e_repository_news.cc4
-rw-r--r--paludis/repositories/e/e_repository_news.hh14
-rw-r--r--paludis/repositories/e/e_repository_sets.cc4
-rw-r--r--paludis/repositories/e/e_repository_sets.hh8
-rw-r--r--paludis/repositories/e/e_slot_key.cc4
-rw-r--r--paludis/repositories/e/e_slot_key.hh5
-rw-r--r--paludis/repositories/e/e_string_set_key.cc2
-rw-r--r--paludis/repositories/e/e_string_set_key.hh3
-rw-r--r--paludis/repositories/e/e_stripper.cc5
-rw-r--r--paludis/repositories/e/e_stripper.hh7
-rw-r--r--paludis/repositories/e/eapi.cc8
-rw-r--r--paludis/repositories/e/eapi.hh11
-rw-r--r--paludis/repositories/e/eapi_phase.cc6
-rw-r--r--paludis/repositories/e/eapi_phase.hh14
-rw-r--r--paludis/repositories/e/ebuild_flat_metadata_cache.cc2
-rw-r--r--paludis/repositories/e/ebuild_flat_metadata_cache.hh8
-rw-r--r--paludis/repositories/e/ebuild_id.cc5
-rw-r--r--paludis/repositories/e/ebuild_id.hh5
-rw-r--r--paludis/repositories/e/eclass_mtimes.cc4
-rw-r--r--paludis/repositories/e/eclass_mtimes.hh8
-rw-r--r--paludis/repositories/e/exheres_layout.cc4
-rw-r--r--paludis/repositories/e/exheres_layout.hh7
-rw-r--r--paludis/repositories/e/exheres_profile.cc2
-rw-r--r--paludis/repositories/e/exheres_profile.hh5
-rw-r--r--paludis/repositories/e/exndbam_repository.cc3
-rw-r--r--paludis/repositories/e/exndbam_repository.hh8
-rw-r--r--paludis/repositories/e/fetch_visitor.cc4
-rw-r--r--paludis/repositories/e/fetch_visitor.hh8
-rw-r--r--paludis/repositories/e/glsa.cc6
-rw-r--r--paludis/repositories/e/glsa.hh14
-rw-r--r--paludis/repositories/e/info_metadata_key.cc5
-rw-r--r--paludis/repositories/e/info_metadata_key.hh11
-rw-r--r--paludis/repositories/e/manifest2_reader.cc2
-rw-r--r--paludis/repositories/e/manifest2_reader.hh6
-rw-r--r--paludis/repositories/e/memoised_hashes.cc2
-rw-r--r--paludis/repositories/e/memoised_hashes.hh5
-rw-r--r--paludis/repositories/e/metadata_xml.cc4
-rw-r--r--paludis/repositories/e/metadata_xml.hh5
-rw-r--r--paludis/repositories/e/myoptions_requirements_verifier.cc4
-rw-r--r--paludis/repositories/e/myoptions_requirements_verifier.hh7
-rw-r--r--paludis/repositories/e/pbin_merger.cc5
-rw-r--r--paludis/repositories/e/pbin_merger.hh5
-rw-r--r--paludis/repositories/e/pretend_fetch_visitor.cc4
-rw-r--r--paludis/repositories/e/pretend_fetch_visitor.hh8
-rw-r--r--paludis/repositories/e/profile_file.cc4
-rw-r--r--paludis/repositories/e/profile_file.hh8
-rw-r--r--paludis/repositories/e/required_use_verifier.cc4
-rw-r--r--paludis/repositories/e/required_use_verifier.hh7
-rw-r--r--paludis/repositories/e/source_uri_finder.cc4
-rw-r--r--paludis/repositories/e/source_uri_finder.hh7
-rw-r--r--paludis/repositories/e/spec_tree_pretty_printer.cc4
-rw-r--r--paludis/repositories/e/spec_tree_pretty_printer.hh7
-rw-r--r--paludis/repositories/e/traditional_layout.cc4
-rw-r--r--paludis/repositories/e/traditional_layout.hh7
-rw-r--r--paludis/repositories/e/traditional_profile.cc2
-rw-r--r--paludis/repositories/e/traditional_profile.hh6
-rw-r--r--paludis/repositories/e/use_desc.cc4
-rw-r--r--paludis/repositories/e/use_desc.hh8
-rw-r--r--paludis/repositories/e/vdb_merger.cc5
-rw-r--r--paludis/repositories/e/vdb_merger.hh7
-rw-r--r--paludis/repositories/e/vdb_repository.cc3
-rw-r--r--paludis/repositories/e/vdb_repository.hh8
-rw-r--r--paludis/repositories/e/vdb_unmerger.cc5
-rw-r--r--paludis/repositories/e/vdb_unmerger.hh7
-rw-r--r--paludis/repositories/e/xml_things_handle.cc4
-rw-r--r--paludis/repositories/e/xml_things_handle.hh5
88 files changed, 323 insertions, 260 deletions
diff --git a/paludis/repositories/e/aa_visitor.cc b/paludis/repositories/e/aa_visitor.cc
index e1b404891..14f5b168d 100644
--- a/paludis/repositories/e/aa_visitor.cc
+++ b/paludis/repositories/e/aa_visitor.cc
@@ -51,7 +51,7 @@ namespace paludis
}
AAVisitor::AAVisitor() :
- Pimp<AAVisitor>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/aa_visitor.hh b/paludis/repositories/e/aa_visitor.hh
index 1dec5cc8d..2a87a7d27 100644
--- a/paludis/repositories/e/aa_visitor.hh
+++ b/paludis/repositories/e/aa_visitor.hh
@@ -41,9 +41,11 @@ namespace paludis
*
* \ingroup grpaavisitor
*/
- class PALUDIS_VISIBLE AAVisitor :
- private Pimp<AAVisitor>
+ class PALUDIS_VISIBLE AAVisitor
{
+ private:
+ Pimp<AAVisitor> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/check_fetched_files_visitor.cc b/paludis/repositories/e/check_fetched_files_visitor.cc
index a95db2d20..94f436569 100644
--- a/paludis/repositories/e/check_fetched_files_visitor.cc
+++ b/paludis/repositories/e/check_fetched_files_visitor.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -118,7 +118,7 @@ CheckFetchedFilesVisitor::CheckFetchedFilesVisitor(
const bool x,
const bool u,
const bool nm) :
- Pimp<CheckFetchedFilesVisitor>(e, i, d, c, n, m2, um, md, x, u, nm)
+ _imp(e, i, d, c, n, m2, um, md, x, u, nm)
{
}
diff --git a/paludis/repositories/e/check_fetched_files_visitor.hh b/paludis/repositories/e/check_fetched_files_visitor.hh
index 6e96b6706..72792fd5b 100644
--- a/paludis/repositories/e/check_fetched_files_visitor.hh
+++ b/paludis/repositories/e/check_fetched_files_visitor.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,10 +35,11 @@ namespace paludis
{
namespace erepository
{
- class PALUDIS_VISIBLE CheckFetchedFilesVisitor :
- private Pimp<CheckFetchedFilesVisitor>
+ class PALUDIS_VISIBLE CheckFetchedFilesVisitor
{
private:
+ Pimp<CheckFetchedFilesVisitor> _imp;
+
bool check_distfile_manifest(const FSPath & distfile);
public:
diff --git a/paludis/repositories/e/dependencies_rewriter.cc b/paludis/repositories/e/dependencies_rewriter.cc
index 4264f940a..ceb5e76cb 100644
--- a/paludis/repositories/e/dependencies_rewriter.cc
+++ b/paludis/repositories/e/dependencies_rewriter.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -90,7 +90,7 @@ namespace paludis
}
DependenciesRewriter::DependenciesRewriter() :
- Pimp<DependenciesRewriter>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/dependencies_rewriter.hh b/paludis/repositories/e/dependencies_rewriter.hh
index f2f0c71f4..9996e14b9 100644
--- a/paludis/repositories/e/dependencies_rewriter.hh
+++ b/paludis/repositories/e/dependencies_rewriter.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -28,9 +28,11 @@ namespace paludis
{
namespace erepository
{
- class DependenciesRewriter :
- private Pimp<DependenciesRewriter>
+ class DependenciesRewriter
{
+ private:
+ Pimp<DependenciesRewriter> _imp;
+
public:
DependenciesRewriter();
~DependenciesRewriter();
diff --git a/paludis/repositories/e/e_choices_key.cc b/paludis/repositories/e/e_choices_key.cc
index 10da64351..89635a490 100644
--- a/paludis/repositories/e/e_choices_key.cc
+++ b/paludis/repositories/e/e_choices_key.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -92,7 +92,7 @@ EChoicesKey::EChoicesKey(
const std::string & r, const std::string & h, const MetadataKeyType t,
const std::shared_ptr<const ERepository> & p,
const std::shared_ptr<const Map<ChoiceNameWithPrefix, std::string> > & d) :
- Pimp<EChoicesKey>(e, i, p, d, r, h, t)
+ _imp(e, i, p, d, r, h, t)
{
}
diff --git a/paludis/repositories/e/e_choices_key.hh b/paludis/repositories/e/e_choices_key.hh
index 00e921e2e..1cbd48e4d 100644
--- a/paludis/repositories/e/e_choices_key.hh
+++ b/paludis/repositories/e/e_choices_key.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,10 +34,11 @@ namespace paludis
class ERepositoryID;
class EChoicesKey :
- public MetadataValueKey<std::shared_ptr<const Choices> >,
- private Pimp<EChoicesKey>
+ public MetadataValueKey<std::shared_ptr<const Choices> >
{
private:
+ Pimp<EChoicesKey> _imp;
+
void populate_iuse() const;
void populate_myoptions() const;
diff --git a/paludis/repositories/e/e_installed_repository.cc b/paludis/repositories/e/e_installed_repository.cc
index 8bd29ab40..fda8d2247 100644
--- a/paludis/repositories/e/e_installed_repository.cc
+++ b/paludis/repositories/e/e_installed_repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -75,8 +75,7 @@ namespace paludis
EInstalledRepository::EInstalledRepository(const EInstalledRepositoryParams & p,
const RepositoryName & n, const RepositoryCapabilities & c) :
Repository(p.environment(), n, c),
- Pimp<EInstalledRepository>(p),
- _imp(Pimp<EInstalledRepository>::_imp)
+ _imp(p)
{
}
diff --git a/paludis/repositories/e/e_installed_repository.hh b/paludis/repositories/e/e_installed_repository.hh
index a0c47362a..36df43dcf 100644
--- a/paludis/repositories/e/e_installed_repository.hh
+++ b/paludis/repositories/e/e_installed_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -44,11 +44,10 @@ namespace paludis
class EInstalledRepository :
public Repository,
public RepositoryEnvironmentVariableInterface,
- public RepositoryDestinationInterface,
- private Pimp<EInstalledRepository>
+ public RepositoryDestinationInterface
{
private:
- Pimp<EInstalledRepository>::ImpPtr & _imp;
+ Pimp<EInstalledRepository> _imp;
protected:
EInstalledRepository(const EInstalledRepositoryParams &, const RepositoryName &, const RepositoryCapabilities &);
diff --git a/paludis/repositories/e/e_installed_repository_id.cc b/paludis/repositories/e/e_installed_repository_id.cc
index 839a81736..e27057236 100644
--- a/paludis/repositories/e/e_installed_repository_id.cc
+++ b/paludis/repositories/e/e_installed_repository_id.cc
@@ -156,8 +156,8 @@ namespace paludis
mutable std::shared_ptr<EInstalledRepositoryIDKeys> keys;
/* fs location and eapi are special */
- std::shared_ptr<const MetadataValueKey<FSPath> > fs_location;
- std::shared_ptr<const EAPI> eapi;
+ mutable std::shared_ptr<const MetadataValueKey<FSPath> > fs_location;
+ mutable std::shared_ptr<const EAPI> eapi;
Imp(const QualifiedPackageName & q, const VersionSpec & v,
const Environment * const e,
@@ -176,8 +176,7 @@ EInstalledRepositoryID::EInstalledRepositoryID(const QualifiedPackageName & q, c
const Environment * const e,
const RepositoryName & r,
const FSPath & f) :
- Pimp<EInstalledRepositoryID>(q, v, e, r, f),
- _imp(Pimp<EInstalledRepositoryID>::_imp)
+ _imp(q, v, e, r, f)
{
}
diff --git a/paludis/repositories/e/e_installed_repository_id.hh b/paludis/repositories/e/e_installed_repository_id.hh
index 330d54640..7d4765f4e 100644
--- a/paludis/repositories/e/e_installed_repository_id.hh
+++ b/paludis/repositories/e/e_installed_repository_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -31,11 +31,10 @@ namespace paludis
{
class EInstalledRepositoryID :
public ERepositoryID,
- public std::enable_shared_from_this<EInstalledRepositoryID>,
- private Pimp<EInstalledRepositoryID>
+ public std::enable_shared_from_this<EInstalledRepositoryID>
{
private:
- Pimp<EInstalledRepositoryID>::ImpPtr & _imp;
+ Pimp<EInstalledRepositoryID> _imp;
protected:
virtual void need_keys_added() const;
diff --git a/paludis/repositories/e/e_key.cc b/paludis/repositories/e/e_key.cc
index 59205a4c4..23cc4536f 100644
--- a/paludis/repositories/e/e_key.cc
+++ b/paludis/repositories/e/e_key.cc
@@ -141,7 +141,7 @@ EDependenciesKey::EDependenciesKey(
const std::shared_ptr<const ERepositoryID> & id,
const std::string & r, const std::string & h, const std::string & v,
const std::shared_ptr<const DependenciesLabelSequence> & l, const MetadataKeyType t) :
- Pimp<EDependenciesKey>(e, id, v, l, r, h, t)
+ _imp(e, id, v, l, r, h, t)
{
}
@@ -229,7 +229,7 @@ ELicenseKey::ELicenseKey(
const std::shared_ptr<const EAPIMetadataVariable> & m,
const std::shared_ptr<const EAPI> & p,
const std::string & v, const MetadataKeyType t) :
- Pimp<ELicenseKey>(e, v, m, p, t)
+ _imp(e, v, m, p, t)
{
}
@@ -308,7 +308,7 @@ namespace paludis
EFetchableURIKey::EFetchableURIKey(const Environment * const e,
const std::shared_ptr<const ERepositoryID> & id,
const std::shared_ptr<const EAPIMetadataVariable> & m, const std::string & v, const MetadataKeyType t) :
- Pimp<EFetchableURIKey>(e, id, m, v, t)
+ _imp(e, id, m, v, t)
{
}
@@ -425,7 +425,7 @@ ESimpleURIKey::ESimpleURIKey(const Environment * const e,
const std::shared_ptr<const EAPIMetadataVariable> & m,
const std::shared_ptr<const EAPI> & p,
const std::string & v, const MetadataKeyType t) :
- Pimp<ESimpleURIKey>(e, v, m, p, t)
+ _imp(e, v, m, p, t)
{
}
@@ -506,7 +506,7 @@ EPlainTextSpecKey::EPlainTextSpecKey(const Environment * const e,
const std::shared_ptr<const EAPIMetadataVariable> & m,
const std::shared_ptr<const EAPI> & p,
const std::string & v, const MetadataKeyType t) :
- Pimp<EPlainTextSpecKey>(e, v, m, p, t)
+ _imp(e, v, m, p, t)
{
}
@@ -589,7 +589,7 @@ EMyOptionsKey::EMyOptionsKey(
const std::shared_ptr<const EAPIMetadataVariable> & m,
const std::shared_ptr<const EAPI> & p,
const std::string & v, const MetadataKeyType t) :
- Pimp<EMyOptionsKey>(e, v, m, p, t)
+ _imp(e, v, m, p, t)
{
}
@@ -671,7 +671,7 @@ ERequiredUseKey::ERequiredUseKey(
const std::shared_ptr<const EAPIMetadataVariable> & m,
const std::shared_ptr<const EAPI> & p,
const std::string & v, const MetadataKeyType t) :
- Pimp<ERequiredUseKey>(e, v, m, p, t)
+ _imp(e, v, m, p, t)
{
}
@@ -753,7 +753,7 @@ EProvideKey::EProvideKey(
const std::shared_ptr<const EAPIMetadataVariable> & m,
const std::shared_ptr<const EAPI> & p,
const std::string & v, const MetadataKeyType t) :
- Pimp<EProvideKey>(e, v, m, p, t)
+ _imp(e, v, m, p, t)
{
}
@@ -825,7 +825,7 @@ namespace paludis
}
EContentsKey::EContentsKey(const std::string & r, const std::string & h, const FSPath & v, const MetadataKeyType t) :
- Pimp<EContentsKey>(v, r, h, t)
+ _imp(v, r, h, t)
{
}
@@ -942,7 +942,7 @@ namespace paludis
}
EMTimeKey::EMTimeKey(const std::string & r, const std::string & h, const FSPath & v, const MetadataKeyType t) :
- Pimp<EMTimeKey>(v, r, h, t)
+ _imp(v, r, h, t)
{
}
diff --git a/paludis/repositories/e/e_key.hh b/paludis/repositories/e/e_key.hh
index 3da58a1dd..13a7265f7 100644
--- a/paludis/repositories/e/e_key.hh
+++ b/paludis/repositories/e/e_key.hh
@@ -58,9 +58,11 @@ namespace paludis
};
class EDependenciesKey :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<EDependenciesKey>
+ public MetadataSpecTreeKey<DependencySpecTree>
{
+ private:
+ Pimp<EDependenciesKey> _imp;
+
public:
EDependenciesKey(
const Environment * const,
@@ -86,9 +88,11 @@ namespace paludis
};
class EFetchableURIKey :
- public MetadataSpecTreeKey<FetchableURISpecTree>,
- private Pimp<EFetchableURIKey>
+ public MetadataSpecTreeKey<FetchableURISpecTree>
{
+ private:
+ Pimp<EFetchableURIKey> _imp;
+
public:
EFetchableURIKey(const Environment * const,
const std::shared_ptr<const ERepositoryID> &,
@@ -113,9 +117,11 @@ namespace paludis
};
class ESimpleURIKey :
- public MetadataSpecTreeKey<SimpleURISpecTree>,
- private Pimp<ESimpleURIKey>
+ public MetadataSpecTreeKey<SimpleURISpecTree>
{
+ private:
+ Pimp<ESimpleURIKey> _imp;
+
public:
ESimpleURIKey(const Environment * const,
const std::shared_ptr<const EAPIMetadataVariable> &,
@@ -136,9 +142,11 @@ namespace paludis
};
class EPlainTextSpecKey :
- public MetadataSpecTreeKey<PlainTextSpecTree>,
- private Pimp<EPlainTextSpecKey>
+ public MetadataSpecTreeKey<PlainTextSpecTree>
{
+ private:
+ Pimp<EPlainTextSpecKey> _imp;
+
public:
EPlainTextSpecKey(const Environment * const,
const std::shared_ptr<const EAPIMetadataVariable> &,
@@ -159,9 +167,11 @@ namespace paludis
};
class EMyOptionsKey :
- public MetadataSpecTreeKey<PlainTextSpecTree>,
- private Pimp<EMyOptionsKey>
+ public MetadataSpecTreeKey<PlainTextSpecTree>
{
+ private:
+ Pimp<EMyOptionsKey> _imp;
+
public:
EMyOptionsKey(const Environment * const,
const std::shared_ptr<const EAPIMetadataVariable> &,
@@ -182,9 +192,11 @@ namespace paludis
};
class ERequiredUseKey :
- public MetadataSpecTreeKey<RequiredUseSpecTree>,
- private Pimp<ERequiredUseKey>
+ public MetadataSpecTreeKey<RequiredUseSpecTree>
{
+ private:
+ Pimp<ERequiredUseKey> _imp;
+
public:
ERequiredUseKey(const Environment * const,
const std::shared_ptr<const EAPIMetadataVariable> &,
@@ -205,9 +217,11 @@ namespace paludis
};
class EProvideKey :
- public MetadataSpecTreeKey<ProvideSpecTree>,
- private Pimp<EProvideKey>
+ public MetadataSpecTreeKey<ProvideSpecTree>
{
+ private:
+ Pimp<EProvideKey> _imp;
+
public:
EProvideKey(const Environment * const,
const std::shared_ptr<const EAPIMetadataVariable> &,
@@ -228,9 +242,11 @@ namespace paludis
};
class ELicenseKey :
- public MetadataSpecTreeKey<LicenseSpecTree>,
- private Pimp<ELicenseKey>
+ public MetadataSpecTreeKey<LicenseSpecTree>
{
+ private:
+ Pimp<ELicenseKey> _imp;
+
public:
ELicenseKey(
const Environment * const,
@@ -252,9 +268,11 @@ namespace paludis
};
class EContentsKey :
- public MetadataValueKey<std::shared_ptr<const Contents> >,
- private Pimp<EContentsKey>
+ public MetadataValueKey<std::shared_ptr<const Contents> >
{
+ private:
+ Pimp<EContentsKey> _imp;
+
public:
EContentsKey(const std::string &, const std::string &, const FSPath &, const MetadataKeyType);
~EContentsKey();
@@ -268,9 +286,11 @@ namespace paludis
};
class EMTimeKey :
- public MetadataTimeKey,
- private Pimp<EMTimeKey>
+ public MetadataTimeKey
{
+ private:
+ Pimp<EMTimeKey> _imp;
+
public:
EMTimeKey(const std::string &, const std::string &, const FSPath &, const MetadataKeyType);
~EMTimeKey();
diff --git a/paludis/repositories/e/e_keywords_key.cc b/paludis/repositories/e/e_keywords_key.cc
index 71d05cfbc..65e4f48f4 100644
--- a/paludis/repositories/e/e_keywords_key.cc
+++ b/paludis/repositories/e/e_keywords_key.cc
@@ -137,7 +137,7 @@ namespace paludis
}
EKeywordsKeyStore::EKeywordsKeyStore() :
- Pimp<EKeywordsKeyStore>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/e_keywords_key.hh b/paludis/repositories/e/e_keywords_key.hh
index f839f2eaa..44218baf4 100644
--- a/paludis/repositories/e/e_keywords_key.hh
+++ b/paludis/repositories/e/e_keywords_key.hh
@@ -29,12 +29,13 @@ namespace paludis
namespace erepository
{
class EKeywordsKeyStore :
- private Pimp<EKeywordsKeyStore>,
public Singleton<EKeywordsKeyStore>
{
friend class Singleton<EKeywordsKeyStore>;
private:
+ Pimp<EKeywordsKeyStore> _imp;
+
EKeywordsKeyStore();
~EKeywordsKeyStore();
diff --git a/paludis/repositories/e/e_mask.cc b/paludis/repositories/e/e_mask.cc
index e25c1f3c3..a2f987811 100644
--- a/paludis/repositories/e/e_mask.cc
+++ b/paludis/repositories/e/e_mask.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -42,7 +42,7 @@ namespace paludis
}
EUnacceptedMask::EUnacceptedMask(const char k, const std::string & d, const std::shared_ptr<const MetadataKey> & u) :
- Pimp<EUnacceptedMask>(k, d, u)
+ _imp(k, d, u)
{
}
@@ -87,7 +87,7 @@ namespace paludis
}
EUnsupportedMask::EUnsupportedMask(const char k, const std::string & d, const std::string & n) :
- Pimp<EUnsupportedMask>(k, d, n)
+ _imp(k, d, n)
{
}
@@ -134,7 +134,7 @@ namespace paludis
}
ERepositoryMask::ERepositoryMask(const char k, const std::string & d, const std::shared_ptr<const MetadataKey> & m) :
- Pimp<ERepositoryMask>(k, d, m)
+ _imp(k, d, m)
{
}
diff --git a/paludis/repositories/e/e_mask.hh b/paludis/repositories/e/e_mask.hh
index 0379b597d..494755c6b 100644
--- a/paludis/repositories/e/e_mask.hh
+++ b/paludis/repositories/e/e_mask.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -28,9 +28,11 @@ namespace paludis
namespace erepository
{
class EUnacceptedMask :
- public UnacceptedMask,
- private Pimp<EUnacceptedMask>
+ public UnacceptedMask
{
+ private:
+ Pimp<EUnacceptedMask> _imp;
+
public:
EUnacceptedMask(const char, const std::string &, const std::shared_ptr<const MetadataKey> &);
~EUnacceptedMask();
@@ -41,9 +43,11 @@ namespace paludis
};
class EUnsupportedMask :
- public UnsupportedMask,
- private Pimp<EUnsupportedMask>
+ public UnsupportedMask
{
+ private:
+ Pimp<EUnsupportedMask> _imp;
+
public:
EUnsupportedMask(const char, const std::string &, const std::string &);
~EUnsupportedMask();
@@ -54,9 +58,11 @@ namespace paludis
};
class ERepositoryMask :
- public RepositoryMask,
- private Pimp<ERepositoryMask>
+ public RepositoryMask
{
+ private:
+ Pimp<ERepositoryMask> _imp;
+
public:
ERepositoryMask(const char, const std::string &, const std::shared_ptr<const MetadataKey> &);
~ERepositoryMask();
diff --git a/paludis/repositories/e/e_repository.cc b/paludis/repositories/e/e_repository.cc
index 4f56a4a0b..5d5d3bb9b 100644
--- a/paludis/repositories/e/e_repository.cc
+++ b/paludis/repositories/e/e_repository.cc
@@ -269,7 +269,7 @@ namespace paludis
std::shared_ptr<const MetadataCollectionKey<Set<std::string> > > binary_keywords_filter;
std::shared_ptr<const MetadataValueKey<FSPath> > accounts_repository_data_location_key;
std::shared_ptr<const MetadataValueKey<FSPath> > e_updates_location_key;
- std::shared_ptr<const MetadataValueKey<std::string> > accept_keywords_key;
+ mutable std::shared_ptr<const MetadataValueKey<std::string> > accept_keywords_key;
std::shared_ptr<Map<std::string, std::string> > sync_hosts;
std::shared_ptr<const MetadataCollectionKey<Map<std::string, std::string> > > sync_host_key;
std::list<std::shared_ptr<const MetadataKey> > about_keys;
@@ -528,8 +528,7 @@ ERepository::ERepository(const ERepositoryParams & p) :
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = (*DistributionData::get_instance()->distribution_from_string(p.environment()->distribution())).support_old_style_virtuals() ? this : 0
)),
- Pimp<ERepository>(this, p),
- _imp(Pimp<ERepository>::_imp)
+ _imp(this, p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/e/e_repository.hh b/paludis/repositories/e/e_repository.hh
index 0ac71e691..8bb7e0302 100644
--- a/paludis/repositories/e/e_repository.hh
+++ b/paludis/repositories/e/e_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -54,11 +54,11 @@ namespace paludis
public RepositoryVirtualsInterface,
public RepositoryDestinationInterface,
public RepositoryManifestInterface,
- public std::enable_shared_from_this<ERepository>,
- private Pimp<ERepository>
+ public std::enable_shared_from_this<ERepository>
{
private:
- Pimp<ERepository>::ImpPtr & _imp;
+ Pimp<ERepository> _imp;
+
void _add_metadata_keys() const;
void need_mirrors() const;
diff --git a/paludis/repositories/e/e_repository_mask_file.cc b/paludis/repositories/e/e_repository_mask_file.cc
index fe286a6a4..9a548f14f 100644
--- a/paludis/repositories/e/e_repository_mask_file.cc
+++ b/paludis/repositories/e/e_repository_mask_file.cc
@@ -52,7 +52,7 @@ namespace paludis
}
MaskFile::MaskFile(const FSPath & f, const LineConfigFileOptions & opts) :
- Pimp<MaskFile>()
+ _imp()
{
LineConfigFileOptions myopts(opts);
myopts += lcfo_disallow_comments;
diff --git a/paludis/repositories/e/e_repository_mask_file.hh b/paludis/repositories/e/e_repository_mask_file.hh
index be1582fd2..2c2c11064 100644
--- a/paludis/repositories/e/e_repository_mask_file.hh
+++ b/paludis/repositories/e/e_repository_mask_file.hh
@@ -37,9 +37,11 @@ namespace paludis
*
* \ingroup grperepository
*/
- class PALUDIS_VISIBLE MaskFile :
- private Pimp<MaskFile>
+ class PALUDIS_VISIBLE MaskFile
{
+ private:
+ Pimp<MaskFile> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/e_repository_news.cc b/paludis/repositories/e/e_repository_news.cc
index f511c595c..f30e47547 100644
--- a/paludis/repositories/e/e_repository_news.cc
+++ b/paludis/repositories/e/e_repository_news.cc
@@ -111,7 +111,7 @@ namespace paludis
ERepositoryNews::ERepositoryNews(const Environment * const e, const ERepository * const p,
const erepository::ERepositoryParams & k) :
- Pimp<ERepositoryNews>(e, p, k)
+ _imp(e, p, k)
{
}
@@ -270,7 +270,7 @@ namespace paludis
}
NewsFile::NewsFile(const FSPath & our_filename) :
- Pimp<NewsFile>()
+ _imp()
{
Context context("When parsing GLEP 42 news file '" + stringify(our_filename) + "':");
diff --git a/paludis/repositories/e/e_repository_news.hh b/paludis/repositories/e/e_repository_news.hh
index cb3c274ef..2e2991803 100644
--- a/paludis/repositories/e/e_repository_news.hh
+++ b/paludis/repositories/e/e_repository_news.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -41,9 +41,11 @@ namespace paludis
* \ingroup grperepository
* \nosubgrouping
*/
- class PALUDIS_VISIBLE ERepositoryNews :
- private Pimp<ERepositoryNews>
+ class PALUDIS_VISIBLE ERepositoryNews
{
+ private:
+ Pimp<ERepositoryNews> _imp;
+
public:
///\name Basic operations
///\{
@@ -73,9 +75,11 @@ namespace paludis
* \ingroup grpnewsconfigfile
* \nosubgrouping
*/
- class PALUDIS_VISIBLE NewsFile :
- private Pimp<NewsFile>
+ class PALUDIS_VISIBLE NewsFile
{
+ private:
+ Pimp<NewsFile> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/e_repository_sets.cc b/paludis/repositories/e/e_repository_sets.cc
index 4f5dfd879..c2331df37 100644
--- a/paludis/repositories/e/e_repository_sets.cc
+++ b/paludis/repositories/e/e_repository_sets.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2006 Danny van Dyk
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -92,7 +92,7 @@ namespace paludis
ERepositorySets::ERepositorySets(const Environment * const e, const ERepository * const p,
const erepository::ERepositoryParams & k) :
- Pimp<ERepositorySets>(e, p, k)
+ _imp(e, p, k)
{
}
diff --git a/paludis/repositories/e/e_repository_sets.hh b/paludis/repositories/e/e_repository_sets.hh
index e0e596130..c9420d23a 100644
--- a/paludis/repositories/e/e_repository_sets.hh
+++ b/paludis/repositories/e/e_repository_sets.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2006 Danny van Dyk
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -41,9 +41,11 @@ namespace paludis
* \ingroup grperepository
* \nosubgrouping
*/
- class PALUDIS_VISIBLE ERepositorySets :
- private Pimp<ERepositorySets>
+ class PALUDIS_VISIBLE ERepositorySets
{
+ private:
+ Pimp<ERepositorySets> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/e_slot_key.cc b/paludis/repositories/e/e_slot_key.cc
index aeaee8dcc..b3918776c 100644
--- a/paludis/repositories/e/e_slot_key.cc
+++ b/paludis/repositories/e/e_slot_key.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -101,7 +101,7 @@ namespace paludis
}
ESlotKeyStore::ESlotKeyStore() :
- Pimp<ESlotKeyStore>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/e_slot_key.hh b/paludis/repositories/e/e_slot_key.hh
index 9402b1cd3..6b4e0710d 100644
--- a/paludis/repositories/e/e_slot_key.hh
+++ b/paludis/repositories/e/e_slot_key.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -29,12 +29,13 @@ namespace paludis
namespace erepository
{
class ESlotKeyStore :
- private Pimp<ESlotKeyStore>,
public Singleton<ESlotKeyStore>
{
friend class Singleton<ESlotKeyStore>;
private:
+ Pimp<ESlotKeyStore> _imp;
+
ESlotKeyStore();
~ESlotKeyStore();
diff --git a/paludis/repositories/e/e_string_set_key.cc b/paludis/repositories/e/e_string_set_key.cc
index e7362f38c..76cb65bbb 100644
--- a/paludis/repositories/e/e_string_set_key.cc
+++ b/paludis/repositories/e/e_string_set_key.cc
@@ -136,7 +136,7 @@ namespace paludis
}
EStringSetKeyStore::EStringSetKeyStore() :
- Pimp<EStringSetKeyStore>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/e_string_set_key.hh b/paludis/repositories/e/e_string_set_key.hh
index a9d71cbd1..880e20b41 100644
--- a/paludis/repositories/e/e_string_set_key.hh
+++ b/paludis/repositories/e/e_string_set_key.hh
@@ -29,12 +29,13 @@ namespace paludis
namespace erepository
{
class EStringSetKeyStore :
- private Pimp<EStringSetKeyStore>,
public Singleton<EStringSetKeyStore>
{
friend class Singleton<EStringSetKeyStore>;
private:
+ Pimp<EStringSetKeyStore> _imp;
+
EStringSetKeyStore();
~EStringSetKeyStore();
diff --git a/paludis/repositories/e/e_stripper.cc b/paludis/repositories/e/e_stripper.cc
index ec0fcd6b7..0ed20a438 100644
--- a/paludis/repositories/e/e_stripper.cc
+++ b/paludis/repositories/e/e_stripper.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -47,8 +47,7 @@ EStripper::EStripper(const EStripperOptions & options) :
n::split() = options.split(),
n::strip() = options.strip()
)),
- Pimp<EStripper>(options),
- _imp(Pimp<EStripper>::_imp)
+ _imp(options)
{
}
diff --git a/paludis/repositories/e/e_stripper.hh b/paludis/repositories/e/e_stripper.hh
index 70924bbc3..d0c4fb507 100644
--- a/paludis/repositories/e/e_stripper.hh
+++ b/paludis/repositories/e/e_stripper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -50,11 +50,10 @@ namespace paludis
};
class EStripper :
- public Stripper,
- private Pimp<EStripper>
+ public Stripper
{
private:
- Pimp<EStripper>::ImpPtr & _imp;
+ Pimp<EStripper> _imp;
protected:
virtual void on_strip(const FSPath &);
diff --git a/paludis/repositories/e/eapi.cc b/paludis/repositories/e/eapi.cc
index bcbb87c0a..8b31b8bae 100644
--- a/paludis/repositories/e/eapi.cc
+++ b/paludis/repositories/e/eapi.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -398,7 +398,7 @@ EAPIConfigurationError::EAPIConfigurationError(const std::string & s) throw () :
}
EAPIData::EAPIData() :
- Pimp<EAPIData>()
+ _imp()
{
}
@@ -440,7 +440,7 @@ namespace paludis
}
EAPILabels::EAPILabels(const std::string & s) :
- Pimp<EAPILabels>()
+ _imp()
{
std::vector<std::string> tokens;
@@ -461,7 +461,7 @@ EAPILabels::EAPILabels(const std::string & s) :
}
EAPILabels::EAPILabels(const EAPILabels & other) :
- Pimp<EAPILabels>(*other._imp.operator-> ())
+ _imp(*other._imp.operator-> ())
{
}
diff --git a/paludis/repositories/e/eapi.hh b/paludis/repositories/e/eapi.hh
index ae977fb98..ec2387108 100644
--- a/paludis/repositories/e/eapi.hh
+++ b/paludis/repositories/e/eapi.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -211,9 +211,11 @@ namespace paludis
namespace erepository
{
- class PALUDIS_VISIBLE EAPILabels :
- private Pimp<EAPILabels>
+ class PALUDIS_VISIBLE EAPILabels
{
+ private:
+ Pimp<EAPILabels> _imp;
+
public:
EAPILabels(const std::string &);
EAPILabels(const EAPILabels &);
@@ -245,12 +247,13 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE EAPIData :
- private Pimp<EAPIData>,
public Singleton<EAPIData>
{
friend class Singleton<EAPIData>;
private:
+ Pimp<EAPIData> _imp;
+
EAPIData();
~EAPIData();
diff --git a/paludis/repositories/e/eapi_phase.cc b/paludis/repositories/e/eapi_phase.cc
index 692f00814..be8ba8c0e 100644
--- a/paludis/repositories/e/eapi_phase.cc
+++ b/paludis/repositories/e/eapi_phase.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -62,7 +62,7 @@ namespace paludis
}
EAPIPhase::EAPIPhase(const std::string & s) :
- Pimp<EAPIPhase>()
+ _imp()
{
Context c("When parsing EAPI phase '" + s + "'");
@@ -111,7 +111,7 @@ EAPIPhase::end_commands() const
}
EAPIPhases::EAPIPhases(const std::string & s) :
- Pimp<EAPIPhases>()
+ _imp()
{
Context c("When parsing EAPI phases '" + s + "'");
diff --git a/paludis/repositories/e/eapi_phase.hh b/paludis/repositories/e/eapi_phase.hh
index 86bb324bf..dce172afb 100644
--- a/paludis/repositories/e/eapi_phase.hh
+++ b/paludis/repositories/e/eapi_phase.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,9 +35,11 @@ namespace paludis
* \ingroup grperepository
* \ingroup grpeapi
*/
- class EAPIPhase :
- private Pimp<EAPIPhase>
+ class EAPIPhase
{
+ private:
+ Pimp<EAPIPhase> _imp;
+
public:
///\name Basic operations
///\{
@@ -68,9 +70,11 @@ namespace paludis
* \ingroup grperepository
* \ingroup grpeapi
*/
- class EAPIPhases :
- private Pimp<EAPIPhases>
+ class EAPIPhases
{
+ private:
+ Pimp<EAPIPhases> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/ebuild_flat_metadata_cache.cc b/paludis/repositories/e/ebuild_flat_metadata_cache.cc
index ceb13c377..f840a1dc6 100644
--- a/paludis/repositories/e/ebuild_flat_metadata_cache.cc
+++ b/paludis/repositories/e/ebuild_flat_metadata_cache.cc
@@ -305,7 +305,7 @@ namespace
EbuildFlatMetadataCache::EbuildFlatMetadataCache(const Environment * const v, const FSPath & f,
const FSPath & e, std::time_t t, const std::shared_ptr<const EclassMtimes> & m, bool s) :
- Pimp<EbuildFlatMetadataCache>(v, f, e, t, m, s)
+ _imp(v, f, e, t, m, s)
{
}
diff --git a/paludis/repositories/e/ebuild_flat_metadata_cache.hh b/paludis/repositories/e/ebuild_flat_metadata_cache.hh
index e8bdb72b6..bde1944cb 100644
--- a/paludis/repositories/e/ebuild_flat_metadata_cache.hh
+++ b/paludis/repositories/e/ebuild_flat_metadata_cache.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -38,9 +38,11 @@ namespace paludis
* \ingroup grperepository
* \nosubgrouping
*/
- class EbuildFlatMetadataCache :
- private Pimp<EbuildFlatMetadataCache>
+ class EbuildFlatMetadataCache
{
+ private:
+ Pimp<EbuildFlatMetadataCache> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/ebuild_id.cc b/paludis/repositories/e/ebuild_id.cc
index 7f73dabfe..b01ceb5a5 100644
--- a/paludis/repositories/e/ebuild_id.cc
+++ b/paludis/repositories/e/ebuild_id.cc
@@ -115,7 +115,7 @@ namespace paludis
template <>
struct Imp<EbuildID>
{
- Mutex mutex;
+ mutable Mutex mutex;
const QualifiedPackageName name;
const VersionSpec version;
@@ -207,8 +207,7 @@ EbuildID::EbuildID(const QualifiedPackageName & q, const VersionSpec & v,
const std::string & g,
const time_t t,
const std::shared_ptr<const EclassMtimes> & m) :
- Pimp<EbuildID>(q, v, e, r, f, guess_eapi(g, e, r), t, m),
- _imp(Pimp<EbuildID>::_imp)
+ _imp(q, v, e, r, f, guess_eapi(g, e, r), t, m)
{
}
diff --git a/paludis/repositories/e/ebuild_id.hh b/paludis/repositories/e/ebuild_id.hh
index df793e12d..ab9c73493 100644
--- a/paludis/repositories/e/ebuild_id.hh
+++ b/paludis/repositories/e/ebuild_id.hh
@@ -33,11 +33,10 @@ namespace paludis
{
class EbuildID :
public ERepositoryID,
- public std::enable_shared_from_this<EbuildID>,
- private Pimp<EbuildID>
+ public std::enable_shared_from_this<EbuildID>
{
private:
- Pimp<EbuildID>::ImpPtr & _imp;
+ Pimp<EbuildID> _imp;
protected:
virtual void need_keys_added() const;
diff --git a/paludis/repositories/e/eclass_mtimes.cc b/paludis/repositories/e/eclass_mtimes.cc
index 90586426f..9d6e71ab8 100644
--- a/paludis/repositories/e/eclass_mtimes.cc
+++ b/paludis/repositories/e/eclass_mtimes.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2008 David Leverton
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -83,7 +83,7 @@ namespace paludis
}
EclassMtimes::EclassMtimes(const ERepository * r, const std::shared_ptr<const FSPathSequence> & d) :
- Pimp<EclassMtimes>(r, d)
+ _imp(r, d)
{
}
diff --git a/paludis/repositories/e/eclass_mtimes.hh b/paludis/repositories/e/eclass_mtimes.hh
index 116f08f34..033bb3774 100644
--- a/paludis/repositories/e/eclass_mtimes.hh
+++ b/paludis/repositories/e/eclass_mtimes.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -38,9 +38,11 @@ namespace paludis
* \ingroup grperepository
* \nosubgrouping
*/
- class EclassMtimes :
- private Pimp<EclassMtimes>
+ class EclassMtimes
{
+ private:
+ Pimp<EclassMtimes> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/exheres_layout.cc b/paludis/repositories/e/exheres_layout.cc
index 1f56a34c3..2dfa734dc 100644
--- a/paludis/repositories/e/exheres_layout.cc
+++ b/paludis/repositories/e/exheres_layout.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -97,7 +97,7 @@ namespace paludis
ExheresLayout::ExheresLayout(const ERepository * const r, const FSPath & tree_root,
const std::shared_ptr<const FSPathSequence> & f) :
Layout(f),
- Pimp<ExheresLayout>(r, tree_root)
+ _imp(r, tree_root)
{
if (master_repositories_locations())
{
diff --git a/paludis/repositories/e/exheres_layout.hh b/paludis/repositories/e/exheres_layout.hh
index bf5b3261e..ec3c90c69 100644
--- a/paludis/repositories/e/exheres_layout.hh
+++ b/paludis/repositories/e/exheres_layout.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,10 +34,11 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE ExheresLayout :
- public Layout,
- private Pimp<ExheresLayout>
+ public Layout
{
private:
+ Pimp<ExheresLayout> _imp;
+
void need_category_names() const;
void need_category_names_collection() const;
void need_package_ids(const QualifiedPackageName &) const;
diff --git a/paludis/repositories/e/exheres_profile.cc b/paludis/repositories/e/exheres_profile.cc
index ac2354a9a..166fd1633 100644
--- a/paludis/repositories/e/exheres_profile.cc
+++ b/paludis/repositories/e/exheres_profile.cc
@@ -127,7 +127,7 @@ ExheresProfile::ExheresProfile(
const Environment * const env, const ERepository * const p, const RepositoryName & name,
const FSPathSequence & location,
const std::string & arch_var_if_special, const bool x) :
- Pimp<ExheresProfile>(env, p, name, location, arch_var_if_special, x)
+ _imp(env, p, name, location, arch_var_if_special, x)
{
for (FSPathSequence::ConstIterator l(location.begin()), l_end(location.end()) ;
l != l_end ; ++l)
diff --git a/paludis/repositories/e/exheres_profile.hh b/paludis/repositories/e/exheres_profile.hh
index 3123cd6c6..19277eee3 100644
--- a/paludis/repositories/e/exheres_profile.hh
+++ b/paludis/repositories/e/exheres_profile.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -29,10 +29,11 @@ namespace paludis
namespace erepository
{
class PALUDIS_VISIBLE ExheresProfile :
- private Pimp<ExheresProfile>,
public Profile
{
private:
+ Pimp<ExheresProfile> _imp;
+
void _load_dir(const FSPath &);
public:
diff --git a/paludis/repositories/e/exndbam_repository.cc b/paludis/repositories/e/exndbam_repository.cc
index a26f5d3af..7b496226a 100644
--- a/paludis/repositories/e/exndbam_repository.cc
+++ b/paludis/repositories/e/exndbam_repository.cc
@@ -110,8 +110,7 @@ ExndbamRepository::ExndbamRepository(const RepositoryName & n, const ExndbamRepo
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- Pimp<ExndbamRepository>(p),
- _imp(Pimp<ExndbamRepository>::_imp)
+ _imp(p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/e/exndbam_repository.hh b/paludis/repositories/e/exndbam_repository.hh
index 4467bb69e..5ee7237a7 100644
--- a/paludis/repositories/e/exndbam_repository.hh
+++ b/paludis/repositories/e/exndbam_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -54,11 +54,11 @@ namespace paludis
class PALUDIS_VISIBLE ExndbamRepository :
public erepository::EInstalledRepository,
- public std::enable_shared_from_this<ExndbamRepository>,
- public Pimp<ExndbamRepository>
+ public std::enable_shared_from_this<ExndbamRepository>
{
private:
- Pimp<ExndbamRepository>::ImpPtr & _imp;
+ Pimp<ExndbamRepository> _imp;
+
void _add_metadata_keys() const;
protected:
diff --git a/paludis/repositories/e/fetch_visitor.cc b/paludis/repositories/e/fetch_visitor.cc
index bdf7dc93f..55e6b67a7 100644
--- a/paludis/repositories/e/fetch_visitor.cc
+++ b/paludis/repositories/e/fetch_visitor.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -106,7 +106,7 @@ FetchVisitor::FetchVisitor(
const bool sr,
const std::shared_ptr<OutputManager> & md,
const GetMirrorsFunction & g) :
- Pimp<FetchVisitor>(e, i, p, d, f, u, m, n, sr, md, g)
+ _imp(e, i, p, d, f, u, m, n, sr, md, g)
{
}
diff --git a/paludis/repositories/e/fetch_visitor.hh b/paludis/repositories/e/fetch_visitor.hh
index 9912ba03a..1fb1f587d 100644
--- a/paludis/repositories/e/fetch_visitor.hh
+++ b/paludis/repositories/e/fetch_visitor.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -37,9 +37,11 @@ namespace paludis
{
typedef std::function<std::shared_ptr<const MirrorsSequence> (const std::string &)> GetMirrorsFunction;
- class PALUDIS_VISIBLE FetchVisitor :
- private Pimp<FetchVisitor>
+ class PALUDIS_VISIBLE FetchVisitor
{
+ private:
+ Pimp<FetchVisitor> _imp;
+
public:
FetchVisitor(
const Environment * const,
diff --git a/paludis/repositories/e/glsa.cc b/paludis/repositories/e/glsa.cc
index ee240c844..2ad88d8a0 100644
--- a/paludis/repositories/e/glsa.cc
+++ b/paludis/repositories/e/glsa.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -80,7 +80,7 @@ namespace paludis
}
GLSAPackage::GLSAPackage(const QualifiedPackageName & n) :
- Pimp<GLSAPackage>(n)
+ _imp(n)
{
}
@@ -149,7 +149,7 @@ GLSAPackage::name() const
}
GLSA::GLSA() :
- Pimp<GLSA>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/glsa.hh b/paludis/repositories/e/glsa.hh
index 7dac38c1c..612f6190d 100644
--- a/paludis/repositories/e/glsa.hh
+++ b/paludis/repositories/e/glsa.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -73,9 +73,11 @@ namespace paludis
* \ingroup grperepository
* \nosubgrouping
*/
- class PALUDIS_VISIBLE GLSAPackage :
- private Pimp<GLSAPackage>
+ class PALUDIS_VISIBLE GLSAPackage
{
+ private:
+ Pimp<GLSAPackage> _imp;
+
public:
///\name Basic operations
///\{
@@ -134,9 +136,11 @@ namespace paludis
* \ingroup grperepository
* \nosubgrouping
*/
- class PALUDIS_VISIBLE GLSA :
- private Pimp<GLSA>
+ class PALUDIS_VISIBLE GLSA
{
+ private:
+ Pimp<GLSA> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/info_metadata_key.cc b/paludis/repositories/e/info_metadata_key.cc
index 7522f009f..f90ecb9e5 100644
--- a/paludis/repositories/e/info_metadata_key.cc
+++ b/paludis/repositories/e/info_metadata_key.cc
@@ -90,7 +90,7 @@ namespace paludis
}
InfoVarsMetadataKey::InfoVarsMetadataKey(const std::shared_ptr<const FSPathSequence> & f) :
- Pimp<InfoVarsMetadataKey>(f)
+ _imp(f)
{
}
@@ -145,8 +145,7 @@ InfoVarsMetadataKey::type() const
InfoPkgsMetadataKey::InfoPkgsMetadataKey(const Environment * const e,
const std::shared_ptr<const FSPathSequence> & f,
const ERepository * const r) :
- Pimp<InfoPkgsMetadataKey>(e, f, r),
- _imp(Pimp<InfoPkgsMetadataKey>::_imp)
+ _imp(e, f, r)
{
}
diff --git a/paludis/repositories/e/info_metadata_key.hh b/paludis/repositories/e/info_metadata_key.hh
index 01e04e7a2..f63058f1b 100644
--- a/paludis/repositories/e/info_metadata_key.hh
+++ b/paludis/repositories/e/info_metadata_key.hh
@@ -15,11 +15,10 @@ namespace paludis
namespace erepository
{
class InfoPkgsMetadataKey :
- public MetadataSectionKey,
- private Pimp<InfoPkgsMetadataKey>
+ public MetadataSectionKey
{
private:
- Pimp<InfoPkgsMetadataKey>::ImpPtr & _imp;
+ Pimp<InfoPkgsMetadataKey> _imp;
protected:
virtual void need_keys_added() const;
@@ -36,9 +35,11 @@ namespace paludis
};
class InfoVarsMetadataKey :
- public MetadataCollectionKey<Set<std::string> >,
- private Pimp<InfoVarsMetadataKey>
+ public MetadataCollectionKey<Set<std::string> >
{
+ private:
+ Pimp<InfoVarsMetadataKey> _imp;
+
public:
InfoVarsMetadataKey(const std::shared_ptr<const FSPathSequence> &);
~InfoVarsMetadataKey();
diff --git a/paludis/repositories/e/manifest2_reader.cc b/paludis/repositories/e/manifest2_reader.cc
index 65f6d04d8..8ee4ccb7e 100644
--- a/paludis/repositories/e/manifest2_reader.cc
+++ b/paludis/repositories/e/manifest2_reader.cc
@@ -66,7 +66,7 @@ Manifest2Error::Manifest2Error(const std::string & msg) throw () :
}
Manifest2Reader::Manifest2Reader(const FSPath & f) :
- Pimp<Manifest2Reader>(f)
+ _imp(f)
{
if (! f.stat().exists())
return;
diff --git a/paludis/repositories/e/manifest2_reader.hh b/paludis/repositories/e/manifest2_reader.hh
index 2d362a5cb..b35abc55e 100644
--- a/paludis/repositories/e/manifest2_reader.hh
+++ b/paludis/repositories/e/manifest2_reader.hh
@@ -76,9 +76,11 @@ namespace paludis
*
* \ingroup grpmanifest2reader
*/
- class PALUDIS_VISIBLE Manifest2Reader :
- private Pimp<Manifest2Reader>
+ class PALUDIS_VISIBLE Manifest2Reader
{
+ private:
+ Pimp<Manifest2Reader> _imp;
+
public:
///\name Basic operations
diff --git a/paludis/repositories/e/memoised_hashes.cc b/paludis/repositories/e/memoised_hashes.cc
index 8a75e36c4..b5e422fae 100644
--- a/paludis/repositories/e/memoised_hashes.cc
+++ b/paludis/repositories/e/memoised_hashes.cc
@@ -53,7 +53,7 @@ namespace paludis
}
MemoisedHashes::MemoisedHashes() :
- Pimp<MemoisedHashes>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/memoised_hashes.hh b/paludis/repositories/e/memoised_hashes.hh
index 5227aef5c..939d96f39 100644
--- a/paludis/repositories/e/memoised_hashes.hh
+++ b/paludis/repositories/e/memoised_hashes.hh
@@ -30,12 +30,13 @@ namespace paludis
namespace erepository
{
class PALUDIS_VISIBLE MemoisedHashes :
- public Singleton<MemoisedHashes>,
- private Pimp<MemoisedHashes>
+ public Singleton<MemoisedHashes>
{
friend class Singleton<MemoisedHashes>;
public:
+ Pimp<MemoisedHashes> _imp;
+
template <typename H_>
const std::string get(const FSPath & file, SafeIFStream & stream) const;
diff --git a/paludis/repositories/e/metadata_xml.cc b/paludis/repositories/e/metadata_xml.cc
index cd401dd1d..4ce704256 100644
--- a/paludis/repositories/e/metadata_xml.cc
+++ b/paludis/repositories/e/metadata_xml.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -47,7 +47,7 @@ namespace paludis
}
MetadataXMLPool::MetadataXMLPool() :
- Pimp<MetadataXMLPool>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/metadata_xml.hh b/paludis/repositories/e/metadata_xml.hh
index 3792024ed..dba9a1e3d 100644
--- a/paludis/repositories/e/metadata_xml.hh
+++ b/paludis/repositories/e/metadata_xml.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -51,12 +51,13 @@ namespace paludis
};
class PALUDIS_VISIBLE MetadataXMLPool :
- private Pimp<MetadataXMLPool>,
public Singleton<MetadataXMLPool>
{
friend class Singleton<MetadataXMLPool>;
private:
+ Pimp<MetadataXMLPool> _imp;
+
MetadataXMLPool();
~MetadataXMLPool();
diff --git a/paludis/repositories/e/myoptions_requirements_verifier.cc b/paludis/repositories/e/myoptions_requirements_verifier.cc
index be53f2674..b57030a4d 100644
--- a/paludis/repositories/e/myoptions_requirements_verifier.cc
+++ b/paludis/repositories/e/myoptions_requirements_verifier.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -71,7 +71,7 @@ namespace paludis
MyOptionsRequirementsVerifier::MyOptionsRequirementsVerifier(
const Environment * const e,
const std::shared_ptr<const ERepositoryID> & id) :
- Pimp<MyOptionsRequirementsVerifier>(e, id)
+ _imp(e, id)
{
}
diff --git a/paludis/repositories/e/myoptions_requirements_verifier.hh b/paludis/repositories/e/myoptions_requirements_verifier.hh
index 192d24586..13919f373 100644
--- a/paludis/repositories/e/myoptions_requirements_verifier.hh
+++ b/paludis/repositories/e/myoptions_requirements_verifier.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,10 +32,11 @@ namespace paludis
{
namespace erepository
{
- class PALUDIS_VISIBLE MyOptionsRequirementsVerifier :
- private Pimp<MyOptionsRequirementsVerifier>
+ class PALUDIS_VISIBLE MyOptionsRequirementsVerifier
{
private:
+ Pimp<MyOptionsRequirementsVerifier> _imp;
+
void verify_one(const ChoicePrefixName &, const std::string &,
const std::shared_ptr<const DepSpecAnnotations> &);
diff --git a/paludis/repositories/e/pbin_merger.cc b/paludis/repositories/e/pbin_merger.cc
index e0277814c..134bb76b3 100644
--- a/paludis/repositories/e/pbin_merger.cc
+++ b/paludis/repositories/e/pbin_merger.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -62,7 +62,6 @@ namespace
}
PbinMerger::PbinMerger(const PbinMergerParams & p) :
- Pimp<PbinMerger>(p),
TarMerger(make_named_values<TarMergerParams>(
n::compression() = tmc_none,
n::environment() = p.environment(),
@@ -77,7 +76,7 @@ PbinMerger::PbinMerger(const PbinMergerParams & p) :
n::root() = p.root(),
n::tar_file() = p.tar_file()
)),
- _imp(Pimp<PbinMerger>::_imp)
+ _imp(p)
{
}
diff --git a/paludis/repositories/e/pbin_merger.hh b/paludis/repositories/e/pbin_merger.hh
index ccd3e37a4..09c958e8a 100644
--- a/paludis/repositories/e/pbin_merger.hh
+++ b/paludis/repositories/e/pbin_merger.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -61,11 +61,10 @@ namespace paludis
};
class PALUDIS_VISIBLE PbinMerger :
- private Pimp<PbinMerger>,
public TarMerger
{
private:
- Pimp<PbinMerger>::ImpPtr & _imp;
+ Pimp<PbinMerger> _imp;
protected:
virtual void on_error(bool is_check, const std::string &);
diff --git a/paludis/repositories/e/pretend_fetch_visitor.cc b/paludis/repositories/e/pretend_fetch_visitor.cc
index 90855f1ba..0f2f3c601 100644
--- a/paludis/repositories/e/pretend_fetch_visitor.cc
+++ b/paludis/repositories/e/pretend_fetch_visitor.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -88,7 +88,7 @@ PretendFetchVisitor::PretendFetchVisitor(
const bool f,
const std::shared_ptr<const URILabel> & n,
PretendFetchAction & a) :
- Pimp<PretendFetchVisitor>(e, i, p, d, f, n, a)
+ _imp(e, i, p, d, f, n, a)
{
}
diff --git a/paludis/repositories/e/pretend_fetch_visitor.hh b/paludis/repositories/e/pretend_fetch_visitor.hh
index 291b1345d..39731ea21 100644
--- a/paludis/repositories/e/pretend_fetch_visitor.hh
+++ b/paludis/repositories/e/pretend_fetch_visitor.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,9 +32,11 @@ namespace paludis
{
namespace erepository
{
- class PALUDIS_VISIBLE PretendFetchVisitor :
- private Pimp<PretendFetchVisitor>
+ class PALUDIS_VISIBLE PretendFetchVisitor
{
+ private:
+ Pimp<PretendFetchVisitor> _imp;
+
public:
PretendFetchVisitor(
const Environment * const,
diff --git a/paludis/repositories/e/profile_file.cc b/paludis/repositories/e/profile_file.cc
index 82ef7095f..6303ec9ad 100644
--- a/paludis/repositories/e/profile_file.cc
+++ b/paludis/repositories/e/profile_file.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -165,7 +165,7 @@ ProfileFile<F_>::add_file(const FSPath & f)
template <typename F_>
ProfileFile<F_>::ProfileFile(const ERepository * const r) :
- Pimp<ProfileFile>(r)
+ _imp(r)
{
}
diff --git a/paludis/repositories/e/profile_file.hh b/paludis/repositories/e/profile_file.hh
index bb9d54799..a55b1264e 100644
--- a/paludis/repositories/e/profile_file.hh
+++ b/paludis/repositories/e/profile_file.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,9 +35,11 @@ namespace paludis
namespace erepository
{
template <typename F_>
- class PALUDIS_VISIBLE ProfileFile :
- private Pimp<ProfileFile<F_> >
+ class PALUDIS_VISIBLE ProfileFile
{
+ private:
+ Pimp<ProfileFile<F_> > _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/required_use_verifier.cc b/paludis/repositories/e/required_use_verifier.cc
index 962034f1c..23f4c3b91 100644
--- a/paludis/repositories/e/required_use_verifier.cc
+++ b/paludis/repositories/e/required_use_verifier.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -70,7 +70,7 @@ namespace paludis
RequiredUseVerifier::RequiredUseVerifier(
const Environment * const e,
const std::shared_ptr<const ERepositoryID> & id) :
- Pimp<RequiredUseVerifier>(e, id)
+ _imp(e, id)
{
}
diff --git a/paludis/repositories/e/required_use_verifier.hh b/paludis/repositories/e/required_use_verifier.hh
index 4622ed936..a193c38d1 100644
--- a/paludis/repositories/e/required_use_verifier.hh
+++ b/paludis/repositories/e/required_use_verifier.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,10 +32,11 @@ namespace paludis
{
namespace erepository
{
- class PALUDIS_VISIBLE RequiredUseVerifier :
- private Pimp<RequiredUseVerifier>
+ class PALUDIS_VISIBLE RequiredUseVerifier
{
private:
+ Pimp<RequiredUseVerifier> _imp;
+
bool matches(const std::string &);
public:
diff --git a/paludis/repositories/e/source_uri_finder.cc b/paludis/repositories/e/source_uri_finder.cc
index 8c2ff9bc4..ea93f7e5f 100644
--- a/paludis/repositories/e/source_uri_finder.cc
+++ b/paludis/repositories/e/source_uri_finder.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -71,7 +71,7 @@ namespace paludis
SourceURIFinder::SourceURIFinder(const Environment * const e, const Repository * const repo,
const std::string & u, const std::string & f, const std::string & m, const GetMirrorsFunction & g) :
- Pimp<SourceURIFinder>(e, repo, u, f, m, g)
+ _imp(e, repo, u, f, m, g)
{
}
diff --git a/paludis/repositories/e/source_uri_finder.hh b/paludis/repositories/e/source_uri_finder.hh
index 7281bab46..9300b6baa 100644
--- a/paludis/repositories/e/source_uri_finder.hh
+++ b/paludis/repositories/e/source_uri_finder.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,10 +34,11 @@ namespace paludis
{
typedef std::function<std::shared_ptr<const MirrorsSequence> (const std::string &)> GetMirrorsFunction;
- class PALUDIS_VISIBLE SourceURIFinder :
- private Pimp<SourceURIFinder>
+ class PALUDIS_VISIBLE SourceURIFinder
{
private:
+ Pimp<SourceURIFinder> _imp;
+
void add_local_mirrors();
void add_mirrors();
void add_listed();
diff --git a/paludis/repositories/e/spec_tree_pretty_printer.cc b/paludis/repositories/e/spec_tree_pretty_printer.cc
index 363d5e01f..35caadfee 100644
--- a/paludis/repositories/e/spec_tree_pretty_printer.cc
+++ b/paludis/repositories/e/spec_tree_pretty_printer.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -63,7 +63,7 @@ namespace paludis
SpecTreePrettyPrinter::SpecTreePrettyPrinter(
const PrettyPrinter & p,
const PrettyPrintOptions & o) :
- Pimp<SpecTreePrettyPrinter>(p, o)
+ _imp(p, o)
{
}
diff --git a/paludis/repositories/e/spec_tree_pretty_printer.hh b/paludis/repositories/e/spec_tree_pretty_printer.hh
index a44ecfc1f..373a7affb 100644
--- a/paludis/repositories/e/spec_tree_pretty_printer.hh
+++ b/paludis/repositories/e/spec_tree_pretty_printer.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -33,12 +33,13 @@ namespace paludis
{
namespace erepository
{
- class PALUDIS_VISIBLE SpecTreePrettyPrinter :
- private Pimp<SpecTreePrettyPrinter>
+ class PALUDIS_VISIBLE SpecTreePrettyPrinter
{
friend std::ostream & operator<< (std::ostream &, const SpecTreePrettyPrinter &);
private:
+ Pimp<SpecTreePrettyPrinter> _imp;
+
void do_annotations(const DepSpec &);
public:
diff --git a/paludis/repositories/e/traditional_layout.cc b/paludis/repositories/e/traditional_layout.cc
index 9a6c2749d..80dbda1ce 100644
--- a/paludis/repositories/e/traditional_layout.cc
+++ b/paludis/repositories/e/traditional_layout.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2006 Danny van Dyk
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -97,7 +97,7 @@ namespace paludis
TraditionalLayout::TraditionalLayout(const ERepository * const repo, const FSPath & tree_root,
const std::shared_ptr<const FSPathSequence> & f) :
Layout(f),
- Pimp<TraditionalLayout>(repo, tree_root)
+ _imp(repo, tree_root)
{
if (master_repositories_locations())
{
diff --git a/paludis/repositories/e/traditional_layout.hh b/paludis/repositories/e/traditional_layout.hh
index 52d796b61..62cdd683f 100644
--- a/paludis/repositories/e/traditional_layout.hh
+++ b/paludis/repositories/e/traditional_layout.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2006 Danny van Dyk
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -35,10 +35,11 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE TraditionalLayout :
- public Layout,
- private Pimp<TraditionalLayout>
+ public Layout
{
private:
+ Pimp<TraditionalLayout> _imp;
+
void need_category_names() const;
void need_category_names_collection() const;
void need_package_ids(const QualifiedPackageName &) const;
diff --git a/paludis/repositories/e/traditional_profile.cc b/paludis/repositories/e/traditional_profile.cc
index 34e4ac34a..b3e51b6f7 100644
--- a/paludis/repositories/e/traditional_profile.cc
+++ b/paludis/repositories/e/traditional_profile.cc
@@ -831,7 +831,7 @@ TraditionalProfile::TraditionalProfile(
const Environment * const env, const ERepository * const p, const RepositoryName & name,
const FSPathSequence & location,
const std::string & arch_var_if_special, const bool x) :
- Pimp<TraditionalProfile>(env, p, name, location, arch_var_if_special, x)
+ _imp(env, p, name, location, arch_var_if_special, x)
{
}
diff --git a/paludis/repositories/e/traditional_profile.hh b/paludis/repositories/e/traditional_profile.hh
index 27868c8c0..3d4071734 100644
--- a/paludis/repositories/e/traditional_profile.hh
+++ b/paludis/repositories/e/traditional_profile.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -29,9 +29,11 @@ namespace paludis
namespace erepository
{
class PALUDIS_VISIBLE TraditionalProfile :
- private Pimp<TraditionalProfile>,
public Profile
{
+ private:
+ Pimp<TraditionalProfile> _imp;
+
public:
TraditionalProfile(
const Environment * const, const ERepository * const, const RepositoryName &,
diff --git a/paludis/repositories/e/use_desc.cc b/paludis/repositories/e/use_desc.cc
index 64a557189..1a2a9ae76 100644
--- a/paludis/repositories/e/use_desc.cc
+++ b/paludis/repositories/e/use_desc.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -80,7 +80,7 @@ namespace paludis
}
UseDesc::UseDesc(const std::shared_ptr<const UseDescFileInfoSequence> & f) :
- Pimp<UseDesc>(f)
+ _imp(f)
{
}
diff --git a/paludis/repositories/e/use_desc.hh b/paludis/repositories/e/use_desc.hh
index 347ee1ad0..1d4e01ffa 100644
--- a/paludis/repositories/e/use_desc.hh
+++ b/paludis/repositories/e/use_desc.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -37,9 +37,11 @@ namespace paludis
*
* \ingroup grperepository
*/
- class UseDesc :
- private Pimp<UseDesc>
+ class UseDesc
{
+ private:
+ Pimp<UseDesc> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/vdb_merger.cc b/paludis/repositories/e/vdb_merger.cc
index fb315cd75..ec9df37ad 100644
--- a/paludis/repositories/e/vdb_merger.cc
+++ b/paludis/repositories/e/vdb_merger.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -93,8 +93,7 @@ VDBMerger::VDBMerger(const VDBMergerParams & p) :
n::options() = p.options(),
n::root() = p.root()
)),
- Pimp<VDBMerger>(p),
- _imp(Pimp<VDBMerger>::_imp)
+ _imp(p)
{
}
diff --git a/paludis/repositories/e/vdb_merger.hh b/paludis/repositories/e/vdb_merger.hh
index 57ad1fd32..457cd0f80 100644
--- a/paludis/repositories/e/vdb_merger.hh
+++ b/paludis/repositories/e/vdb_merger.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -74,14 +74,13 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE VDBMerger :
- public FSMerger,
- private Pimp<VDBMerger>
+ public FSMerger
{
private:
void display_override(const std::string &) const;
std::string make_arrows(const FSMergerStatusFlags &) const;
- Pimp<VDBMerger>::ImpPtr & _imp;
+ Pimp<VDBMerger> _imp;
public:
///\name Basic operations
diff --git a/paludis/repositories/e/vdb_repository.cc b/paludis/repositories/e/vdb_repository.cc
index 3318279ef..08d89250d 100644
--- a/paludis/repositories/e/vdb_repository.cc
+++ b/paludis/repositories/e/vdb_repository.cc
@@ -179,8 +179,7 @@ VDBRepository::VDBRepository(const VDBRepositoryParams & p) :
n::provides_interface() = this,
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- Pimp<VDBRepository>(this, p),
- _imp(Pimp<VDBRepository>::_imp)
+ _imp(this, p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/e/vdb_repository.hh b/paludis/repositories/e/vdb_repository.hh
index fba4b0839..ec7ab4b77 100644
--- a/paludis/repositories/e/vdb_repository.hh
+++ b/paludis/repositories/e/vdb_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -75,11 +75,11 @@ namespace paludis
class PALUDIS_VISIBLE VDBRepository :
public erepository::EInstalledRepository,
public RepositoryProvidesInterface,
- public std::enable_shared_from_this<VDBRepository>,
- public Pimp<VDBRepository>
+ public std::enable_shared_from_this<VDBRepository>
{
private:
- Pimp<VDBRepository>::ImpPtr & _imp;
+ Pimp<VDBRepository> _imp;
+
void _add_metadata_keys() const;
bool load_provided_using_cache() const;
diff --git a/paludis/repositories/e/vdb_unmerger.cc b/paludis/repositories/e/vdb_unmerger.cc
index 8799dc2aa..caa570da7 100644
--- a/paludis/repositories/e/vdb_unmerger.cc
+++ b/paludis/repositories/e/vdb_unmerger.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2007 Piotr Jaroszyński
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -76,8 +76,7 @@ VDBUnmerger::VDBUnmerger(const VDBUnmergerOptions & o) :
n::maybe_output_manager() = o.output_manager(),
n::root() = o.root()
)),
- Pimp<VDBUnmerger>(o),
- _imp(Pimp<VDBUnmerger>::_imp.get())
+ _imp(o)
{
}
diff --git a/paludis/repositories/e/vdb_unmerger.hh b/paludis/repositories/e/vdb_unmerger.hh
index 8fdd83af5..ad2bd76eb 100644
--- a/paludis/repositories/e/vdb_unmerger.hh
+++ b/paludis/repositories/e/vdb_unmerger.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2007 Piotr Jaroszyński
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -84,11 +84,10 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE VDBUnmerger :
- public Unmerger,
- private Pimp<VDBUnmerger>
+ public Unmerger
{
private:
- Imp<VDBUnmerger> * _imp;
+ Pimp<VDBUnmerger> _imp;
protected:
bool config_protected(const FSPath &) const;
diff --git a/paludis/repositories/e/xml_things_handle.cc b/paludis/repositories/e/xml_things_handle.cc
index 443432257..9c658a1f1 100644
--- a/paludis/repositories/e/xml_things_handle.cc
+++ b/paludis/repositories/e/xml_things_handle.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -123,7 +123,7 @@ namespace paludis
}
XMLThingsHandle::XMLThingsHandle() :
- Pimp<XMLThingsHandle>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/xml_things_handle.hh b/paludis/repositories/e/xml_things_handle.hh
index af8215e6e..7bfe4c528 100644
--- a/paludis/repositories/e/xml_things_handle.hh
+++ b/paludis/repositories/e/xml_things_handle.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -30,12 +30,13 @@ namespace paludis
namespace erepository
{
class PALUDIS_VISIBLE XMLThingsHandle :
- private Pimp<XMLThingsHandle>,
public Singleton<XMLThingsHandle>
{
friend class Singleton<XMLThingsHandle>;
private:
+ Pimp<XMLThingsHandle> _imp;
+
XMLThingsHandle();
~XMLThingsHandle();