aboutsummaryrefslogtreecommitdiff
path: root/paludis/repositories
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
parent7f7c79fcc67df4fae498ca943e36592d3f7a3ad2 (diff)
downloadpaludis-7a2c9e974666881f44406c88189ae546a67ff0b7.tar.gz
paludis-7a2c9e974666881f44406c88189ae546a67ff0b7.tar.xz
Rework Pimp to avoid ImpPtr ickiness
Fixes: ticket:1070
Diffstat (limited to 'paludis/repositories')
-rw-r--r--paludis/repositories/accounts/accounts_dep_key.cc4
-rw-r--r--paludis/repositories/accounts/accounts_dep_key.hh8
-rw-r--r--paludis/repositories/accounts/accounts_id.cc5
-rw-r--r--paludis/repositories/accounts/accounts_id.hh5
-rw-r--r--paludis/repositories/accounts/accounts_repository.cc8
-rw-r--r--paludis/repositories/accounts/accounts_repository.hh5
-rw-r--r--paludis/repositories/accounts/accounts_repository_store.cc4
-rw-r--r--paludis/repositories/accounts/accounts_repository_store.hh7
-rw-r--r--paludis/repositories/accounts/installed_accounts_id.cc5
-rw-r--r--paludis/repositories/accounts/installed_accounts_id.hh5
-rw-r--r--paludis/repositories/cran/cran_installed_repository.cc5
-rw-r--r--paludis/repositories/cran/cran_installed_repository.hh8
-rw-r--r--paludis/repositories/cran/cran_package_id.cc8
-rw-r--r--paludis/repositories/cran/cran_package_id.hh5
-rw-r--r--paludis/repositories/cran/cran_repository.cc5
-rw-r--r--paludis/repositories/cran/cran_repository.hh6
-rw-r--r--paludis/repositories/cran/description_file.cc4
-rw-r--r--paludis/repositories/cran/description_file.hh7
-rw-r--r--paludis/repositories/cran/keys.cc5
-rw-r--r--paludis/repositories/cran/keys.hh7
-rw-r--r--paludis/repositories/cran/masks.cc4
-rw-r--r--paludis/repositories/cran/masks.hh8
-rw-r--r--paludis/repositories/cran/spec_tree_pretty_printer.cc4
-rw-r--r--paludis/repositories/cran/spec_tree_pretty_printer.hh8
-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
-rw-r--r--paludis/repositories/fake/fake_installed_repository.cc5
-rw-r--r--paludis/repositories/fake/fake_installed_repository.hh7
-rw-r--r--paludis/repositories/fake/fake_package_id.cc48
-rw-r--r--paludis/repositories/fake/fake_package_id.hh36
-rw-r--r--paludis/repositories/fake/fake_repository.cc5
-rw-r--r--paludis/repositories/fake/fake_repository.hh5
-rw-r--r--paludis/repositories/fake/fake_repository_base.cc5
-rw-r--r--paludis/repositories/fake/fake_repository_base.hh5
-rw-r--r--paludis/repositories/gemcutter/gemcutter_dependencies_key.cc5
-rw-r--r--paludis/repositories/gemcutter/gemcutter_dependencies_key.hh7
-rw-r--r--paludis/repositories/gemcutter/gemcutter_id.cc5
-rw-r--r--paludis/repositories/gemcutter/gemcutter_id.hh7
-rw-r--r--paludis/repositories/gemcutter/gemcutter_repository.cc5
-rw-r--r--paludis/repositories/gemcutter/gemcutter_repository.hh5
-rw-r--r--paludis/repositories/gemcutter/gemcutter_repository_store.cc4
-rw-r--r--paludis/repositories/gemcutter/gemcutter_repository_store.hh7
-rw-r--r--paludis/repositories/gemcutter/gemcutter_uri_key.cc5
-rw-r--r--paludis/repositories/gemcutter/gemcutter_uri_key.hh7
-rw-r--r--paludis/repositories/repository/repository_id.cc5
-rw-r--r--paludis/repositories/repository/repository_id.hh7
-rw-r--r--paludis/repositories/repository/repository_repository.cc5
-rw-r--r--paludis/repositories/repository/repository_repository.hh5
-rw-r--r--paludis/repositories/repository/repository_repository_store.cc4
-rw-r--r--paludis/repositories/repository/repository_repository_store.hh7
-rw-r--r--paludis/repositories/unavailable/unavailable_package_id.cc5
-rw-r--r--paludis/repositories/unavailable/unavailable_package_id.hh7
-rw-r--r--paludis/repositories/unavailable/unavailable_repository.cc5
-rw-r--r--paludis/repositories/unavailable/unavailable_repository.hh5
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_dependencies_key.cc4
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_dependencies_key.hh8
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_file.cc4
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_file.hh7
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_id.cc5
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_id.hh5
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_store.cc4
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_store.hh7
-rw-r--r--paludis/repositories/unpackaged/installed_id.cc5
-rw-r--r--paludis/repositories/unpackaged/installed_id.hh5
-rw-r--r--paludis/repositories/unpackaged/installed_repository.cc5
-rw-r--r--paludis/repositories/unpackaged/installed_repository.hh6
-rw-r--r--paludis/repositories/unpackaged/unpackaged_id.cc5
-rw-r--r--paludis/repositories/unpackaged/unpackaged_id.hh5
-rw-r--r--paludis/repositories/unpackaged/unpackaged_key.cc6
-rw-r--r--paludis/repositories/unpackaged/unpackaged_key.hh14
-rw-r--r--paludis/repositories/unpackaged/unpackaged_repository.cc5
-rw-r--r--paludis/repositories/unpackaged/unpackaged_repository.hh6
-rw-r--r--paludis/repositories/unpackaged/unpackaged_stripper.cc5
-rw-r--r--paludis/repositories/unpackaged/unpackaged_stripper.hh7
-rw-r--r--paludis/repositories/unwritten/unwritten_id.cc5
-rw-r--r--paludis/repositories/unwritten/unwritten_id.hh7
-rw-r--r--paludis/repositories/unwritten/unwritten_repository.cc5
-rw-r--r--paludis/repositories/unwritten/unwritten_repository.hh5
-rw-r--r--paludis/repositories/unwritten/unwritten_repository_file.cc5
-rw-r--r--paludis/repositories/unwritten/unwritten_repository_file.hh7
-rw-r--r--paludis/repositories/unwritten/unwritten_repository_store.cc4
-rw-r--r--paludis/repositories/unwritten/unwritten_repository_store.hh7
-rw-r--r--paludis/repositories/virtuals/installed_virtuals_repository.cc5
-rw-r--r--paludis/repositories/virtuals/installed_virtuals_repository.hh7
-rw-r--r--paludis/repositories/virtuals/package_id.cc8
-rw-r--r--paludis/repositories/virtuals/package_id.hh10
-rw-r--r--paludis/repositories/virtuals/virtuals_repository.cc3
-rw-r--r--paludis/repositories/virtuals/virtuals_repository.hh5
174 files changed, 583 insertions, 569 deletions
diff --git a/paludis/repositories/accounts/accounts_dep_key.cc b/paludis/repositories/accounts/accounts_dep_key.cc
index fdd909870..06b2f5494 100644
--- a/paludis/repositories/accounts/accounts_dep_key.cc
+++ b/paludis/repositories/accounts/accounts_dep_key.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 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
@@ -82,7 +82,7 @@ namespace paludis
AccountsDepKey::AccountsDepKey(const Environment * const e,
const std::shared_ptr<const Set<std::string> > & s) :
- Pimp<AccountsDepKey>(e, s)
+ _imp(e, s)
{
}
diff --git a/paludis/repositories/accounts/accounts_dep_key.hh b/paludis/repositories/accounts/accounts_dep_key.hh
index 177e20ac5..d4c3decd0 100644
--- a/paludis/repositories/accounts/accounts_dep_key.hh
+++ b/paludis/repositories/accounts/accounts_dep_key.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 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
@@ -28,9 +28,11 @@ namespace paludis
namespace accounts_repository
{
class AccountsDepKey :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<AccountsDepKey>
+ public MetadataSpecTreeKey<DependencySpecTree>
{
+ private:
+ Pimp<AccountsDepKey> _imp;
+
public:
AccountsDepKey(const Environment * const e,
const std::shared_ptr<const Set<std::string> > &);
diff --git a/paludis/repositories/accounts/accounts_id.cc b/paludis/repositories/accounts/accounts_id.cc
index 8995fac0a..fd0d66a0a 100644
--- a/paludis/repositories/accounts/accounts_id.cc
+++ b/paludis/repositories/accounts/accounts_id.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 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
@@ -122,8 +122,7 @@ AccountsID::AccountsID(const Environment * const e,
const QualifiedPackageName & q, const RepositoryName & r,
const std::shared_ptr<const MetadataCollectionKey<Set<std::string> > > & f, const FSPath & l,
const bool u, const bool m) :
- Pimp<AccountsID>(e, q, r, f, l, u, m),
- _imp(Pimp<AccountsID>::_imp)
+ _imp(e, q, r, f, l, u, m)
{
if (_imp->mask)
add_mask(_imp->mask);
diff --git a/paludis/repositories/accounts/accounts_id.hh b/paludis/repositories/accounts/accounts_id.hh
index 88b90b211..f600313b3 100644
--- a/paludis/repositories/accounts/accounts_id.hh
+++ b/paludis/repositories/accounts/accounts_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 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 AccountsID :
public PackageID,
- private Pimp<AccountsID>,
public std::enable_shared_from_this<AccountsID>
{
private:
- Pimp<AccountsID>::ImpPtr & _imp;
+ Pimp<AccountsID> _imp;
void _add_metadata_keys() const;
void _need_file_keys() const;
diff --git a/paludis/repositories/accounts/accounts_repository.cc b/paludis/repositories/accounts/accounts_repository.cc
index 02af0953f..483c84cfb 100644
--- a/paludis/repositories/accounts/accounts_repository.cc
+++ b/paludis/repositories/accounts/accounts_repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 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
@@ -107,7 +107,6 @@ namespace paludis
}
AccountsRepository::AccountsRepository(const AccountsRepositoryParams & p) :
- Pimp<AccountsRepository>(p.name(), p),
Repository(
p.environment(),
p.name(),
@@ -119,13 +118,12 @@ AccountsRepository::AccountsRepository(const AccountsRepositoryParams & p) :
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<AccountsRepository>::_imp)
+ _imp(p.name(), p)
{
_add_metadata_keys();
}
AccountsRepository::AccountsRepository(const InstalledAccountsRepositoryParams & p) :
- Pimp<AccountsRepository>(p.name(), p),
Repository(
p.environment(),
p.name(),
@@ -137,7 +135,7 @@ AccountsRepository::AccountsRepository(const InstalledAccountsRepositoryParams &
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<AccountsRepository>::_imp)
+ _imp(p.name(), p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/accounts/accounts_repository.hh b/paludis/repositories/accounts/accounts_repository.hh
index 5dfac6454..78d030791 100644
--- a/paludis/repositories/accounts/accounts_repository.hh
+++ b/paludis/repositories/accounts/accounts_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 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
@@ -53,13 +53,12 @@ namespace paludis
};
class PALUDIS_VISIBLE AccountsRepository :
- private Pimp<AccountsRepository>,
public Repository,
public RepositoryDestinationInterface,
public std::enable_shared_from_this<AccountsRepository>
{
private:
- Pimp<AccountsRepository>::ImpPtr & _imp;
+ Pimp<AccountsRepository> _imp;
void _add_metadata_keys();
diff --git a/paludis/repositories/accounts/accounts_repository_store.cc b/paludis/repositories/accounts/accounts_repository_store.cc
index 279c72bb2..e32d3d32e 100644
--- a/paludis/repositories/accounts/accounts_repository_store.cc
+++ b/paludis/repositories/accounts/accounts_repository_store.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 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
@@ -87,7 +87,7 @@ AccountsRepositoryStore::AccountsRepositoryStore(
const Environment * const env,
const RepositoryName & r,
const bool installed) :
- Pimp<AccountsRepositoryStore>(env, r, installed)
+ _imp(env, r, installed)
{
_load(r);
}
diff --git a/paludis/repositories/accounts/accounts_repository_store.hh b/paludis/repositories/accounts/accounts_repository_store.hh
index 271cf3c8a..915b71546 100644
--- a/paludis/repositories/accounts/accounts_repository_store.hh
+++ b/paludis/repositories/accounts/accounts_repository_store.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 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
{
struct AccountsRepository;
- class PALUDIS_VISIBLE AccountsRepositoryStore :
- private Pimp<AccountsRepositoryStore>
+ class PALUDIS_VISIBLE AccountsRepositoryStore
{
private:
+ Pimp<AccountsRepositoryStore> _imp;
+
void _load(const RepositoryName &);
void _load_one(
diff --git a/paludis/repositories/accounts/installed_accounts_id.cc b/paludis/repositories/accounts/installed_accounts_id.cc
index 295e2bf1b..d58fc8484 100644
--- a/paludis/repositories/accounts/installed_accounts_id.cc
+++ b/paludis/repositories/accounts/installed_accounts_id.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 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
@@ -98,8 +98,7 @@ namespace paludis
InstalledAccountsID::InstalledAccountsID(const Environment * const e,
const QualifiedPackageName & q, const RepositoryName & r, const bool u) :
- Pimp<InstalledAccountsID>(e, q, r, u),
- _imp(Pimp<InstalledAccountsID>::_imp)
+ _imp(e, q, r, u)
{
add_metadata_key(_imp->behaviours_key);
}
diff --git a/paludis/repositories/accounts/installed_accounts_id.hh b/paludis/repositories/accounts/installed_accounts_id.hh
index 6d09a2edb..376d9d689 100644
--- a/paludis/repositories/accounts/installed_accounts_id.hh
+++ b/paludis/repositories/accounts/installed_accounts_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 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 InstalledAccountsID :
public PackageID,
- private Pimp<InstalledAccountsID>,
public std::enable_shared_from_this<InstalledAccountsID>
{
private:
- Pimp<InstalledAccountsID>::ImpPtr & _imp;
+ Pimp<InstalledAccountsID> _imp;
void _add_metadata_keys() const;
diff --git a/paludis/repositories/cran/cran_installed_repository.cc b/paludis/repositories/cran/cran_installed_repository.cc
index 6e86871aa..77f6459fe 100644
--- a/paludis/repositories/cran/cran_installed_repository.cc
+++ b/paludis/repositories/cran/cran_installed_repository.cc
@@ -2,7 +2,7 @@
/*
* Copyright (c) 2006, 2007 Danny van Dyk
- * 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
@@ -169,8 +169,7 @@ CRANInstalledRepository::CRANInstalledRepository(const CRANInstalledRepositoryPa
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- Pimp<CRANInstalledRepository>(p),
- _imp(Pimp<CRANInstalledRepository>::_imp)
+ _imp(p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/cran/cran_installed_repository.hh b/paludis/repositories/cran/cran_installed_repository.hh
index 1886bb4a1..2e3f71baa 100644
--- a/paludis/repositories/cran/cran_installed_repository.hh
+++ b/paludis/repositories/cran/cran_installed_repository.hh
@@ -2,7 +2,7 @@
/*
* Copyright (c) 2006 Danny van Dyk
- * 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
@@ -63,11 +63,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE CRANInstalledRepository :
public Repository,
- public RepositoryDestinationInterface,
- public Pimp<CRANInstalledRepository>
+ public RepositoryDestinationInterface
{
private:
- Pimp<CRANInstalledRepository>::ImpPtr & _imp;
+ Pimp<CRANInstalledRepository> _imp;
+
void _add_metadata_keys() const;
void need_ids() const;
diff --git a/paludis/repositories/cran/cran_package_id.cc b/paludis/repositories/cran/cran_package_id.cc
index e9e42f232..63ab526b7 100644
--- a/paludis/repositories/cran/cran_package_id.cc
+++ b/paludis/repositories/cran/cran_package_id.cc
@@ -2,7 +2,7 @@
/*
* Copyright (c) 2006, 2007 Danny van Dyk
- * 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
@@ -113,8 +113,7 @@ namespace paludis
}
CRANPackageID::CRANPackageID(const Environment * const env, const RepositoryName & r, const FSPath & f) :
- Pimp<CRANPackageID>(env, r, f),
- _imp(Pimp<CRANPackageID>::_imp)
+ _imp(env, r, f)
{
Context context("When parsing file '" + stringify(f) + "' to create a CRAN Package ID:");
@@ -283,8 +282,7 @@ CRANPackageID::CRANPackageID(const Environment * const env, const RepositoryName
CRANPackageID::CRANPackageID(const Environment * const e,
const RepositoryName & c, const CRANPackageID * const r, const std::string & t) :
- Pimp<CRANPackageID>(e, c, r, t),
- _imp(Pimp<CRANPackageID>::_imp)
+ _imp(e, c, r, t)
{
Context context("When creating contained ID '" + stringify(t) + "' in " + stringify(*r) + "':");
diff --git a/paludis/repositories/cran/cran_package_id.hh b/paludis/repositories/cran/cran_package_id.hh
index 7cbc26e3e..6770d77a0 100644
--- a/paludis/repositories/cran/cran_package_id.hh
+++ b/paludis/repositories/cran/cran_package_id.hh
@@ -2,7 +2,7 @@
/*
* Copyright (c) 2006 Danny van Dyk
- * 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
@@ -32,11 +32,10 @@ namespace paludis
{
class PALUDIS_VISIBLE CRANPackageID :
public PackageID,
- private Pimp<CRANPackageID>,
public std::enable_shared_from_this<CRANPackageID>
{
private:
- Pimp<CRANPackageID>::ImpPtr & _imp;
+ Pimp<CRANPackageID> _imp;
protected:
virtual void need_keys_added() const;
diff --git a/paludis/repositories/cran/cran_repository.cc b/paludis/repositories/cran/cran_repository.cc
index b09bcf9f1..3231f1637 100644
--- a/paludis/repositories/cran/cran_repository.cc
+++ b/paludis/repositories/cran/cran_repository.cc
@@ -2,7 +2,7 @@
/*
* Copyright (c) 2006, 2007 Danny van Dyk
- * 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
@@ -122,8 +122,7 @@ CRANRepository::CRANRepository(const CRANRepositoryParams & p) :
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- Pimp<CRANRepository>(p, std::make_shared<Mutex>()),
- _imp(Pimp<CRANRepository>::_imp)
+ _imp(p, std::make_shared<Mutex>())
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/cran/cran_repository.hh b/paludis/repositories/cran/cran_repository.hh
index e7a4e164a..f4b304191 100644
--- a/paludis/repositories/cran/cran_repository.hh
+++ b/paludis/repositories/cran/cran_repository.hh
@@ -2,7 +2,7 @@
/*
* Copyright (c) 2006 Danny van Dyk
- * 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,11 +74,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE CRANRepository :
public Repository,
- private Pimp<CRANRepository>,
public std::enable_shared_from_this<CRANRepository>
{
private:
- Pimp<CRANRepository>::ImpPtr & _imp;
+ Pimp<CRANRepository> _imp;
+
void _add_metadata_keys() const;
void need_ids() const;
diff --git a/paludis/repositories/cran/description_file.cc b/paludis/repositories/cran/description_file.cc
index d1045e9b1..919fb6298 100644
--- a/paludis/repositories/cran/description_file.cc
+++ b/paludis/repositories/cran/description_file.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
@@ -39,7 +39,7 @@ namespace paludis
}
DescriptionFile::DescriptionFile(const Source & sr) :
- Pimp<DescriptionFile>()
+ _imp()
{
Context c("When parsing CRAN description file '" + sr.filename() + "':");
diff --git a/paludis/repositories/cran/description_file.hh b/paludis/repositories/cran/description_file.hh
index 7984cd84d..1d292a1bc 100644
--- a/paludis/repositories/cran/description_file.hh
+++ b/paludis/repositories/cran/description_file.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,10 +28,11 @@ namespace paludis
namespace cranrepository
{
class PALUDIS_VISIBLE DescriptionFile :
- public ConfigFile,
- private Pimp<DescriptionFile>
+ public ConfigFile
{
private:
+ Pimp<DescriptionFile> _imp;
+
void _line(const std::string &);
public:
diff --git a/paludis/repositories/cran/keys.cc b/paludis/repositories/cran/keys.cc
index 019c40972..835f4dbdb 100644
--- a/paludis/repositories/cran/keys.cc
+++ b/paludis/repositories/cran/keys.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
@@ -159,8 +159,7 @@ namespace paludis
DepKey::DepKey(const Environment * const e, const std::string & r, const std::string & h, const std::string & v,
const std::shared_ptr<const DependenciesLabelSequence> & s, const MetadataKeyType t) :
- Pimp<DepKey>(e, v, s, r, h, t),
- _imp(Pimp<DepKey>::_imp)
+ _imp(e, v, s, r, h, t)
{
}
diff --git a/paludis/repositories/cran/keys.hh b/paludis/repositories/cran/keys.hh
index 00b0e9038..56a8e1c8b 100644
--- a/paludis/repositories/cran/keys.hh
+++ b/paludis/repositories/cran/keys.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
@@ -86,11 +86,10 @@ namespace paludis
};
class DepKey :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<DepKey>
+ public MetadataSpecTreeKey<DependencySpecTree>
{
private:
- Pimp<DepKey>::ImpPtr & _imp;
+ Pimp<DepKey> _imp;
public:
DepKey(const Environment * const,
diff --git a/paludis/repositories/cran/masks.cc b/paludis/repositories/cran/masks.cc
index 1612f619a..2afc1123b 100644
--- a/paludis/repositories/cran/masks.cc
+++ b/paludis/repositories/cran/masks.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
}
BrokenMask::BrokenMask(const char c, const std::string & d, const std::string & e) :
- Pimp<BrokenMask>(c, d, e)
+ _imp(c, d, e)
{
}
diff --git a/paludis/repositories/cran/masks.hh b/paludis/repositories/cran/masks.hh
index 58d277b67..d2f8209fa 100644
--- a/paludis/repositories/cran/masks.hh
+++ b/paludis/repositories/cran/masks.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007 Ciaran McCreesh
+ * Copyright (c) 2007, 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 cranrepository
{
class BrokenMask :
- public UnsupportedMask,
- private Pimp<BrokenMask>
+ public UnsupportedMask
{
+ private:
+ Pimp<BrokenMask> _imp;
+
public:
BrokenMask(const char, const std::string &, const std::string &);
~BrokenMask();
diff --git a/paludis/repositories/cran/spec_tree_pretty_printer.cc b/paludis/repositories/cran/spec_tree_pretty_printer.cc
index 40e43399d..bd18c6714 100644
--- a/paludis/repositories/cran/spec_tree_pretty_printer.cc
+++ b/paludis/repositories/cran/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
@@ -57,7 +57,7 @@ namespace paludis
SpecTreePrettyPrinter::SpecTreePrettyPrinter(
const PrettyPrinter & p, const PrettyPrintOptions & o) :
- Pimp<SpecTreePrettyPrinter>(p, o)
+ _imp(p, o)
{
}
diff --git a/paludis/repositories/cran/spec_tree_pretty_printer.hh b/paludis/repositories/cran/spec_tree_pretty_printer.hh
index 8b1ca8cc1..e47753e9d 100644
--- a/paludis/repositories/cran/spec_tree_pretty_printer.hh
+++ b/paludis/repositories/cran/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
@@ -31,11 +31,13 @@ namespace paludis
{
namespace cranrepository
{
- class PALUDIS_VISIBLE SpecTreePrettyPrinter :
- private Pimp<SpecTreePrettyPrinter>
+ class PALUDIS_VISIBLE SpecTreePrettyPrinter
{
friend std::ostream & operator<< (std::ostream &, const SpecTreePrettyPrinter &);
+ private:
+ Pimp<SpecTreePrettyPrinter> _imp;
+
public:
SpecTreePrettyPrinter(
const PrettyPrinter & p, const PrettyPrintOptions &);
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();
diff --git a/paludis/repositories/fake/fake_installed_repository.cc b/paludis/repositories/fake/fake_installed_repository.cc
index 9beb2402c..ca40effdf 100644
--- a/paludis/repositories/fake/fake_installed_repository.cc
+++ b/paludis/repositories/fake/fake_installed_repository.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
*
* 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
@@ -66,8 +66,7 @@ FakeInstalledRepository::FakeInstalledRepository(const FakeInstalledRepositoryPa
n::provides_interface() = this,
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- Pimp<FakeInstalledRepository>(p.supports_uninstall(), p.suitable_destination()),
- _imp(Pimp<FakeInstalledRepository>::_imp)
+ _imp(p.supports_uninstall(), p.suitable_destination())
{
add_metadata_key(_imp->format_key);
add_metadata_key(_imp->installed_root_key);
diff --git a/paludis/repositories/fake/fake_installed_repository.hh b/paludis/repositories/fake/fake_installed_repository.hh
index d9ab2a68b..9063cb7cc 100644
--- a/paludis/repositories/fake/fake_installed_repository.hh
+++ b/paludis/repositories/fake/fake_installed_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
@@ -51,11 +51,10 @@ namespace paludis
class PALUDIS_VISIBLE FakeInstalledRepository :
public FakeRepositoryBase,
public RepositoryDestinationInterface,
- public RepositoryProvidesInterface,
- private Pimp<FakeInstalledRepository>
+ public RepositoryProvidesInterface
{
private:
- Pimp<FakeInstalledRepository>::ImpPtr & _imp;
+ Pimp<FakeInstalledRepository> _imp;
protected:
/* RepositoryDestinationInterface */
diff --git a/paludis/repositories/fake/fake_package_id.cc b/paludis/repositories/fake/fake_package_id.cc
index 15d72236f..48d0197d8 100644
--- a/paludis/repositories/fake/fake_package_id.cc
+++ b/paludis/repositories/fake/fake_package_id.cc
@@ -85,8 +85,7 @@ template <typename C_>
FakeMetadataCollectionKey<C_>::FakeMetadataCollectionKey(
const std::string & r, const std::string & h, const MetadataKeyType t, const std::shared_ptr<const PackageID> & i,
const Environment * const e) :
- Pimp<FakeMetadataCollectionKey<C_> >(i, e, r, h, t),
- _imp(Pimp<FakeMetadataCollectionKey<C_> >::_imp)
+ _imp(i, e, r, h, t)
{
}
@@ -221,8 +220,7 @@ namespace paludis
template <typename C_>
FakeMetadataSpecTreeKey<C_>::FakeMetadataSpecTreeKey(const std::string & r, const std::string & h, const std::string & v,
const std::function<const std::shared_ptr<const C_> (const std::string &)> & f, const MetadataKeyType t) :
- Pimp<FakeMetadataSpecTreeKey<C_> >(f, r, h, t),
- _imp(Pimp<FakeMetadataSpecTreeKey<C_> >::_imp)
+ _imp(f, r, h, t)
{
set_from_string(v);
}
@@ -278,8 +276,7 @@ FakeMetadataSpecTreeKey<C_>::pretty_print_value(
FakeMetadataSpecTreeKey<FetchableURISpecTree>::FakeMetadataSpecTreeKey(const std::string & r, const std::string & h, const std::string & v,
const std::function<const std::shared_ptr<const FetchableURISpecTree> (const std::string &)> & f, const MetadataKeyType t) :
- Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> >(f, r, h, t),
- _imp(Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> >::_imp)
+ _imp(f, r, h, t)
{
set_from_string(v);
}
@@ -334,8 +331,7 @@ FakeMetadataSpecTreeKey<FetchableURISpecTree>::initial_label() const
FakeMetadataSpecTreeKey<DependencySpecTree>::FakeMetadataSpecTreeKey(const std::string & r, const std::string & h, const std::string & v,
const std::function<const std::shared_ptr<const DependencySpecTree> (const std::string &)> & f,
const std::shared_ptr<const DependenciesLabelSequence> & s, const MetadataKeyType t) :
- Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> >(f, s, r, h, t),
- _imp(Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> >::_imp)
+ _imp(f, s, r, h, t)
{
set_from_string(v);
}
@@ -472,8 +468,7 @@ namespace
FakeMetadataChoicesKey::FakeMetadataChoicesKey(const Environment * const e,
const std::shared_ptr<const PackageID> & i) :
- Pimp<FakeMetadataChoicesKey>(e, i),
- _imp(Pimp<FakeMetadataChoicesKey>::_imp)
+ _imp(e, i)
{
}
@@ -546,7 +541,7 @@ namespace paludis
}
FakeUnacceptedMask::FakeUnacceptedMask(const char c, const std::string & s, const std::shared_ptr<const MetadataKey> & k) :
- Pimp<FakeUnacceptedMask>(c, s, k)
+ _imp(c, s, k)
{
}
@@ -636,20 +631,20 @@ namespace paludis
const QualifiedPackageName name;
const VersionSpec version;
- std::shared_ptr<LiteralMetadataValueKey<SlotName> > slot;
- std::shared_ptr<FakeMetadataKeywordSetKey> keywords;
- std::shared_ptr<FakeMetadataSpecTreeKey<LicenseSpecTree> > license;
- std::shared_ptr<FakeMetadataSpecTreeKey<ProvideSpecTree> > provide;
- std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > build_dependencies;
- std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > run_dependencies;
- std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > post_dependencies;
- std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > suggested_dependencies;
- std::shared_ptr<FakeMetadataSpecTreeKey<PlainTextSpecTree> > restrictions;
- std::shared_ptr<FakeMetadataSpecTreeKey<FetchableURISpecTree> > src_uri;
- std::shared_ptr<FakeMetadataSpecTreeKey<SimpleURISpecTree> > homepage;
- std::shared_ptr<FakeMetadataChoicesKey> choices;
- std::shared_ptr<LiteralMetadataValueKey<long> > hitchhiker;
- std::shared_ptr<LiteralMetadataStringSetKey> behaviours;
+ mutable std::shared_ptr<LiteralMetadataValueKey<SlotName> > slot;
+ mutable std::shared_ptr<FakeMetadataKeywordSetKey> keywords;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<LicenseSpecTree> > license;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<ProvideSpecTree> > provide;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > build_dependencies;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > run_dependencies;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > post_dependencies;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > suggested_dependencies;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<PlainTextSpecTree> > restrictions;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<FetchableURISpecTree> > src_uri;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<SimpleURISpecTree> > homepage;
+ mutable std::shared_ptr<FakeMetadataChoicesKey> choices;
+ mutable std::shared_ptr<LiteralMetadataValueKey<long> > hitchhiker;
+ mutable std::shared_ptr<LiteralMetadataStringSetKey> behaviours;
std::shared_ptr<Set<std::string> > behaviours_set;
@@ -672,8 +667,7 @@ namespace paludis
FakePackageID::FakePackageID(const Environment * const e, const RepositoryName & r,
const QualifiedPackageName & q, const VersionSpec & v) :
- Pimp<FakePackageID>(e, r, q, v),
- _imp(Pimp<FakePackageID>::_imp)
+ _imp(e, r, q, v)
{
}
diff --git a/paludis/repositories/fake/fake_package_id.hh b/paludis/repositories/fake/fake_package_id.hh
index cb4f5484f..80647d97c 100644
--- a/paludis/repositories/fake/fake_package_id.hh
+++ b/paludis/repositories/fake/fake_package_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
@@ -32,11 +32,10 @@ namespace paludis
template <typename C_>
class PALUDIS_VISIBLE FakeMetadataCollectionKey :
- public MetadataCollectionKey<C_>,
- private Pimp<FakeMetadataCollectionKey<C_> >
+ public MetadataCollectionKey<C_>
{
protected:
- typename Pimp<FakeMetadataCollectionKey<C_> >::ImpPtr & _imp;
+ Pimp<FakeMetadataCollectionKey<C_> > _imp;
FakeMetadataCollectionKey(const std::string &, const std::string &, const MetadataKeyType,
const std::shared_ptr<const PackageID> &, const Environment * const);
@@ -71,11 +70,10 @@ namespace paludis
template <typename C_>
class PALUDIS_VISIBLE FakeMetadataSpecTreeKey :
- public MetadataSpecTreeKey<C_>,
- private Pimp<FakeMetadataSpecTreeKey<C_> >
+ public MetadataSpecTreeKey<C_>
{
private:
- typename Pimp<FakeMetadataSpecTreeKey<C_> >::ImpPtr & _imp;
+ Pimp<FakeMetadataSpecTreeKey<C_> > _imp;
public:
FakeMetadataSpecTreeKey(const std::string &, const std::string &, const std::string &,
@@ -98,11 +96,10 @@ namespace paludis
template <>
class PALUDIS_VISIBLE FakeMetadataSpecTreeKey<FetchableURISpecTree> :
- public MetadataSpecTreeKey<FetchableURISpecTree>,
- private Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> >
+ public MetadataSpecTreeKey<FetchableURISpecTree>
{
private:
- Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> >::ImpPtr & _imp;
+ Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> > _imp;
public:
FakeMetadataSpecTreeKey(const std::string &, const std::string &, const std::string &,
@@ -129,11 +126,10 @@ namespace paludis
template <>
class PALUDIS_VISIBLE FakeMetadataSpecTreeKey<DependencySpecTree> :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> >
+ public MetadataSpecTreeKey<DependencySpecTree>
{
private:
- Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> >::ImpPtr & _imp;
+ Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> > _imp;
public:
FakeMetadataSpecTreeKey(const std::string &, const std::string &, const std::string &,
@@ -160,11 +156,10 @@ namespace paludis
};
class PALUDIS_VISIBLE FakeMetadataChoicesKey :
- public MetadataValueKey<std::shared_ptr<const Choices> >,
- private Pimp<FakeMetadataChoicesKey>
+ public MetadataValueKey<std::shared_ptr<const Choices> >
{
private:
- Pimp<FakeMetadataChoicesKey>::ImpPtr & _imp;
+ Pimp<FakeMetadataChoicesKey> _imp;
public:
FakeMetadataChoicesKey(
@@ -181,9 +176,11 @@ namespace paludis
};
class PALUDIS_VISIBLE FakeUnacceptedMask :
- public UnacceptedMask,
- private Pimp<FakeUnacceptedMask>
+ public UnacceptedMask
{
+ private:
+ Pimp<FakeUnacceptedMask> _imp;
+
public:
FakeUnacceptedMask(const char, const std::string &, const std::shared_ptr<const MetadataKey> &);
~FakeUnacceptedMask();
@@ -215,11 +212,10 @@ namespace paludis
*/
class PALUDIS_VISIBLE FakePackageID :
public PackageID,
- private Pimp<FakePackageID>,
public std::enable_shared_from_this<FakePackageID>
{
private:
- Pimp<FakePackageID>::ImpPtr & _imp;
+ Pimp<FakePackageID> _imp;
protected:
virtual void need_keys_added() const;
diff --git a/paludis/repositories/fake/fake_repository.cc b/paludis/repositories/fake/fake_repository.cc
index e215b47a8..60040a0db 100644
--- a/paludis/repositories/fake/fake_repository.cc
+++ b/paludis/repositories/fake/fake_repository.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
*
* 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
@@ -53,7 +53,6 @@ namespace paludis
}
FakeRepository::FakeRepository(const FakeRepositoryParams & params) :
- Pimp<FakeRepository>(),
FakeRepositoryBase(params.environment(), params.name(), make_named_values<RepositoryCapabilities>(
n::destination_interface() = static_cast<RepositoryDestinationInterface *>(0),
n::environment_variable_interface() = static_cast<RepositoryEnvironmentVariableInterface *>(0),
@@ -63,7 +62,7 @@ FakeRepository::FakeRepository(const FakeRepositoryParams & params) :
n::virtuals_interface() = (*DistributionData::get_instance()->distribution_from_string(
params.environment()->distribution())).support_old_style_virtuals() ? this : 0
)),
- _imp(Pimp<FakeRepository>::_imp)
+ _imp()
{
add_metadata_key(_imp->format_key);
}
diff --git a/paludis/repositories/fake/fake_repository.hh b/paludis/repositories/fake/fake_repository.hh
index 543427a9d..dc3f291a4 100644
--- a/paludis/repositories/fake/fake_repository.hh
+++ b/paludis/repositories/fake/fake_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
@@ -51,12 +51,11 @@ namespace paludis
* \ingroup grpfakerepository
*/
class PALUDIS_VISIBLE FakeRepository :
- private Pimp<FakeRepository>,
public FakeRepositoryBase,
public RepositoryVirtualsInterface
{
private:
- Pimp<FakeRepository>::ImpPtr & _imp;
+ Pimp<FakeRepository> _imp;
public:
///\name Basic operations
diff --git a/paludis/repositories/fake/fake_repository_base.cc b/paludis/repositories/fake/fake_repository_base.cc
index 0f2793e1c..6e0663a0b 100644
--- a/paludis/repositories/fake/fake_repository_base.cc
+++ b/paludis/repositories/fake/fake_repository_base.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
*
* 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
@@ -64,8 +64,7 @@ namespace paludis
FakeRepositoryBase::FakeRepositoryBase(const Environment * const e,
const RepositoryName & our_name, const RepositoryCapabilities & caps) :
Repository(e, our_name, caps),
- Pimp<FakeRepositoryBase>(e),
- _imp(Pimp<FakeRepositoryBase>::_imp)
+ _imp(e)
{
}
diff --git a/paludis/repositories/fake/fake_repository_base.hh b/paludis/repositories/fake/fake_repository_base.hh
index 759f29560..4e4d647c8 100644
--- a/paludis/repositories/fake/fake_repository_base.hh
+++ b/paludis/repositories/fake/fake_repository_base.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
@@ -44,11 +44,10 @@ namespace paludis
*/
class PALUDIS_VISIBLE FakeRepositoryBase :
public Repository,
- private Pimp<FakeRepositoryBase>,
public std::enable_shared_from_this<FakeRepositoryBase>
{
private:
- Pimp<FakeRepositoryBase>::ImpPtr & _imp;
+ Pimp<FakeRepositoryBase> _imp;
protected:
/**
diff --git a/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc b/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc
index d3c1625da..8cfb1210d 100644
--- a/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc
+++ b/paludis/repositories/gemcutter/gemcutter_dependencies_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
@@ -238,8 +238,7 @@ namespace paludis
GemcutterDependenciesKey::GemcutterDependenciesKey(const Environment * const e, const std::string * const r, const std::string * const h,
const MetadataKeyType t, const std::shared_ptr<const GemJSONDependencies> & dd, const std::shared_ptr<const GemJSONDependencies> & dr) :
- Pimp<GemcutterDependenciesKey>(e, r, h, t, dd, dr),
- _imp(Pimp<GemcutterDependenciesKey>::_imp)
+ _imp(e, r, h, t, dd, dr)
{
}
diff --git a/paludis/repositories/gemcutter/gemcutter_dependencies_key.hh b/paludis/repositories/gemcutter/gemcutter_dependencies_key.hh
index 3b221a76f..26ee818d5 100644
--- a/paludis/repositories/gemcutter/gemcutter_dependencies_key.hh
+++ b/paludis/repositories/gemcutter/gemcutter_dependencies_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
@@ -37,11 +37,10 @@ namespace paludis
};
class GemcutterDependenciesKey :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<GemcutterDependenciesKey>
+ public MetadataSpecTreeKey<DependencySpecTree>
{
private:
- Pimp<GemcutterDependenciesKey>::ImpPtr & _imp;
+ Pimp<GemcutterDependenciesKey> _imp;
public:
GemcutterDependenciesKey(
diff --git a/paludis/repositories/gemcutter/gemcutter_id.cc b/paludis/repositories/gemcutter/gemcutter_id.cc
index 1d70f81de..3a522ecf1 100644
--- a/paludis/repositories/gemcutter/gemcutter_id.cc
+++ b/paludis/repositories/gemcutter/gemcutter_id.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
@@ -196,8 +196,7 @@ namespace paludis
}
GemcutterID::GemcutterID(const GemcutterIDParams & entry) :
- Pimp<GemcutterID>(entry),
- _imp(Pimp<GemcutterID>::_imp)
+ _imp(entry)
{
add_metadata_key(_imp->slot_key);
diff --git a/paludis/repositories/gemcutter/gemcutter_id.hh b/paludis/repositories/gemcutter/gemcutter_id.hh
index 8fbde3e7b..24302432d 100644
--- a/paludis/repositories/gemcutter/gemcutter_id.hh
+++ b/paludis/repositories/gemcutter/gemcutter_id.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
@@ -46,11 +46,10 @@ namespace paludis
};
class PALUDIS_VISIBLE GemcutterID :
- public PackageID,
- private Pimp<GemcutterID>
+ public PackageID
{
private:
- Pimp<GemcutterID>::ImpPtr & _imp;
+ Pimp<GemcutterID> _imp;
protected:
void need_keys_added() const;
diff --git a/paludis/repositories/gemcutter/gemcutter_repository.cc b/paludis/repositories/gemcutter/gemcutter_repository.cc
index 87e63907e..28c31f7ba 100644
--- a/paludis/repositories/gemcutter/gemcutter_repository.cc
+++ b/paludis/repositories/gemcutter/gemcutter_repository.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
@@ -80,7 +80,6 @@ GemcutterRepositoryConfigurationError::GemcutterRepositoryConfigurationError(con
}
GemcutterRepository::GemcutterRepository(const GemcutterRepositoryParams & p) :
- Pimp<GemcutterRepository>(this, p),
Repository(
p.environment(),
p.name(),
@@ -92,7 +91,7 @@ GemcutterRepository::GemcutterRepository(const GemcutterRepositoryParams & p) :
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<GemcutterRepository>::_imp)
+ _imp(this, p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/gemcutter/gemcutter_repository.hh b/paludis/repositories/gemcutter/gemcutter_repository.hh
index ec9e5419d..d6897c8cf 100644
--- a/paludis/repositories/gemcutter/gemcutter_repository.hh
+++ b/paludis/repositories/gemcutter/gemcutter_repository.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
@@ -52,12 +52,11 @@ namespace paludis
};
class PALUDIS_VISIBLE GemcutterRepository :
- private Pimp<GemcutterRepository>,
public Repository,
public std::enable_shared_from_this<GemcutterRepository>
{
private:
- Pimp<GemcutterRepository>::ImpPtr & _imp;
+ Pimp<GemcutterRepository> _imp;
void _add_metadata_keys();
diff --git a/paludis/repositories/gemcutter/gemcutter_repository_store.cc b/paludis/repositories/gemcutter/gemcutter_repository_store.cc
index 2878bebd5..61852fdb2 100644
--- a/paludis/repositories/gemcutter/gemcutter_repository_store.cc
+++ b/paludis/repositories/gemcutter/gemcutter_repository_store.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
@@ -77,7 +77,7 @@ GemcutterRepositoryStore::GemcutterRepositoryStore(
const Environment * const env,
const GemcutterRepository * const repo,
const FSPath & location) :
- Pimp<GemcutterRepositoryStore>(env, repo, location)
+ _imp(env, repo, location)
{
_populate();
}
diff --git a/paludis/repositories/gemcutter/gemcutter_repository_store.hh b/paludis/repositories/gemcutter/gemcutter_repository_store.hh
index c175ce8fd..2310c8fdf 100644
--- a/paludis/repositories/gemcutter/gemcutter_repository_store.hh
+++ b/paludis/repositories/gemcutter/gemcutter_repository_store.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
@@ -34,10 +34,11 @@ namespace paludis
{
namespace gemcutter_repository
{
- class PALUDIS_VISIBLE GemcutterRepositoryStore :
- private Pimp<GemcutterRepositoryStore>
+ class PALUDIS_VISIBLE GemcutterRepositoryStore
{
private:
+ Pimp<GemcutterRepositoryStore> _imp;
+
void _populate();
void _populate_one(const GemJSONInfo &);
diff --git a/paludis/repositories/gemcutter/gemcutter_uri_key.cc b/paludis/repositories/gemcutter/gemcutter_uri_key.cc
index b8f5c1f9b..9bcd1944f 100644
--- a/paludis/repositories/gemcutter/gemcutter_uri_key.cc
+++ b/paludis/repositories/gemcutter/gemcutter_uri_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
@@ -115,8 +115,7 @@ namespace paludis
GemcutterURIKey::GemcutterURIKey(const std::string * const r, const std::string * const h,
const MetadataKeyType t, const std::string & v) :
- Pimp<GemcutterURIKey>(r, h, t, v),
- _imp(Pimp<GemcutterURIKey>::_imp)
+ _imp(r, h, t, v)
{
}
diff --git a/paludis/repositories/gemcutter/gemcutter_uri_key.hh b/paludis/repositories/gemcutter/gemcutter_uri_key.hh
index 19813ffa2..984093191 100644
--- a/paludis/repositories/gemcutter/gemcutter_uri_key.hh
+++ b/paludis/repositories/gemcutter/gemcutter_uri_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
@@ -28,11 +28,10 @@ namespace paludis
namespace gemcutter_repository
{
class GemcutterURIKey :
- public MetadataSpecTreeKey<SimpleURISpecTree>,
- private Pimp<GemcutterURIKey>
+ public MetadataSpecTreeKey<SimpleURISpecTree>
{
private:
- Pimp<GemcutterURIKey>::ImpPtr & _imp;
+ Pimp<GemcutterURIKey> _imp;
public:
GemcutterURIKey(
diff --git a/paludis/repositories/repository/repository_id.cc b/paludis/repositories/repository/repository_id.cc
index 512a1489c..ba61e3836 100644
--- a/paludis/repositories/repository/repository_id.cc
+++ b/paludis/repositories/repository/repository_id.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
@@ -80,8 +80,7 @@ namespace paludis
}
RepositoryID::RepositoryID(const RepositoryIDParams & entry) :
- Pimp<RepositoryID>(entry),
- _imp(Pimp<RepositoryID>::_imp)
+ _imp(entry)
{
add_metadata_key(_imp->behaviours_key);
}
diff --git a/paludis/repositories/repository/repository_id.hh b/paludis/repositories/repository/repository_id.hh
index 0538357e1..20545a336 100644
--- a/paludis/repositories/repository/repository_id.hh
+++ b/paludis/repositories/repository/repository_id.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
@@ -44,11 +44,10 @@ namespace paludis
};
class PALUDIS_VISIBLE RepositoryID :
- public PackageID,
- private Pimp<RepositoryID>
+ public PackageID
{
private:
- Pimp<RepositoryID>::ImpPtr & _imp;
+ Pimp<RepositoryID> _imp;
protected:
void need_keys_added() const;
diff --git a/paludis/repositories/repository/repository_repository.cc b/paludis/repositories/repository/repository_repository.cc
index bfcceb8ad..670edcfd7 100644
--- a/paludis/repositories/repository/repository_repository.cc
+++ b/paludis/repositories/repository/repository_repository.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
@@ -90,7 +90,6 @@ RepositoryRepositoryConfigurationError::RepositoryRepositoryConfigurationError(c
}
RepositoryRepository::RepositoryRepository(const RepositoryRepositoryParams & p) :
- Pimp<RepositoryRepository>(this, p),
Repository(
p.environment(),
p.name(),
@@ -102,7 +101,7 @@ RepositoryRepository::RepositoryRepository(const RepositoryRepositoryParams & p)
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<RepositoryRepository>::_imp)
+ _imp(this, p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/repository/repository_repository.hh b/paludis/repositories/repository/repository_repository.hh
index b65fe2176..4a7ab3c76 100644
--- a/paludis/repositories/repository/repository_repository.hh
+++ b/paludis/repositories/repository/repository_repository.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
@@ -55,13 +55,12 @@ namespace paludis
};
class PALUDIS_VISIBLE RepositoryRepository :
- private Pimp<RepositoryRepository>,
public Repository,
public RepositoryDestinationInterface,
public std::enable_shared_from_this<RepositoryRepository>
{
private:
- Pimp<RepositoryRepository>::ImpPtr & _imp;
+ Pimp<RepositoryRepository> _imp;
void _add_metadata_keys();
diff --git a/paludis/repositories/repository/repository_repository_store.cc b/paludis/repositories/repository/repository_repository_store.cc
index cfa62f988..dfc1c164b 100644
--- a/paludis/repositories/repository/repository_repository_store.cc
+++ b/paludis/repositories/repository/repository_repository_store.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
@@ -72,7 +72,7 @@ namespace paludis
RepositoryRepositoryStore::RepositoryRepositoryStore(
const Environment * const env,
const RepositoryRepository * const repo) :
- Pimp<RepositoryRepositoryStore>(env, repo)
+ _imp(env, repo)
{
_populate();
}
diff --git a/paludis/repositories/repository/repository_repository_store.hh b/paludis/repositories/repository/repository_repository_store.hh
index afcb28d4a..c4048c77a 100644
--- a/paludis/repositories/repository/repository_repository_store.hh
+++ b/paludis/repositories/repository/repository_repository_store.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
@@ -31,10 +31,11 @@ namespace paludis
{
namespace repository_repository
{
- class PALUDIS_VISIBLE RepositoryRepositoryStore :
- private Pimp<RepositoryRepositoryStore>
+ class PALUDIS_VISIBLE RepositoryRepositoryStore
{
private:
+ Pimp<RepositoryRepositoryStore> _imp;
+
void _populate();
void _populate_one(const RepositoryName &);
diff --git a/paludis/repositories/unavailable/unavailable_package_id.cc b/paludis/repositories/unavailable/unavailable_package_id.cc
index 3b46998e1..e69d2da33 100644
--- a/paludis/repositories/unavailable/unavailable_package_id.cc
+++ b/paludis/repositories/unavailable/unavailable_package_id.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
@@ -73,8 +73,7 @@ namespace paludis
}
UnavailablePackageID::UnavailablePackageID(const UnavailablePackageIDParams & entry) :
- Pimp<UnavailablePackageID>(entry),
- _imp(Pimp<UnavailablePackageID>::_imp)
+ _imp(entry)
{
add_metadata_key(_imp->slot_key);
add_metadata_key(_imp->description_key);
diff --git a/paludis/repositories/unavailable/unavailable_package_id.hh b/paludis/repositories/unavailable/unavailable_package_id.hh
index a9f991854..2b2543f64 100644
--- a/paludis/repositories/unavailable/unavailable_package_id.hh
+++ b/paludis/repositories/unavailable/unavailable_package_id.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
@@ -58,11 +58,10 @@ namespace paludis
};
class PALUDIS_VISIBLE UnavailablePackageID :
- public PackageID,
- private Pimp<UnavailablePackageID>
+ public PackageID
{
private:
- Pimp<UnavailablePackageID>::ImpPtr & _imp;
+ Pimp<UnavailablePackageID> _imp;
protected:
void need_keys_added() const;
diff --git a/paludis/repositories/unavailable/unavailable_repository.cc b/paludis/repositories/unavailable/unavailable_repository.cc
index b4905a6d4..7698241b2 100644
--- a/paludis/repositories/unavailable/unavailable_repository.cc
+++ b/paludis/repositories/unavailable/unavailable_repository.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
@@ -91,7 +91,6 @@ UnavailableRepositoryConfigurationError::UnavailableRepositoryConfigurationError
}
UnavailableRepository::UnavailableRepository(const UnavailableRepositoryParams & p) :
- Pimp<UnavailableRepository>(this, p),
Repository(
p.environment(),
p.name(),
@@ -103,7 +102,7 @@ UnavailableRepository::UnavailableRepository(const UnavailableRepositoryParams &
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<UnavailableRepository>::_imp)
+ _imp(this, p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/unavailable/unavailable_repository.hh b/paludis/repositories/unavailable/unavailable_repository.hh
index 1284c7fae..c05b18fb6 100644
--- a/paludis/repositories/unavailable/unavailable_repository.hh
+++ b/paludis/repositories/unavailable/unavailable_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
@@ -55,12 +55,11 @@ namespace paludis
};
class PALUDIS_VISIBLE UnavailableRepository :
- private Pimp<UnavailableRepository>,
public Repository,
public std::enable_shared_from_this<UnavailableRepository>
{
private:
- Pimp<UnavailableRepository>::ImpPtr & _imp;
+ Pimp<UnavailableRepository> _imp;
void _add_metadata_keys();
diff --git a/paludis/repositories/unavailable/unavailable_repository_dependencies_key.cc b/paludis/repositories/unavailable/unavailable_repository_dependencies_key.cc
index ac8d00e4d..8e19a74c3 100644
--- a/paludis/repositories/unavailable/unavailable_repository_dependencies_key.cc
+++ b/paludis/repositories/unavailable/unavailable_repository_dependencies_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
@@ -75,7 +75,7 @@ namespace paludis
UnavailableRepositoryDependenciesKey::UnavailableRepositoryDependenciesKey(const Environment * const env,
const std::string & r, const std::string & h, const MetadataKeyType t,
const std::string & v) :
- Pimp<UnavailableRepositoryDependenciesKey>(env, r, h, t, v)
+ _imp(env, r, h, t, v)
{
}
diff --git a/paludis/repositories/unavailable/unavailable_repository_dependencies_key.hh b/paludis/repositories/unavailable/unavailable_repository_dependencies_key.hh
index 38e65aa48..7813ab446 100644
--- a/paludis/repositories/unavailable/unavailable_repository_dependencies_key.hh
+++ b/paludis/repositories/unavailable/unavailable_repository_dependencies_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
@@ -28,9 +28,11 @@ namespace paludis
namespace unavailable_repository
{
class UnavailableRepositoryDependenciesKey :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<UnavailableRepositoryDependenciesKey>
+ public MetadataSpecTreeKey<DependencySpecTree>
{
+ private:
+ Pimp<UnavailableRepositoryDependenciesKey> _imp;
+
public:
UnavailableRepositoryDependenciesKey(
const Environment * const env,
diff --git a/paludis/repositories/unavailable/unavailable_repository_file.cc b/paludis/repositories/unavailable/unavailable_repository_file.cc
index 4c0f723b4..a2f39d843 100644
--- a/paludis/repositories/unavailable/unavailable_repository_file.cc
+++ b/paludis/repositories/unavailable/unavailable_repository_file.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
@@ -60,7 +60,7 @@ namespace paludis
}
UnavailableRepositoryFile::UnavailableRepositoryFile(const FSPath & f) :
- Pimp<UnavailableRepositoryFile>()
+ _imp()
{
_load(f);
}
diff --git a/paludis/repositories/unavailable/unavailable_repository_file.hh b/paludis/repositories/unavailable/unavailable_repository_file.hh
index 1920af781..2b51a0ec6 100644
--- a/paludis/repositories/unavailable/unavailable_repository_file.hh
+++ b/paludis/repositories/unavailable/unavailable_repository_file.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
@@ -29,10 +29,11 @@ namespace paludis
{
namespace unavailable_repository
{
- class PALUDIS_VISIBLE UnavailableRepositoryFile :
- private Pimp<UnavailableRepositoryFile>
+ class PALUDIS_VISIBLE UnavailableRepositoryFile
{
private:
+ Pimp<UnavailableRepositoryFile> _imp;
+
void _load(const FSPath &);
public:
diff --git a/paludis/repositories/unavailable/unavailable_repository_id.cc b/paludis/repositories/unavailable/unavailable_repository_id.cc
index 95d0e437a..0a1ff6f12 100644
--- a/paludis/repositories/unavailable/unavailable_repository_id.cc
+++ b/paludis/repositories/unavailable/unavailable_repository_id.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
@@ -94,8 +94,7 @@ namespace paludis
}
UnavailableRepositoryID::UnavailableRepositoryID(const UnavailableRepositoryIDParams & entry) :
- Pimp<UnavailableRepositoryID>(entry),
- _imp(Pimp<UnavailableRepositoryID>::_imp)
+ _imp(entry)
{
if (_imp->dependencies_key)
add_metadata_key(_imp->dependencies_key);
diff --git a/paludis/repositories/unavailable/unavailable_repository_id.hh b/paludis/repositories/unavailable/unavailable_repository_id.hh
index 041fabd7a..5ca187787 100644
--- a/paludis/repositories/unavailable/unavailable_repository_id.hh
+++ b/paludis/repositories/unavailable/unavailable_repository_id.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
@@ -58,11 +58,10 @@ namespace paludis
class PALUDIS_VISIBLE UnavailableRepositoryID :
public PackageID,
- private Pimp<UnavailableRepositoryID>,
public std::enable_shared_from_this<UnavailableRepositoryID>
{
private:
- Pimp<UnavailableRepositoryID>::ImpPtr & _imp;
+ Pimp<UnavailableRepositoryID> _imp;
protected:
void need_keys_added() const;
diff --git a/paludis/repositories/unavailable/unavailable_repository_store.cc b/paludis/repositories/unavailable/unavailable_repository_store.cc
index d246b6853..85e9ffdf6 100644
--- a/paludis/repositories/unavailable/unavailable_repository_store.cc
+++ b/paludis/repositories/unavailable/unavailable_repository_store.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
@@ -79,7 +79,7 @@ UnavailableRepositoryStore::UnavailableRepositoryStore(
const Environment * const env,
const UnavailableRepository * const repo,
const FSPath & f) :
- Pimp<UnavailableRepositoryStore>(repo)
+ _imp(repo)
{
_populate(env, f);
}
diff --git a/paludis/repositories/unavailable/unavailable_repository_store.hh b/paludis/repositories/unavailable/unavailable_repository_store.hh
index 8dd5ff016..a2a51f84a 100644
--- a/paludis/repositories/unavailable/unavailable_repository_store.hh
+++ b/paludis/repositories/unavailable/unavailable_repository_store.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 unavailable_repository
{
- class PALUDIS_VISIBLE UnavailableRepositoryStore :
- private Pimp<UnavailableRepositoryStore>
+ class PALUDIS_VISIBLE UnavailableRepositoryStore
{
private:
+ Pimp<UnavailableRepositoryStore> _imp;
+
void _populate(const Environment * const env, const FSPath & f);
void _populate_one(const Environment * const env, const FSPath & f);
diff --git a/paludis/repositories/unpackaged/installed_id.cc b/paludis/repositories/unpackaged/installed_id.cc
index 4fa31a405..a6a8056eb 100644
--- a/paludis/repositories/unpackaged/installed_id.cc
+++ b/paludis/repositories/unpackaged/installed_id.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
@@ -454,8 +454,7 @@ namespace paludis
InstalledUnpackagedID::InstalledUnpackagedID(const Environment * const e, const QualifiedPackageName & q,
const VersionSpec & v, const SlotName & s, const RepositoryName & n, const FSPath & l,
const std::string &, const FSPath & ro, const NDBAM * const d) :
- Pimp<InstalledUnpackagedID>(e, this, q, v, s, n, l, ro, d),
- _imp(Pimp<InstalledUnpackagedID>::_imp)
+ _imp(e, this, q, v, s, n, l, ro, d)
{
add_metadata_key(_imp->fs_location_key);
add_metadata_key(_imp->slot_key);
diff --git a/paludis/repositories/unpackaged/installed_id.hh b/paludis/repositories/unpackaged/installed_id.hh
index 4a85b10e5..875a34134 100644
--- a/paludis/repositories/unpackaged/installed_id.hh
+++ b/paludis/repositories/unpackaged/installed_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
@@ -34,11 +34,10 @@ namespace paludis
{
class InstalledUnpackagedID :
public PackageID,
- private Pimp<InstalledUnpackagedID>,
public std::enable_shared_from_this<InstalledUnpackagedID>
{
private:
- Pimp<InstalledUnpackagedID>::ImpPtr & _imp;
+ Pimp<InstalledUnpackagedID> _imp;
protected:
void need_keys_added() const;
diff --git a/paludis/repositories/unpackaged/installed_repository.cc b/paludis/repositories/unpackaged/installed_repository.cc
index 1d864eaf4..557bc18f2 100644
--- a/paludis/repositories/unpackaged/installed_repository.cc
+++ b/paludis/repositories/unpackaged/installed_repository.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
@@ -92,7 +92,6 @@ namespace paludis
InstalledUnpackagedRepository::InstalledUnpackagedRepository(
const RepositoryName & n, const InstalledUnpackagedRepositoryParams & p) :
- Pimp<InstalledUnpackagedRepository>(p),
Repository(p.environment(), n, make_named_values<RepositoryCapabilities>(
n::destination_interface() = this,
n::environment_variable_interface() = static_cast<RepositoryEnvironmentVariableInterface *>(0),
@@ -101,7 +100,7 @@ InstalledUnpackagedRepository::InstalledUnpackagedRepository(
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<InstalledUnpackagedRepository>::_imp)
+ _imp(p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/unpackaged/installed_repository.hh b/paludis/repositories/unpackaged/installed_repository.hh
index 2ca0b9412..e93370425 100644
--- a/paludis/repositories/unpackaged/installed_repository.hh
+++ b/paludis/repositories/unpackaged/installed_repository.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
@@ -45,12 +45,12 @@ namespace paludis
}
class PALUDIS_VISIBLE InstalledUnpackagedRepository :
- private Pimp<InstalledUnpackagedRepository>,
public Repository,
public RepositoryDestinationInterface
{
private:
- Pimp<InstalledUnpackagedRepository>::ImpPtr & _imp;
+ Pimp<InstalledUnpackagedRepository> _imp;
+
void _add_metadata_keys() const;
protected:
diff --git a/paludis/repositories/unpackaged/unpackaged_id.cc b/paludis/repositories/unpackaged/unpackaged_id.cc
index 133b30607..37d9b7e07 100644
--- a/paludis/repositories/unpackaged/unpackaged_id.cc
+++ b/paludis/repositories/unpackaged/unpackaged_id.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
@@ -119,8 +119,7 @@ namespace paludis
UnpackagedID::UnpackagedID(const Environment * const e, const QualifiedPackageName & q,
const VersionSpec & v, const SlotName & s, const RepositoryName & n, const FSPath & l,
const std::string & b, const std::string & r, const std::string & d, const Tribool ds, const Tribool dw) :
- Pimp<UnpackagedID>(e, q, v, s, n, l, b, r, d, ds, dw, this),
- _imp(Pimp<UnpackagedID>::_imp)
+ _imp(e, q, v, s, n, l, b, r, d, ds, dw, this)
{
add_metadata_key(_imp->slot_key);
add_metadata_key(_imp->fs_location_key);
diff --git a/paludis/repositories/unpackaged/unpackaged_id.hh b/paludis/repositories/unpackaged/unpackaged_id.hh
index 635057645..8b849362b 100644
--- a/paludis/repositories/unpackaged/unpackaged_id.hh
+++ b/paludis/repositories/unpackaged/unpackaged_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
@@ -32,11 +32,10 @@ namespace paludis
{
class UnpackagedID :
public PackageID,
- private Pimp<UnpackagedID>,
public std::enable_shared_from_this<UnpackagedID>
{
private:
- Pimp<UnpackagedID>::ImpPtr & _imp;
+ Pimp<UnpackagedID> _imp;
protected:
void need_keys_added() const;
diff --git a/paludis/repositories/unpackaged/unpackaged_key.cc b/paludis/repositories/unpackaged/unpackaged_key.cc
index d2aecb806..119d1a61b 100644
--- a/paludis/repositories/unpackaged/unpackaged_key.cc
+++ b/paludis/repositories/unpackaged/unpackaged_key.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
@@ -63,7 +63,7 @@ UnpackagedDependencyKey::UnpackagedDependencyKey(const Environment * const env,
const std::string & r, const std::string & h, const MetadataKeyType t,
const std::shared_ptr<const DependenciesLabelSequence> & l,
const std::string & v) :
- Pimp<UnpackagedDependencyKey>(env, v, l, r, h, t)
+ _imp(env, v, l, r, h, t)
{
}
@@ -139,7 +139,7 @@ namespace paludis
UnpackagedChoicesKey::UnpackagedChoicesKey(const Environment * const env, const std::string & r, const std::string & h,
const MetadataKeyType t, const UnpackagedID * const id) :
- Pimp<UnpackagedChoicesKey>(env, id, r, h, t)
+ _imp(env, id, r, h, t)
{
}
diff --git a/paludis/repositories/unpackaged/unpackaged_key.hh b/paludis/repositories/unpackaged/unpackaged_key.hh
index 39519b1f4..2eedd90cd 100644
--- a/paludis/repositories/unpackaged/unpackaged_key.hh
+++ b/paludis/repositories/unpackaged/unpackaged_key.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
@@ -30,9 +30,11 @@ namespace paludis
struct UnpackagedID;
class UnpackagedDependencyKey :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<UnpackagedDependencyKey>
+ public MetadataSpecTreeKey<DependencySpecTree>
{
+ private:
+ Pimp<UnpackagedDependencyKey> _imp;
+
public:
UnpackagedDependencyKey(const Environment * const env,
const std::string & r, const std::string & h, const MetadataKeyType t,
@@ -55,9 +57,11 @@ namespace paludis
};
class UnpackagedChoicesKey :
- public MetadataValueKey<std::shared_ptr<const Choices> >,
- private Pimp<UnpackagedChoicesKey>
+ public MetadataValueKey<std::shared_ptr<const Choices> >
{
+ private:
+ Pimp<UnpackagedChoicesKey> _imp;
+
public:
UnpackagedChoicesKey(const Environment * const env,
const std::string & r, const std::string & h, const MetadataKeyType t,
diff --git a/paludis/repositories/unpackaged/unpackaged_repository.cc b/paludis/repositories/unpackaged/unpackaged_repository.cc
index 51e4c7fa7..b3ec19609 100644
--- a/paludis/repositories/unpackaged/unpackaged_repository.cc
+++ b/paludis/repositories/unpackaged/unpackaged_repository.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
@@ -94,7 +94,6 @@ namespace paludis
UnpackagedRepository::UnpackagedRepository(const RepositoryName & n,
const UnpackagedRepositoryParams & params) :
- Pimp<UnpackagedRepository>(n, params),
Repository(params.environment(), n, make_named_values<RepositoryCapabilities>(
n::destination_interface() = static_cast<RepositoryDestinationInterface *>(0),
n::environment_variable_interface() = static_cast<RepositoryEnvironmentVariableInterface *>(0),
@@ -103,7 +102,7 @@ UnpackagedRepository::UnpackagedRepository(const RepositoryName & n,
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<UnpackagedRepository>::_imp)
+ _imp(n, params)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/unpackaged/unpackaged_repository.hh b/paludis/repositories/unpackaged/unpackaged_repository.hh
index 8e3a79917..ad0efaa88 100644
--- a/paludis/repositories/unpackaged/unpackaged_repository.hh
+++ b/paludis/repositories/unpackaged/unpackaged_repository.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
@@ -63,11 +63,11 @@ namespace paludis
}
class PALUDIS_VISIBLE UnpackagedRepository :
- private Pimp<UnpackagedRepository>,
public Repository
{
private:
- Pimp<UnpackagedRepository>::ImpPtr & _imp;
+ Pimp<UnpackagedRepository> _imp;
+
void _add_metadata_keys() const;
protected:
diff --git a/paludis/repositories/unpackaged/unpackaged_stripper.cc b/paludis/repositories/unpackaged/unpackaged_stripper.cc
index 62be8cf46..b4147409b 100644
--- a/paludis/repositories/unpackaged/unpackaged_stripper.cc
+++ b/paludis/repositories/unpackaged/unpackaged_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 @@ UnpackagedStripper::UnpackagedStripper(const UnpackagedStripperOptions & options
n::split() = options.split(),
n::strip() = options.strip()
)),
- Pimp<UnpackagedStripper>(options),
- _imp(Pimp<UnpackagedStripper>::_imp)
+ _imp(options)
{
}
diff --git a/paludis/repositories/unpackaged/unpackaged_stripper.hh b/paludis/repositories/unpackaged/unpackaged_stripper.hh
index 6d38dc7e1..32383b70e 100644
--- a/paludis/repositories/unpackaged/unpackaged_stripper.hh
+++ b/paludis/repositories/unpackaged/unpackaged_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 UnpackagedStripper :
- public Stripper,
- private Pimp<UnpackagedStripper>
+ public Stripper
{
private:
- Pimp<UnpackagedStripper>::ImpPtr & _imp;
+ Pimp<UnpackagedStripper> _imp;
protected:
virtual void on_strip(const FSPath &);
diff --git a/paludis/repositories/unwritten/unwritten_id.cc b/paludis/repositories/unwritten/unwritten_id.cc
index 2aada4fd2..588b93edf 100644
--- a/paludis/repositories/unwritten/unwritten_id.cc
+++ b/paludis/repositories/unwritten/unwritten_id.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
@@ -82,8 +82,7 @@ namespace paludis
}
UnwrittenID::UnwrittenID(const UnwrittenIDParams & entry) :
- Pimp<UnwrittenID>(entry),
- _imp(Pimp<UnwrittenID>::_imp)
+ _imp(entry)
{
if (_imp->slot_key)
add_metadata_key(_imp->slot_key);
diff --git a/paludis/repositories/unwritten/unwritten_id.hh b/paludis/repositories/unwritten/unwritten_id.hh
index abef3bef0..58dd3ee2a 100644
--- a/paludis/repositories/unwritten/unwritten_id.hh
+++ b/paludis/repositories/unwritten/unwritten_id.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
@@ -70,11 +70,10 @@ namespace paludis
};
class PALUDIS_VISIBLE UnwrittenID :
- public PackageID,
- private Pimp<UnwrittenID>
+ public PackageID
{
private:
- Pimp<UnwrittenID>::ImpPtr & _imp;
+ Pimp<UnwrittenID> _imp;
protected:
void need_keys_added() const;
diff --git a/paludis/repositories/unwritten/unwritten_repository.cc b/paludis/repositories/unwritten/unwritten_repository.cc
index 3d719d2b1..2e393ea3d 100644
--- a/paludis/repositories/unwritten/unwritten_repository.cc
+++ b/paludis/repositories/unwritten/unwritten_repository.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,6 @@ UnwrittenRepositoryConfigurationError::UnwrittenRepositoryConfigurationError(con
}
UnwrittenRepository::UnwrittenRepository(const UnwrittenRepositoryParams & p) :
- Pimp<UnwrittenRepository>(this, p),
Repository(
p.environment(),
p.name(),
@@ -104,7 +103,7 @@ UnwrittenRepository::UnwrittenRepository(const UnwrittenRepositoryParams & p) :
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<UnwrittenRepository>::_imp)
+ _imp(this, p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/unwritten/unwritten_repository.hh b/paludis/repositories/unwritten/unwritten_repository.hh
index ec3ffb760..46cd1d5cd 100644
--- a/paludis/repositories/unwritten/unwritten_repository.hh
+++ b/paludis/repositories/unwritten/unwritten_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,12 +54,11 @@ namespace paludis
};
class PALUDIS_VISIBLE UnwrittenRepository :
- private Pimp<UnwrittenRepository>,
public Repository,
public std::enable_shared_from_this<UnwrittenRepository>
{
private:
- Pimp<UnwrittenRepository>::ImpPtr & _imp;
+ Pimp<UnwrittenRepository> _imp;
void _add_metadata_keys();
diff --git a/paludis/repositories/unwritten/unwritten_repository_file.cc b/paludis/repositories/unwritten/unwritten_repository_file.cc
index 157bc9fee..c1fc8e9c2 100644
--- a/paludis/repositories/unwritten/unwritten_repository_file.cc
+++ b/paludis/repositories/unwritten/unwritten_repository_file.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
@@ -65,7 +65,7 @@ namespace paludis
}
UnwrittenRepositoryFile::UnwrittenRepositoryFile(const FSPath & f) :
- Pimp<UnwrittenRepositoryFile>()
+ _imp()
{
_load(f);
}
@@ -363,4 +363,3 @@ template class Pimp<UnwrittenRepositoryFile>;
template class WrappedForwardIterator<UnwrittenRepositoryFile::ConstIteratorTag,
const UnwrittenRepositoryFileEntry>;
-
diff --git a/paludis/repositories/unwritten/unwritten_repository_file.hh b/paludis/repositories/unwritten/unwritten_repository_file.hh
index 61567445a..3cef83d05 100644
--- a/paludis/repositories/unwritten/unwritten_repository_file.hh
+++ b/paludis/repositories/unwritten/unwritten_repository_file.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
@@ -67,10 +67,11 @@ namespace paludis
NamedValue<n::version, VersionSpec> version;
};
- class PALUDIS_VISIBLE UnwrittenRepositoryFile :
- private Pimp<UnwrittenRepositoryFile>
+ class PALUDIS_VISIBLE UnwrittenRepositoryFile
{
private:
+ Pimp<UnwrittenRepositoryFile> _imp;
+
void _load(const FSPath &);
public:
diff --git a/paludis/repositories/unwritten/unwritten_repository_store.cc b/paludis/repositories/unwritten/unwritten_repository_store.cc
index 0592825c3..2626d7c09 100644
--- a/paludis/repositories/unwritten/unwritten_repository_store.cc
+++ b/paludis/repositories/unwritten/unwritten_repository_store.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
@@ -80,7 +80,7 @@ UnwrittenRepositoryStore::UnwrittenRepositoryStore(
const Environment * const env,
const UnwrittenRepository * const repo,
const FSPath & f) :
- Pimp<UnwrittenRepositoryStore>(repo)
+ _imp(repo)
{
UnwrittenRepositoryInformation info(repository_information(f));
_imp->entry_suffix = info.entry_suffix();
diff --git a/paludis/repositories/unwritten/unwritten_repository_store.hh b/paludis/repositories/unwritten/unwritten_repository_store.hh
index ad1b63091..831f5db32 100644
--- a/paludis/repositories/unwritten/unwritten_repository_store.hh
+++ b/paludis/repositories/unwritten/unwritten_repository_store.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
@@ -48,10 +48,11 @@ namespace paludis
NamedValue<n::role, std::string> role;
};
- class PALUDIS_VISIBLE UnwrittenRepositoryStore :
- private Pimp<UnwrittenRepositoryStore>
+ class PALUDIS_VISIBLE UnwrittenRepositoryStore
{
private:
+ Pimp<UnwrittenRepositoryStore> _imp;
+
void _populate_one(const Environment * const env, const FSPath & f);
void _populate(const Environment * const env, const FSPath & f);
diff --git a/paludis/repositories/virtuals/installed_virtuals_repository.cc b/paludis/repositories/virtuals/installed_virtuals_repository.cc
index 43e73081e..8d22042fa 100644
--- a/paludis/repositories/virtuals/installed_virtuals_repository.cc
+++ b/paludis/repositories/virtuals/installed_virtuals_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
@@ -116,8 +116,7 @@ InstalledVirtualsRepository::InstalledVirtualsRepository(const Environment * con
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- Pimp<InstalledVirtualsRepository>(env, r),
- _imp(Pimp<InstalledVirtualsRepository>::_imp)
+ _imp(env, r)
{
add_metadata_key(_imp->root_key);
add_metadata_key(_imp->format_key);
diff --git a/paludis/repositories/virtuals/installed_virtuals_repository.hh b/paludis/repositories/virtuals/installed_virtuals_repository.hh
index a6b78be47..615e6f9c5 100644
--- a/paludis/repositories/virtuals/installed_virtuals_repository.hh
+++ b/paludis/repositories/virtuals/installed_virtuals_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
@@ -35,11 +35,10 @@ namespace paludis
class PALUDIS_VISIBLE InstalledVirtualsRepository :
public Repository,
public RepositoryDestinationInterface,
- public std::enable_shared_from_this<InstalledVirtualsRepository>,
- private Pimp<InstalledVirtualsRepository>
+ public std::enable_shared_from_this<InstalledVirtualsRepository>
{
private:
- Pimp<InstalledVirtualsRepository>::ImpPtr & _imp;
+ Pimp<InstalledVirtualsRepository> _imp;
void need_ids() const;
diff --git a/paludis/repositories/virtuals/package_id.cc b/paludis/repositories/virtuals/package_id.cc
index 4f230042d..c6b20de1d 100644
--- a/paludis/repositories/virtuals/package_id.cc
+++ b/paludis/repositories/virtuals/package_id.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,8 +97,7 @@ VirtualsDepKey::VirtualsDepKey(const Environment * const e, const std::string &
const std::shared_ptr<const PackageID> & v,
const std::shared_ptr<const DependenciesLabelSequence> & l,
const bool exact) :
- Pimp<VirtualsDepKey>(e, v, l, exact, r, h),
- _imp(Pimp<VirtualsDepKey>::_imp)
+ _imp(e, v, l, exact, r, h)
{
}
@@ -202,8 +201,7 @@ VirtualsPackageID::VirtualsPackageID(
const QualifiedPackageName & virtual_name,
const std::shared_ptr<const PackageID> & virtual_for,
const bool exact) :
- Pimp<VirtualsPackageID>(e, r, virtual_name, virtual_for, exact),
- _imp(Pimp<VirtualsPackageID>::_imp)
+ _imp(e, r, virtual_name, virtual_for, exact)
{
add_metadata_key(_imp->virtual_for);
add_metadata_key(_imp->bdep);
diff --git a/paludis/repositories/virtuals/package_id.hh b/paludis/repositories/virtuals/package_id.hh
index 00152a1b0..ef1f5f2ee 100644
--- a/paludis/repositories/virtuals/package_id.hh
+++ b/paludis/repositories/virtuals/package_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
@@ -29,11 +29,10 @@ namespace paludis
namespace virtuals
{
class VirtualsDepKey :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<VirtualsDepKey>
+ public MetadataSpecTreeKey<DependencySpecTree>
{
private:
- Pimp<VirtualsDepKey>::ImpPtr & _imp;
+ Pimp<VirtualsDepKey> _imp;
public:
VirtualsDepKey(const Environment * const, const std::string &, const std::string &,
@@ -58,11 +57,10 @@ namespace paludis
};
class VirtualsPackageID :
- private Pimp<VirtualsPackageID>,
public PackageID
{
private:
- Pimp<VirtualsPackageID>::ImpPtr & _imp;
+ Pimp<VirtualsPackageID> _imp;
protected:
virtual void need_keys_added() const;
diff --git a/paludis/repositories/virtuals/virtuals_repository.cc b/paludis/repositories/virtuals/virtuals_repository.cc
index c1af193d1..8d9340f6c 100644
--- a/paludis/repositories/virtuals/virtuals_repository.cc
+++ b/paludis/repositories/virtuals/virtuals_repository.cc
@@ -129,8 +129,7 @@ VirtualsRepository::VirtualsRepository(const Environment * const env) :
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- Pimp<VirtualsRepository>(env),
- _imp(Pimp<VirtualsRepository>::_imp)
+ _imp(env)
{
add_metadata_key(_imp->format_key);
}
diff --git a/paludis/repositories/virtuals/virtuals_repository.hh b/paludis/repositories/virtuals/virtuals_repository.hh
index 649eda329..048bc9e3d 100644
--- a/paludis/repositories/virtuals/virtuals_repository.hh
+++ b/paludis/repositories/virtuals/virtuals_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
@@ -34,11 +34,10 @@ namespace paludis
class PALUDIS_VISIBLE VirtualsRepository :
public Repository,
public RepositoryMakeVirtualsInterface,
- private Pimp<VirtualsRepository>,
public std::enable_shared_from_this<VirtualsRepository>
{
private:
- Pimp<VirtualsRepository>::ImpPtr & _imp;
+ Pimp<VirtualsRepository> _imp;
void need_names() const;
void need_ids() const;