aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-06-06 13:25:42 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-06-06 13:25:42 +0000
commit927e85f20de0283a6a1eb3c38348b91173029f49 (patch)
treeac4c0c75314afdbd860fe6ce356f4e564787a603
parenta372a401f02d3c0bceefc110e428fbe7dfbdb1c9 (diff)
downloadpaludis-927e85f20de0283a6a1eb3c38348b91173029f49.tar.gz
paludis-927e85f20de0283a6a1eb3c38348b91173029f49.tar.xz
r3336@snowflake: ciaranm | 2007-06-06 14:25:08 +0100
Use libwrapiter 1.2.0
-rw-r--r--configure.ac6
-rw-r--r--paludis/args/args_group.hh2
-rw-r--r--paludis/args/args_handler.hh2
-rw-r--r--paludis/config_file.cc1
-rw-r--r--paludis/config_file.hh2
-rw-r--r--paludis/config_file_TEST.cc2
-rw-r--r--paludis/contents.cc1
-rw-r--r--paludis/contents.hh2
-rw-r--r--paludis/dep_list/condition_tracker.cc2
-rw-r--r--paludis/dep_list/dep_list.cc3
-rw-r--r--paludis/dep_list/dep_list.hh2
-rw-r--r--paludis/dep_list/dep_list_TEST.cc2
-rw-r--r--paludis/dep_list/dep_list_TEST.hh1
-rw-r--r--paludis/dep_list/exceptions.cc2
-rw-r--r--paludis/dep_list/query_visitor.cc2
-rw-r--r--paludis/dep_list/range_rewriter.cc2
-rw-r--r--paludis/dep_list/show_suggest_visitor.cc2
-rw-r--r--paludis/dep_list/uninstall_list.cc2
-rw-r--r--paludis/dep_list/uninstall_list.hh2
-rw-r--r--paludis/dep_list/uninstall_list_TEST.cc2
-rw-r--r--paludis/dep_spec.cc2
-rw-r--r--paludis/dep_spec.hh2
-rw-r--r--paludis/dep_spec_TEST.cc2
-rw-r--r--paludis/dep_spec_flattener.cc1
-rw-r--r--paludis/dep_spec_flattener.hh2
-rw-r--r--paludis/dep_spec_pretty_printer.cc1
-rw-r--r--paludis/dep_spec_pretty_printer_TEST.cc1
-rw-r--r--paludis/dep_tag.cc1
-rw-r--r--paludis/environment_implementation.cc2
-rw-r--r--paludis/environment_implementation_TEST.cc2
-rw-r--r--paludis/environments/no_config/no_config_environment.cc2
-rw-r--r--paludis/environments/no_config/no_config_environment.hh2
-rw-r--r--paludis/environments/paludis/keywords_conf.cc2
-rw-r--r--paludis/environments/paludis/licenses_conf.cc1
-rw-r--r--paludis/environments/paludis/mirrors_conf.cc2
-rw-r--r--paludis/environments/paludis/package_mask_conf.cc1
-rw-r--r--paludis/environments/paludis/paludis_config.cc3
-rw-r--r--paludis/environments/paludis/paludis_environment.cc2
-rw-r--r--paludis/environments/paludis/paludis_environment_TEST.cc2
-rw-r--r--paludis/environments/paludis/use_conf.cc2
-rw-r--r--paludis/environments/portage/portage_environment.cc2
-rw-r--r--paludis/environments/portage/portage_environment_TEST.cc2
-rw-r--r--paludis/environments/test/test_environment.cc2
-rw-r--r--paludis/files.m42
-rw-r--r--paludis/hook.cc1
-rw-r--r--paludis/hook.hh2
-rw-r--r--paludis/match_package.cc1
-rw-r--r--paludis/name.cc1
-rw-r--r--paludis/package_database.cc171
-rw-r--r--paludis/package_database.hh10
-rw-r--r--paludis/package_database_TEST.cc2
-rw-r--r--paludis/paludis.cc8
-rw-r--r--paludis/paludis.hh.m411
-rw-r--r--paludis/portage_dep_lexer.cc1
-rw-r--r--paludis/portage_dep_lexer.hh2
-rw-r--r--paludis/portage_dep_lexer_TEST.cc3
-rw-r--r--paludis/portage_dep_parser.cc2
-rw-r--r--paludis/portage_dep_parser_TEST.cc1
-rw-r--r--paludis/qa/categories_check.cc1
-rw-r--r--paludis/qa/dep_any_check.cc1
-rw-r--r--paludis/qa/dep_flags_check.cc1
-rw-r--r--paludis/qa/dep_packages_check.cc1
-rw-r--r--paludis/qa/deprecated_functions_check.cc1
-rw-r--r--paludis/qa/deps_exist_check.cc2
-rw-r--r--paludis/qa/deps_visible_check.cc2
-rw-r--r--paludis/qa/extract_check.cc1
-rw-r--r--paludis/qa/homepage_check.cc2
-rw-r--r--paludis/qa/inherits_check.cc1
-rw-r--r--paludis/qa/iuse_check.cc2
-rw-r--r--paludis/qa/keywords_check.cc2
-rw-r--r--paludis/qa/license_check.cc1
-rw-r--r--paludis/qa/metadata_file.cc1
-rw-r--r--paludis/qa/metadata_file.hh3
-rw-r--r--paludis/qa/metadata_file_TEST.cc1
-rw-r--r--paludis/qa/pdepend_overlap_check.cc1
-rw-r--r--paludis/qa/profile_paths_exist_check.cc1
-rw-r--r--paludis/qa/qa_environment.hh2
-rw-r--r--paludis/qa/repo_name_check.cc1
-rw-r--r--paludis/qa/restrict_check.cc1
-rw-r--r--paludis/qa/src_uri_check.cc1
-rw-r--r--paludis/query.cc2
-rw-r--r--paludis/repositories/cran/cran_dep_parser.cc2
-rw-r--r--paludis/repositories/cran/cran_dep_parser_TEST.cc1
-rw-r--r--paludis/repositories/cran/cran_description.cc2
-rw-r--r--paludis/repositories/cran/cran_installed_repository.cc3
-rw-r--r--paludis/repositories/cran/cran_repository.cc3
-rw-r--r--paludis/repositories/cran/cran_repository_TEST.cc2
-rw-r--r--paludis/repositories/fake/fake_installed_repository.cc2
-rw-r--r--paludis/repositories/fake/fake_repository.cc3
-rw-r--r--paludis/repositories/fake/fake_repository_base.cc2
-rw-r--r--paludis/repositories/gems/gem_specification.cc2
-rw-r--r--paludis/repositories/gems/gem_specifications.cc2
-rw-r--r--paludis/repositories/gems/gem_specifications.hh2
-rw-r--r--paludis/repositories/gems/gems_repository.cc2
-rw-r--r--paludis/repositories/gems/installed_gems_repository.cc3
-rw-r--r--paludis/repositories/gems/registration.cc2
-rw-r--r--paludis/repositories/gems/yaml.cc2
-rw-r--r--paludis/repositories/gems/yaml_TEST.cc1
-rw-r--r--paludis/repositories/gentoo/eapi_phase.cc2
-rw-r--r--paludis/repositories/gentoo/eapi_phase.hh2
-rw-r--r--paludis/repositories/gentoo/ebin.cc2
-rw-r--r--paludis/repositories/gentoo/ebin_entries.cc2
-rw-r--r--paludis/repositories/gentoo/ebuild.cc2
-rw-r--r--paludis/repositories/gentoo/ebuild_entries.cc3
-rw-r--r--paludis/repositories/gentoo/ebuild_flat_metadata_cache.cc1
-rw-r--r--paludis/repositories/gentoo/eclass_mtimes.cc2
-rw-r--r--paludis/repositories/gentoo/exheres_layout.cc2
-rw-r--r--paludis/repositories/gentoo/glsa.cc2
-rw-r--r--paludis/repositories/gentoo/glsa.hh2
-rw-r--r--paludis/repositories/gentoo/make_ebin_repository.cc2
-rw-r--r--paludis/repositories/gentoo/make_ebuild_repository.cc2
-rw-r--r--paludis/repositories/gentoo/portage_repository.cc3
-rw-r--r--paludis/repositories/gentoo/portage_repository.hh2
-rw-r--r--paludis/repositories/gentoo/portage_repository_TEST.cc2
-rw-r--r--paludis/repositories/gentoo/portage_repository_news.cc1
-rw-r--r--paludis/repositories/gentoo/portage_repository_profile.cc2
-rw-r--r--paludis/repositories/gentoo/portage_repository_profile.hh2
-rw-r--r--paludis/repositories/gentoo/portage_repository_profile_file.cc2
-rw-r--r--paludis/repositories/gentoo/portage_repository_profile_file.hh2
-rw-r--r--paludis/repositories/gentoo/portage_repository_sets.cc28
-rw-r--r--paludis/repositories/gentoo/portage_repository_sets.hh4
-rw-r--r--paludis/repositories/gentoo/portage_repository_sets_TEST.cc2
-rw-r--r--paludis/repositories/gentoo/registration.cc2
-rw-r--r--paludis/repositories/gentoo/traditional_layout.cc3
-rw-r--r--paludis/repositories/gentoo/use_desc.cc2
-rw-r--r--paludis/repositories/gentoo/vdb_merger.cc2
-rw-r--r--paludis/repositories/gentoo/vdb_repository.cc3
-rw-r--r--paludis/repositories/gentoo/vdb_unmerger.cc2
-rw-r--r--paludis/repositories/gentoo/xml_things_TEST.cc1
-rw-r--r--paludis/repositories/virtuals/installed_virtuals_repository.cc2
-rw-r--r--paludis/repositories/virtuals/virtuals_repository.cc2
-rw-r--r--paludis/repository.cc9
-rw-r--r--paludis/repository.hh7
-rw-r--r--paludis/repository_name_cache.cc2
-rw-r--r--paludis/repository_name_cache_TEST.cc2
-rw-r--r--paludis/set_file.cc2
-rw-r--r--paludis/set_file_TEST.cc1
-rw-r--r--paludis/syncer.cc2
-rw-r--r--paludis/tasks/find_unused_packages_task.cc2
-rw-r--r--paludis/tasks/install_task.cc2
-rw-r--r--paludis/tasks/install_task.hh2
-rw-r--r--paludis/tasks/report_task.cc2
-rw-r--r--paludis/tasks/stage_builder_task.cc1
-rw-r--r--paludis/tasks/stage_builder_task.hh2
-rw-r--r--paludis/tasks/sync_task.cc1
-rw-r--r--paludis/tasks/uninstall_task.cc2
-rw-r--r--paludis/tasks/uninstall_task.hh1
-rw-r--r--paludis/util/collection.hh3
-rw-r--r--paludis/util/pstream.cc1
-rw-r--r--paludis/util/system.cc1
-rw-r--r--paludis/util/system.hh2
-rw-r--r--paludis/util/visitor.hh2
-rw-r--r--paludis/version_metadata.cc2
-rw-r--r--python/contents.cc2
-rw-r--r--python/dep_spec.cc2
-rw-r--r--python/name.cc2
-rw-r--r--python/package_database.cc1
-rw-r--r--python/repository.cc1
-rw-r--r--python/version_requirements.cc2
-rw-r--r--python/version_spec.cc2
-rw-r--r--ruby/contents.cc2
-rw-r--r--ruby/dep_list.cc1
-rw-r--r--ruby/dep_spec.cc2
-rw-r--r--ruby/environment.cc2
-rw-r--r--ruby/find_unused_packages_task.cc2
-rw-r--r--ruby/metadata_file.cc1
-rw-r--r--ruby/package_database.cc2
-rw-r--r--ruby/repository.cc2
-rw-r--r--ruby/version_metadata.cc2
-rw-r--r--src/clients/adjutrix/find_reverse_deps.cc2
-rw-r--r--src/clients/contrarius/stage_builder.cc1
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/categories_list_model.cc2
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/packages_list_model.cc2
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/packages_repository_filter_model.cc2
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/repositories_list_model.cc2
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/repository_info_model.cc2
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/version_info_model.cc2
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/versions_list_model.cc2
-rw-r--r--src/clients/paludis/applets.cc2
-rw-r--r--src/clients/paludis/install.cc3
-rw-r--r--src/output/console_install_task.cc2
-rw-r--r--src/output/console_install_task.hh1
-rw-r--r--src/output/console_query_task.cc2
-rw-r--r--src/output/licence.cc1
-rw-r--r--src/output/use_flag_pretty_printer.cc2
185 files changed, 395 insertions, 178 deletions
diff --git a/configure.ac b/configure.ac
index 5f13813..5d7de0f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -364,13 +364,13 @@ int main(int, char **)
AC_MSG_CHECKING([libwrapiter version])
AC_COMPILE_IFELSE([
#include <libwrapiter/libwrapiter.hh>
-#if LIBWRAPITER_VERSION < 1000
-# error libwrapiter 1.0 or later required
+#if LIBWRAPITER_VERSION < 10200
+# error libwrapiter 1.2.0 or later required
#endif
],
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])
- AC_MSG_ERROR([libwrapiter version must be at least 1.0])])
+ AC_MSG_ERROR([libwrapiter version must be at least 1.2.0])])
dnl }}}
dnl {{{ we can use abi::__cxa_demangle
diff --git a/paludis/args/args_group.hh b/paludis/args/args_group.hh
index 05f30ec..ec94552 100644
--- a/paludis/args/args_group.hh
+++ b/paludis/args/args_group.hh
@@ -25,7 +25,7 @@
#include <paludis/util/private_implementation_pattern.hh>
#include <string>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
/** \file
* Declaration for ArgsGroup.
diff --git a/paludis/args/args_handler.hh b/paludis/args/args_handler.hh
index 4f41157..62d6c09 100644
--- a/paludis/args/args_handler.hh
+++ b/paludis/args/args_handler.hh
@@ -27,7 +27,7 @@
#include <iosfwd>
#include <string>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
/** \file
* Declaration for ArgsHandler.
diff --git a/paludis/config_file.cc b/paludis/config_file.cc
index 4c25186..ec2ff6a 100644
--- a/paludis/config_file.cc
+++ b/paludis/config_file.cc
@@ -28,6 +28,7 @@
#include <paludis/util/join.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <fstream>
#include <istream>
#include <list>
diff --git a/paludis/config_file.hh b/paludis/config_file.hh
index 79eb5a0..c66c3e5 100644
--- a/paludis/config_file.hh
+++ b/paludis/config_file.hh
@@ -26,7 +26,7 @@
#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/util/options.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
#include <iosfwd>
#include <string>
diff --git a/paludis/config_file_TEST.cc b/paludis/config_file_TEST.cc
index 11509d0..df371a0 100644
--- a/paludis/config_file_TEST.cc
+++ b/paludis/config_file_TEST.cc
@@ -22,6 +22,8 @@
#include <paludis/util/stringify.hh>
#include <paludis/util/system.hh>
#include <paludis/util/collection_concrete.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <sstream>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/contents.cc b/paludis/contents.cc
index cdeb7eb..980b305 100644
--- a/paludis/contents.cc
+++ b/paludis/contents.cc
@@ -20,6 +20,7 @@
#include "contents.hh"
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <list>
/** \file
diff --git a/paludis/contents.hh b/paludis/contents.hh
index 61d8c39..3595576 100644
--- a/paludis/contents.hh
+++ b/paludis/contents.hh
@@ -26,7 +26,7 @@
#include <paludis/util/tr1_memory.hh>
#include <string>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
/** \file
* Declarations for the Contents classes.
diff --git a/paludis/dep_list/condition_tracker.cc b/paludis/dep_list/condition_tracker.cc
index 887b499..3201aba 100644
--- a/paludis/dep_list/condition_tracker.cc
+++ b/paludis/dep_list/condition_tracker.cc
@@ -21,6 +21,8 @@
#include <paludis/util/stringify.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/dep_spec.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
using namespace tr1::placeholders;
diff --git a/paludis/dep_list/dep_list.cc b/paludis/dep_list/dep_list.cc
index b9a9056..a953354 100644
--- a/paludis/dep_list/dep_list.cc
+++ b/paludis/dep_list/dep_list.cc
@@ -46,6 +46,9 @@
#include <paludis/util/tr1_functional.hh>
#include <paludis/util/visitor-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
+
#include <algorithm>
#include <functional>
#include <vector>
diff --git a/paludis/dep_list/dep_list.hh b/paludis/dep_list/dep_list.hh
index ff899a4..2697e23 100644
--- a/paludis/dep_list/dep_list.hh
+++ b/paludis/dep_list/dep_list.hh
@@ -33,7 +33,7 @@
#include <iosfwd>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
namespace paludis
{
diff --git a/paludis/dep_list/dep_list_TEST.cc b/paludis/dep_list/dep_list_TEST.cc
index 218d020..b367903 100644
--- a/paludis/dep_list/dep_list_TEST.cc
+++ b/paludis/dep_list/dep_list_TEST.cc
@@ -20,6 +20,8 @@
#include "dep_list_TEST.hh"
#include <paludis/util/visitor-impl.hh>
#include <paludis/dep_spec_pretty_printer.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
using namespace test;
diff --git a/paludis/dep_list/dep_list_TEST.hh b/paludis/dep_list/dep_list_TEST.hh
index 2aef3b8..9718dab 100644
--- a/paludis/dep_list/dep_list_TEST.hh
+++ b/paludis/dep_list/dep_list_TEST.hh
@@ -31,6 +31,7 @@
#include <paludis/environments/test/test_environment.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <string>
#include <list>
#include <ostream>
diff --git a/paludis/dep_list/exceptions.cc b/paludis/dep_list/exceptions.cc
index 32a4945..a3ba96f 100644
--- a/paludis/dep_list/exceptions.cc
+++ b/paludis/dep_list/exceptions.cc
@@ -18,6 +18,8 @@
*/
#include "exceptions.hh"
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
diff --git a/paludis/dep_list/query_visitor.cc b/paludis/dep_list/query_visitor.cc
index c2919b7..d63373e 100644
--- a/paludis/dep_list/query_visitor.cc
+++ b/paludis/dep_list/query_visitor.cc
@@ -23,6 +23,8 @@
#include <paludis/package_database.hh>
#include <paludis/util/tr1_functional.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <algorithm>
using namespace paludis;
diff --git a/paludis/dep_list/range_rewriter.cc b/paludis/dep_list/range_rewriter.cc
index 9ce0678..5583b29 100644
--- a/paludis/dep_list/range_rewriter.cc
+++ b/paludis/dep_list/range_rewriter.cc
@@ -18,6 +18,8 @@
*/
#include "range_rewriter.hh"
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
diff --git a/paludis/dep_list/show_suggest_visitor.cc b/paludis/dep_list/show_suggest_visitor.cc
index 5996f9e..04a0014 100644
--- a/paludis/dep_list/show_suggest_visitor.cc
+++ b/paludis/dep_list/show_suggest_visitor.cc
@@ -26,6 +26,8 @@
#include <paludis/util/save.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
diff --git a/paludis/dep_list/uninstall_list.cc b/paludis/dep_list/uninstall_list.cc
index c95c5f7..3adfba6 100644
--- a/paludis/dep_list/uninstall_list.cc
+++ b/paludis/dep_list/uninstall_list.cc
@@ -34,6 +34,8 @@ using namespace paludis;
#include <paludis/match_package.hh>
#include <paludis/version_metadata.hh>
#include <paludis/package_database.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
#include <algorithm>
diff --git a/paludis/dep_list/uninstall_list.hh b/paludis/dep_list/uninstall_list.hh
index 9d72e8d..49b6296 100644
--- a/paludis/dep_list/uninstall_list.hh
+++ b/paludis/dep_list/uninstall_list.hh
@@ -26,7 +26,7 @@
#include <paludis/package_database_entry.hh>
#include <paludis/dep_tag.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
namespace paludis
{
diff --git a/paludis/dep_list/uninstall_list_TEST.cc b/paludis/dep_list/uninstall_list_TEST.cc
index 6f8788f..afaa93d 100644
--- a/paludis/dep_list/uninstall_list_TEST.cc
+++ b/paludis/dep_list/uninstall_list_TEST.cc
@@ -28,6 +28,8 @@
#include <paludis/package_database.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <string>
#include <list>
#include <ostream>
diff --git a/paludis/dep_spec.cc b/paludis/dep_spec.cc
index 6f42f86..81ed200 100644
--- a/paludis/dep_spec.cc
+++ b/paludis/dep_spec.cc
@@ -28,6 +28,8 @@
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/stringify.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
#include <map>
diff --git a/paludis/dep_spec.hh b/paludis/dep_spec.hh
index 5392e6b..5544c82 100644
--- a/paludis/dep_spec.hh
+++ b/paludis/dep_spec.hh
@@ -32,7 +32,7 @@
#include <paludis/version_operator-fwd.hh>
#include <paludis/version_spec-fwd.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
#include <paludis/util/tr1_memory.hh>
diff --git a/paludis/dep_spec_TEST.cc b/paludis/dep_spec_TEST.cc
index b642e1d..ef9338a 100644
--- a/paludis/dep_spec_TEST.cc
+++ b/paludis/dep_spec_TEST.cc
@@ -20,6 +20,8 @@
#include <paludis/dep_spec.hh>
#include <paludis/util/iterator.hh>
#include <paludis/version_requirements.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/dep_spec_flattener.cc b/paludis/dep_spec_flattener.cc
index 2323c74..78dd5b4 100644
--- a/paludis/dep_spec_flattener.cc
+++ b/paludis/dep_spec_flattener.cc
@@ -21,6 +21,7 @@
#include <paludis/dep_spec_flattener.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <list>
#include <algorithm>
diff --git a/paludis/dep_spec_flattener.hh b/paludis/dep_spec_flattener.hh
index 469dad0..ac925d9 100644
--- a/paludis/dep_spec_flattener.hh
+++ b/paludis/dep_spec_flattener.hh
@@ -26,7 +26,7 @@
#include <paludis/util/attributes.hh>
#include <paludis/util/instantiation_policy.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
/** \file
* Declarations for DepSpecFlattener.
diff --git a/paludis/dep_spec_pretty_printer.cc b/paludis/dep_spec_pretty_printer.cc
index 519f51e..1c3c242 100644
--- a/paludis/dep_spec_pretty_printer.cc
+++ b/paludis/dep_spec_pretty_printer.cc
@@ -24,6 +24,7 @@
#include <paludis/util/save.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
/** \file
* Implementation of dep_spec_pretty_printer.hh.
diff --git a/paludis/dep_spec_pretty_printer_TEST.cc b/paludis/dep_spec_pretty_printer_TEST.cc
index c267c71..ca0d980 100644
--- a/paludis/dep_spec_pretty_printer_TEST.cc
+++ b/paludis/dep_spec_pretty_printer_TEST.cc
@@ -21,6 +21,7 @@
#include "portage_dep_parser.hh"
#include <paludis/util/visitor-impl.hh>
#include <paludis/eapi.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <test/test_runner.hh>
#include <test/test_framework.hh>
diff --git a/paludis/dep_tag.cc b/paludis/dep_tag.cc
index 9f24258..0269f6b 100644
--- a/paludis/dep_tag.cc
+++ b/paludis/dep_tag.cc
@@ -23,6 +23,7 @@
#include <paludis/util/virtual_constructor-impl.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/instantiation_policy-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
/** \file
* Implementation for DepTag, DepTagCategory etc.
diff --git a/paludis/environment_implementation.cc b/paludis/environment_implementation.cc
index da5c577..89dbcd0 100644
--- a/paludis/environment_implementation.cc
+++ b/paludis/environment_implementation.cc
@@ -26,6 +26,8 @@
#include <paludis/util/log.hh>
#include <paludis/util/save.hh>
#include <paludis/eapi.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <algorithm>
#include "config.h"
diff --git a/paludis/environment_implementation_TEST.cc b/paludis/environment_implementation_TEST.cc
index 4648334..06fa94a 100644
--- a/paludis/environment_implementation_TEST.cc
+++ b/paludis/environment_implementation_TEST.cc
@@ -20,6 +20,8 @@
#include <paludis/environment_implementation.hh>
#include <paludis/package_database.hh>
#include <paludis/repositories/fake/fake_repository.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/environments/no_config/no_config_environment.cc b/paludis/environments/no_config/no_config_environment.cc
index 9926be8..0941f60 100644
--- a/paludis/environments/no_config/no_config_environment.cc
+++ b/paludis/environments/no_config/no_config_environment.cc
@@ -27,6 +27,8 @@
#include <paludis/config_file.hh>
#include <paludis/distribution.hh>
#include <paludis/package_database.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <set>
using namespace paludis;
diff --git a/paludis/environments/no_config/no_config_environment.hh b/paludis/environments/no_config/no_config_environment.hh
index ff869ae..8906fd9 100644
--- a/paludis/environments/no_config/no_config_environment.hh
+++ b/paludis/environments/no_config/no_config_environment.hh
@@ -23,7 +23,7 @@
#include <paludis/environment_implementation.hh>
#include <paludis/util/fs_entry.hh>
#include <paludis/util/private_implementation_pattern.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
namespace paludis
{
diff --git a/paludis/environments/paludis/keywords_conf.cc b/paludis/environments/paludis/keywords_conf.cc
index 07df872..fc619aa 100644
--- a/paludis/environments/paludis/keywords_conf.cc
+++ b/paludis/environments/paludis/keywords_conf.cc
@@ -29,6 +29,8 @@
#include <paludis/util/log.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/tokeniser.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
#include <vector>
#include <map>
diff --git a/paludis/environments/paludis/licenses_conf.cc b/paludis/environments/paludis/licenses_conf.cc
index cee66a5..f68eb6a 100644
--- a/paludis/environments/paludis/licenses_conf.cc
+++ b/paludis/environments/paludis/licenses_conf.cc
@@ -29,6 +29,7 @@
#include <paludis/util/log.hh>
#include <paludis/util/tokeniser.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <list>
#include <vector>
#include <map>
diff --git a/paludis/environments/paludis/mirrors_conf.cc b/paludis/environments/paludis/mirrors_conf.cc
index 4060bad..9aa3cbb 100644
--- a/paludis/environments/paludis/mirrors_conf.cc
+++ b/paludis/environments/paludis/mirrors_conf.cc
@@ -29,6 +29,8 @@
#include <paludis/util/tokeniser.hh>
#include <paludis/util/collection_concrete.hh>
#include <paludis/util/tr1_functional.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <vector>
using namespace paludis;
diff --git a/paludis/environments/paludis/package_mask_conf.cc b/paludis/environments/paludis/package_mask_conf.cc
index 8aea101..3f52c81 100644
--- a/paludis/environments/paludis/package_mask_conf.cc
+++ b/paludis/environments/paludis/package_mask_conf.cc
@@ -32,6 +32,7 @@
#include <list>
#include <algorithm>
#include <paludis/util/tr1_functional.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace paludis;
using namespace paludis::paludis_environment;
diff --git a/paludis/environments/paludis/paludis_config.cc b/paludis/environments/paludis/paludis_config.cc
index 4427489..f7bdf49 100644
--- a/paludis/environments/paludis/paludis_config.cc
+++ b/paludis/environments/paludis/paludis_config.cc
@@ -53,6 +53,9 @@
#include <sys/types.h>
#include <pwd.h>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
+
#include "config.h"
/** \file
diff --git a/paludis/environments/paludis/paludis_environment.cc b/paludis/environments/paludis/paludis_environment.cc
index e98fd5f..0f6e450 100644
--- a/paludis/environments/paludis/paludis_environment.cc
+++ b/paludis/environments/paludis/paludis_environment.cc
@@ -42,6 +42,8 @@
#include <paludis/util/save.hh>
#include <paludis/util/strip.hh>
#include <paludis/util/tr1_functional.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <functional>
#include <algorithm>
#include <list>
diff --git a/paludis/environments/paludis/paludis_environment_TEST.cc b/paludis/environments/paludis/paludis_environment_TEST.cc
index e62acd1..2ebc0e0 100644
--- a/paludis/environments/paludis/paludis_environment_TEST.cc
+++ b/paludis/environments/paludis/paludis_environment_TEST.cc
@@ -22,6 +22,8 @@
#include <paludis/util/fs_entry.hh>
#include <test/test_runner.hh>
#include <test/test_framework.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <cstdlib>
using namespace paludis;
diff --git a/paludis/environments/paludis/use_conf.cc b/paludis/environments/paludis/use_conf.cc
index b324df6..16e3275 100644
--- a/paludis/environments/paludis/use_conf.cc
+++ b/paludis/environments/paludis/use_conf.cc
@@ -34,6 +34,8 @@
#include <paludis/util/collection_concrete.hh>
#include <list>
#include <vector>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
using namespace paludis::paludis_environment;
diff --git a/paludis/environments/portage/portage_environment.cc b/paludis/environments/portage/portage_environment.cc
index 5cb959a..8b7c33d 100644
--- a/paludis/environments/portage/portage_environment.cc
+++ b/paludis/environments/portage/portage_environment.cc
@@ -34,6 +34,8 @@
#include <paludis/package_database.hh>
#include <algorithm>
#include <paludis/util/tr1_functional.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <functional>
#include <set>
#include <map>
diff --git a/paludis/environments/portage/portage_environment_TEST.cc b/paludis/environments/portage/portage_environment_TEST.cc
index 0609098..95aa5c8 100644
--- a/paludis/environments/portage/portage_environment_TEST.cc
+++ b/paludis/environments/portage/portage_environment_TEST.cc
@@ -23,6 +23,8 @@
#include <paludis/package_database_entry.hh>
#include <paludis/util/collection_concrete.hh>
#include <paludis/util/join.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
using namespace test;
diff --git a/paludis/environments/test/test_environment.cc b/paludis/environments/test/test_environment.cc
index 5343467..520abbb 100644
--- a/paludis/environments/test/test_environment.cc
+++ b/paludis/environments/test/test_environment.cc
@@ -21,6 +21,8 @@
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/collection_concrete.hh>
#include <paludis/package_database.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <string>
using namespace paludis;
diff --git a/paludis/files.m4 b/paludis/files.m4
index 3fe5fce..9f79ef1 100644
--- a/paludis/files.m4
+++ b/paludis/files.m4
@@ -28,7 +28,7 @@ add(`match_package', `hh', `cc')
add(`name', `hh', `cc', `fwd', `test', `sr', `se')
add(`package_database', `hh', `cc', `test', `se')
add(`package_database_entry', `hh', `cc', `sr')
-add(`paludis', `hh', `cc')
+add(`paludis', `hh')
add(`portage_dep_lexer', `hh', `cc', `test')
add(`portage_dep_parser', `hh', `cc', `fwd', `se', `test')
add(`query', `hh', `cc')
diff --git a/paludis/hook.cc b/paludis/hook.cc
index 7c3602e..99e7d14 100644
--- a/paludis/hook.cc
+++ b/paludis/hook.cc
@@ -22,6 +22,7 @@
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/exception.hh>
#include <paludis/util/stringify.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <map>
using namespace paludis;
diff --git a/paludis/hook.hh b/paludis/hook.hh
index 808751e..5f626d9 100644
--- a/paludis/hook.hh
+++ b/paludis/hook.hh
@@ -27,7 +27,7 @@
#include <utility>
#include <string>
#include <set>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
namespace paludis
{
diff --git a/paludis/match_package.cc b/paludis/match_package.cc
index eb6c5ad..2039adb 100644
--- a/paludis/match_package.cc
+++ b/paludis/match_package.cc
@@ -24,6 +24,7 @@
#include <paludis/version_requirements.hh>
#include <paludis/package_database.hh>
#include <paludis/util/visitor-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <algorithm>
using namespace paludis;
diff --git a/paludis/name.cc b/paludis/name.cc
index ed62af1..2119148 100644
--- a/paludis/name.cc
+++ b/paludis/name.cc
@@ -22,6 +22,7 @@
#include <paludis/util/operators.hh>
#include <paludis/util/log.hh>
#include <ostream>
+#include <utility>
/** \file
* Implementation of name.hh things.
diff --git a/paludis/package_database.cc b/paludis/package_database.cc
index 8b5ed1b..d6c6ad9 100644
--- a/paludis/package_database.cc
+++ b/paludis/package_database.cc
@@ -26,6 +26,9 @@
#include <paludis/util/collection_concrete.hh>
#include <paludis/query.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
+
#include <list>
#include <map>
#include <set>
@@ -280,6 +283,83 @@ namespace
return ma->slot == mb->slot;
}
};
+
+ struct PDEComparator
+ {
+ const PackageDatabase * const pde;
+ std::map<std::string, int> rank;
+
+ PDEComparator(const PackageDatabase * const p) :
+ pde(p)
+ {
+ int x(0);
+ for (PackageDatabase::RepositoryIterator r(pde->begin_repositories()), r_end(pde->end_repositories()) ;
+ r != r_end ; ++r)
+ rank.insert(std::make_pair(stringify((*r)->name()), ++x));
+ }
+
+ bool operator() (const PackageDatabaseEntry & lhs, const PackageDatabaseEntry & rhs) const
+ {
+ if (lhs.name < rhs.name)
+ return true;
+ if (lhs.name > rhs.name)
+ return false;
+
+ if (lhs.version < rhs.version)
+ return true;
+ if (lhs.version > rhs.version)
+ return false;
+
+ std::map<std::string, int>::const_iterator l(rank.find(stringify(lhs.repository)));
+ if (l == rank.end())
+ throw InternalError(PALUDIS_HERE, "lhs.repository '" + stringify(lhs.repository) + "' not in rank");
+
+ std::map<std::string, int>::const_iterator r(rank.find(stringify(rhs.repository)));
+ if (r == rank.end())
+ throw InternalError(PALUDIS_HERE, "rhs.repository '" + stringify(rhs.repository) + "' not in rank");
+
+ if (l->second < r->second)
+ return true;
+
+ return false;
+ }
+ };
+
+ void sort_package_database_entry_collection(const PackageDatabase * const t,
+ PackageDatabaseEntryCollection::Concrete & p)
+ {
+ if (! p.empty())
+ p.sort(PDEComparator(t));
+ }
+
+ void
+ group_package_database_entry_collection(const PackageDatabase * const t,
+ PackageDatabaseEntryCollection::Concrete & p)
+ {
+ if (p.empty())
+ return;
+
+ for (std::list<PackageDatabaseEntry>::reverse_iterator r(p.list.rbegin()) ;
+ r != p.list.rend() ; ++r)
+ {
+ SlotName r_slot(t->fetch_repository(r->repository)->version_metadata(r->name, r->version)->slot);
+
+ for (std::list<PackageDatabaseEntry>::reverse_iterator rr(next(r)) ;
+ rr != p.list.rend() ; ++rr)
+ {
+ if (r->name != rr->name)
+ break;
+
+ SlotName rr_slot(t->fetch_repository(rr->repository)->version_metadata(rr->name, rr->version)->slot);
+ if (rr_slot != r_slot)
+ continue;
+
+ p.list.splice(previous(r.base()), p.list, previous(rr.base()));
+ if (p.list.rend() == ((rr = ++r)))
+ return;
+ }
+ }
+ }
}
tr1::shared_ptr<PackageDatabaseEntryCollection>
@@ -355,17 +435,17 @@ PackageDatabase::query(const Query & q, const QueryOrder query_order) const
switch (query_order)
{
case qo_order_by_version:
- _sort_package_database_entry_collection(*result);
+ sort_package_database_entry_collection(this, *result);
continue;
case qo_group_by_slot:
- _sort_package_database_entry_collection(*result);
- _group_package_database_entry_collection(*result);
+ sort_package_database_entry_collection(this, *result);
+ group_package_database_entry_collection(this, *result);
continue;
case qo_best_version_only:
{
- _sort_package_database_entry_collection(*result);
+ sort_package_database_entry_collection(this, *result);
std::list<PackageDatabaseEntry> l;
std::unique_copy(result->list.rbegin(), result->list.rend(),
std::front_inserter(l), &compare_name);
@@ -375,8 +455,8 @@ PackageDatabase::query(const Query & q, const QueryOrder query_order) const
case qo_best_version_in_slot_only:
{
- _sort_package_database_entry_collection(*result);
- _group_package_database_entry_collection(*result);
+ sort_package_database_entry_collection(this, *result);
+ group_package_database_entry_collection(this, *result);
std::list<PackageDatabaseEntry> l;
std::unique_copy(result->list.rbegin(), result->list.rend(),
std::front_inserter(l), CompareNameSlot(this));
@@ -465,85 +545,6 @@ PackageDatabase::more_important_than(const RepositoryName & lhs,
return l->second > r->second;
}
-namespace
-{
- struct PDEComparator
- {
- const PackageDatabase * const pde;
- std::map<std::string, int> rank;
-
- PDEComparator(const PackageDatabase * const p) :
- pde(p)
- {
- int x(0);
- for (PackageDatabase::RepositoryIterator r(pde->begin_repositories()), r_end(pde->end_repositories()) ;
- r != r_end ; ++r)
- rank.insert(std::make_pair(stringify((*r)->name()), ++x));
- }
-
- bool operator() (const PackageDatabaseEntry & lhs, const PackageDatabaseEntry & rhs) const
- {
- if (lhs.name < rhs.name)
- return true;
- if (lhs.name > rhs.name)
- return false;
-
- if (lhs.version < rhs.version)
- return true;
- if (lhs.version > rhs.version)
- return false;
-
- std::map<std::string, int>::const_iterator l(rank.find(stringify(lhs.repository)));
- if (l == rank.end())
- throw InternalError(PALUDIS_HERE, "lhs.repository '" + stringify(lhs.repository) + "' not in rank");
-
- std::map<std::string, int>::const_iterator r(rank.find(stringify(rhs.repository)));
- if (r == rank.end())
- throw InternalError(PALUDIS_HERE, "rhs.repository '" + stringify(rhs.repository) + "' not in rank");
-
- if (l->second < r->second)
- return true;
-
- return false;
- }
- };
-}
-
-void
-PackageDatabase::_sort_package_database_entry_collection(PackageDatabaseEntryCollection::Concrete & p) const
-{
- if (! p.empty())
- p.sort(PDEComparator(this));
-}
-
-void
-PackageDatabase::_group_package_database_entry_collection(PackageDatabaseEntryCollection::Concrete & p) const
-{
- if (p.empty())
- return;
-
- for (std::list<PackageDatabaseEntry>::reverse_iterator r(p.list.rbegin()) ;
- r != p.list.rend() ; ++r)
- {
- SlotName r_slot(fetch_repository(r->repository)->version_metadata(r->name, r->version)->slot);
-
- for (std::list<PackageDatabaseEntry>::reverse_iterator rr(next(r)) ;
- rr != p.list.rend() ; ++rr)
- {
- if (r->name != rr->name)
- break;
-
- SlotName rr_slot(fetch_repository(rr->repository)->version_metadata(rr->name, rr->version)->slot);
- if (rr_slot != r_slot)
- continue;
-
- p.list.splice(previous(r.base()), p.list, previous(rr.base()));
- if (p.list.rend() == ((rr = ++r)))
- return;
- }
- }
-}
-
PackageDatabase::RepositoryIterator
PackageDatabase::begin_repositories() const
{
diff --git a/paludis/package_database.hh b/paludis/package_database.hh
index f183d88..60fa60c 100644
--- a/paludis/package_database.hh
+++ b/paludis/package_database.hh
@@ -29,14 +29,14 @@
#include <paludis/util/join.hh>
#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/util/stringify.hh>
-#include <paludis/util/collection.hh>
+#include <paludis/util/collection-fwd.hh>
#include <paludis/version_metadata.hh>
#include <paludis/version_spec.hh>
#include <paludis/package_database_entry.hh>
#include <paludis/contents.hh>
#include <iosfwd>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
/** \file
* Declarations for the PackageDatabase class and related utilities.
@@ -239,12 +239,6 @@ namespace paludis
private PrivateImplementationPattern<PackageDatabase>,
private InstantiationPolicy<PackageDatabase, instantiation_method::NonCopyableTag>
{
- private:
- void _sort_package_database_entry_collection(
- PackageDatabaseEntryCollection::Concrete &) const;
- void _group_package_database_entry_collection(
- PackageDatabaseEntryCollection::Concrete &) const;
-
public:
/**
* Constructor.
diff --git a/paludis/package_database_TEST.cc b/paludis/package_database_TEST.cc
index 05692d3..aed6329 100644
--- a/paludis/package_database_TEST.cc
+++ b/paludis/package_database_TEST.cc
@@ -20,6 +20,8 @@
#include <paludis/paludis.hh>
#include <paludis/environments/test/test_environment.hh>
#include <paludis/repositories/fake/fake_repository.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/paludis.cc b/paludis/paludis.cc
deleted file mode 100644
index 47e119f..0000000
--- a/paludis/paludis.cc
+++ /dev/null
@@ -1,8 +0,0 @@
-/* vim: set sw=4 sts=4 et foldmethod=syntax : */
-
-#include "paludis.hh"
-
-void paludis_was_here()
-{
-}
-
diff --git a/paludis/paludis.hh.m4 b/paludis/paludis.hh.m4
index d97d282..e3377ae 100644
--- a/paludis/paludis.hh.m4
+++ b/paludis/paludis.hh.m4
@@ -5,7 +5,7 @@ dnl vim: set ft=cpp et sw=4 sts=4 :
#endif
/*
- * Copyright (c) 2005, 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2005, 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.org>
*
* 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,13 +37,8 @@ addthis(`$1',`$5')addthis(`$1',`$6')')dnl
include(`paludis/files.m4')
-extern "C"
-{
- /**
- * For simplifying extconf.rb detection.
- */
- void paludis_was_here();
-}
+#include <paludis/util/util.hh>
+#include <libwrapiter/libwrapiter.hh>
#endif
diff --git a/paludis/portage_dep_lexer.cc b/paludis/portage_dep_lexer.cc
index 867180e..05bd84b 100644
--- a/paludis/portage_dep_lexer.cc
+++ b/paludis/portage_dep_lexer.cc
@@ -22,6 +22,7 @@
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/exception.hh>
#include <paludis/util/tokeniser.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <vector>
#include <list>
diff --git a/paludis/portage_dep_lexer.hh b/paludis/portage_dep_lexer.hh
index 4d06687..44d104c 100644
--- a/paludis/portage_dep_lexer.hh
+++ b/paludis/portage_dep_lexer.hh
@@ -25,7 +25,7 @@
#include <paludis/util/private_implementation_pattern.hh>
#include <string>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
/** \file
* Declarations for the PortageDepLexer class.
diff --git a/paludis/portage_dep_lexer_TEST.cc b/paludis/portage_dep_lexer_TEST.cc
index 62792ef..b2fe769 100644
--- a/paludis/portage_dep_lexer_TEST.cc
+++ b/paludis/portage_dep_lexer_TEST.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2005, 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.org>
*
* 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
@@ -21,6 +21,7 @@
#include <sstream>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace test;
using namespace paludis;
diff --git a/paludis/portage_dep_parser.cc b/paludis/portage_dep_parser.cc
index 297be48..ea7015a 100644
--- a/paludis/portage_dep_parser.cc
+++ b/paludis/portage_dep_parser.cc
@@ -25,6 +25,8 @@
#include <paludis/util/stringify.hh>
#include <paludis/util/tr1_functional.hh>
#include <paludis/util/visitor-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <stack>
/** \file
diff --git a/paludis/portage_dep_parser_TEST.cc b/paludis/portage_dep_parser_TEST.cc
index 474110c..38bacbb 100644
--- a/paludis/portage_dep_parser_TEST.cc
+++ b/paludis/portage_dep_parser_TEST.cc
@@ -19,6 +19,7 @@
#include <paludis/paludis.hh>
#include <paludis/util/visitor-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <sstream>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/qa/categories_check.cc b/paludis/qa/categories_check.cc
index ae1219a..414e747 100644
--- a/paludis/qa/categories_check.cc
+++ b/paludis/qa/categories_check.cc
@@ -20,6 +20,7 @@
#include <paludis/qa/categories_check.hh>
#include <paludis/qa/qa_environment.hh>
#include <paludis/config_file.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <set>
diff --git a/paludis/qa/dep_any_check.cc b/paludis/qa/dep_any_check.cc
index 9ce480b..d50f032 100644
--- a/paludis/qa/dep_any_check.cc
+++ b/paludis/qa/dep_any_check.cc
@@ -27,6 +27,7 @@
#include <paludis/util/save.hh>
#include <paludis/qa/qa_environment.hh>
#include <paludis/util/visitor-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <algorithm>
using namespace paludis;
diff --git a/paludis/qa/dep_flags_check.cc b/paludis/qa/dep_flags_check.cc
index bc1b8a2..e702613 100644
--- a/paludis/qa/dep_flags_check.cc
+++ b/paludis/qa/dep_flags_check.cc
@@ -27,6 +27,7 @@
#include <paludis/qa/qa_environment.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/tr1_functional.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <set>
#include <algorithm>
diff --git a/paludis/qa/dep_packages_check.cc b/paludis/qa/dep_packages_check.cc
index a71d9c5..8bd4bbe 100644
--- a/paludis/qa/dep_packages_check.cc
+++ b/paludis/qa/dep_packages_check.cc
@@ -28,6 +28,7 @@
#include <paludis/util/system.hh>
#include <paludis/qa/qa_environment.hh>
#include <paludis/util/visitor-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <set>
using namespace paludis;
diff --git a/paludis/qa/deprecated_functions_check.cc b/paludis/qa/deprecated_functions_check.cc
index ca25613..dc9d935 100644
--- a/paludis/qa/deprecated_functions_check.cc
+++ b/paludis/qa/deprecated_functions_check.cc
@@ -24,6 +24,7 @@
#include <paludis/util/log.hh>
#include <paludis/util/system.hh>
#include <paludis/util/stringify.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <pcre++.h>
#include <set>
diff --git a/paludis/qa/deps_exist_check.cc b/paludis/qa/deps_exist_check.cc
index 492cc09..0b8aaed 100644
--- a/paludis/qa/deps_exist_check.cc
+++ b/paludis/qa/deps_exist_check.cc
@@ -27,6 +27,8 @@
#include <paludis/util/visitor-impl.hh>
#include <paludis/qa/qa_environment.hh>
#include <paludis/util/visitor-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <algorithm>
using namespace paludis;
diff --git a/paludis/qa/deps_visible_check.cc b/paludis/qa/deps_visible_check.cc
index 65a066f..14c7555 100644
--- a/paludis/qa/deps_visible_check.cc
+++ b/paludis/qa/deps_visible_check.cc
@@ -29,6 +29,8 @@
#include <paludis/util/tr1_functional.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/query.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
#include <algorithm>
diff --git a/paludis/qa/extract_check.cc b/paludis/qa/extract_check.cc
index 0cca37e..88f99a6 100644
--- a/paludis/qa/extract_check.cc
+++ b/paludis/qa/extract_check.cc
@@ -25,6 +25,7 @@
#include <paludis/util/tokeniser.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/qa/qa_environment.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/homepage_check.cc b/paludis/qa/homepage_check.cc
index ed4f33c..8667e15 100644
--- a/paludis/qa/homepage_check.cc
+++ b/paludis/qa/homepage_check.cc
@@ -22,6 +22,8 @@
#include <paludis/environment.hh>
#include <paludis/qa/qa_environment.hh>
#include <paludis/util/visitor-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <algorithm>
using namespace paludis;
diff --git a/paludis/qa/inherits_check.cc b/paludis/qa/inherits_check.cc
index 5ad939c..d8f4ab4 100644
--- a/paludis/qa/inherits_check.cc
+++ b/paludis/qa/inherits_check.cc
@@ -28,6 +28,7 @@
#include <paludis/util/log.hh>
#include <paludis/util/system.hh>
#include <paludis/qa/qa_environment.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <set>
using namespace paludis;
diff --git a/paludis/qa/iuse_check.cc b/paludis/qa/iuse_check.cc
index af03b81..5d5c38d 100644
--- a/paludis/qa/iuse_check.cc
+++ b/paludis/qa/iuse_check.cc
@@ -30,6 +30,8 @@
#include <paludis/util/iterator.hh>
#include <paludis/util/tr1_functional.hh>
#include <paludis/qa/qa_environment.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <algorithm>
using namespace paludis;
diff --git a/paludis/qa/keywords_check.cc b/paludis/qa/keywords_check.cc
index f3fdba5..8413cba 100644
--- a/paludis/qa/keywords_check.cc
+++ b/paludis/qa/keywords_check.cc
@@ -22,6 +22,8 @@
#include <paludis/package_database_entry.hh>
#include <paludis/environment.hh>
#include <paludis/qa/qa_environment.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <set>
using namespace paludis;
diff --git a/paludis/qa/license_check.cc b/paludis/qa/license_check.cc
index ca49d5f..90cad0e 100644
--- a/paludis/qa/license_check.cc
+++ b/paludis/qa/license_check.cc
@@ -25,6 +25,7 @@
#include <paludis/util/tokeniser.hh>
#include <paludis/qa/qa_environment.hh>
#include <paludis/util/visitor-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/metadata_file.cc b/paludis/qa/metadata_file.cc
index 2b7a240..af83357 100644
--- a/paludis/qa/metadata_file.cc
+++ b/paludis/qa/metadata_file.cc
@@ -28,6 +28,7 @@
#include <libxml/parser.h>
#include <set>
#include <list>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/metadata_file.hh b/paludis/qa/metadata_file.hh
index 849928f..7724b06 100644
--- a/paludis/qa/metadata_file.hh
+++ b/paludis/qa/metadata_file.hh
@@ -21,7 +21,8 @@
#define PALUDIS_GUARD_PALUDIS_QA_METADATA_FILE_HH 1
#include <paludis/util/private_implementation_pattern.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
+#include <string>
namespace paludis
{
diff --git a/paludis/qa/metadata_file_TEST.cc b/paludis/qa/metadata_file_TEST.cc
index 658e4ef..f440926 100644
--- a/paludis/qa/metadata_file_TEST.cc
+++ b/paludis/qa/metadata_file_TEST.cc
@@ -20,6 +20,7 @@
#include <paludis/qa/metadata_file.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <algorithm>
#include "config.h"
diff --git a/paludis/qa/pdepend_overlap_check.cc b/paludis/qa/pdepend_overlap_check.cc
index 2b2f2ad..808a697 100644
--- a/paludis/qa/pdepend_overlap_check.cc
+++ b/paludis/qa/pdepend_overlap_check.cc
@@ -25,6 +25,7 @@
#include <paludis/util/join.hh>
#include <paludis/qa/qa_environment.hh>
#include <paludis/util/visitor-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <set>
#include <algorithm>
diff --git a/paludis/qa/profile_paths_exist_check.cc b/paludis/qa/profile_paths_exist_check.cc
index cb2b839..9fc328d 100644
--- a/paludis/qa/profile_paths_exist_check.cc
+++ b/paludis/qa/profile_paths_exist_check.cc
@@ -20,6 +20,7 @@
#include <paludis/qa/profile_paths_exist_check.hh>
#include <paludis/qa/qa_environment.hh>
#include <paludis/config_file.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <set>
diff --git a/paludis/qa/qa_environment.hh b/paludis/qa/qa_environment.hh
index 81d37e5..959cc98 100644
--- a/paludis/qa/qa_environment.hh
+++ b/paludis/qa/qa_environment.hh
@@ -26,7 +26,7 @@
#include <paludis/package_database.hh>
#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/util/fs_entry.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
/** \file
* Declarations for the QAEnvironment class.
diff --git a/paludis/qa/repo_name_check.cc b/paludis/qa/repo_name_check.cc
index 671d940..efd45de 100644
--- a/paludis/qa/repo_name_check.cc
+++ b/paludis/qa/repo_name_check.cc
@@ -20,6 +20,7 @@
#include <paludis/qa/repo_name_check.hh>
#include <paludis/qa/qa_environment.hh>
#include <paludis/config_file.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <set>
diff --git a/paludis/qa/restrict_check.cc b/paludis/qa/restrict_check.cc
index f033529..be7a1f3 100644
--- a/paludis/qa/restrict_check.cc
+++ b/paludis/qa/restrict_check.cc
@@ -26,6 +26,7 @@
#include <paludis/util/visitor-impl.hh>
#include <paludis/qa/qa_environment.hh>
#include <set>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace paludis;
using namespace paludis::qa;
diff --git a/paludis/qa/src_uri_check.cc b/paludis/qa/src_uri_check.cc
index 184906a..0c037ee 100644
--- a/paludis/qa/src_uri_check.cc
+++ b/paludis/qa/src_uri_check.cc
@@ -25,6 +25,7 @@
#include <paludis/util/tokeniser.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/qa/qa_environment.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <set>
#include <algorithm>
diff --git a/paludis/query.cc b/paludis/query.cc
index 6c8142f..b28e2bb 100644
--- a/paludis/query.cc
+++ b/paludis/query.cc
@@ -23,6 +23,8 @@
#include <paludis/package_database.hh>
#include <paludis/environment.hh>
#include <paludis/match_package.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <algorithm>
#include <set>
diff --git a/paludis/repositories/cran/cran_dep_parser.cc b/paludis/repositories/cran/cran_dep_parser.cc
index 737ba88..ddaee06 100644
--- a/paludis/repositories/cran/cran_dep_parser.cc
+++ b/paludis/repositories/cran/cran_dep_parser.cc
@@ -25,6 +25,8 @@
#include <paludis/util/strip.hh>
#include <paludis/util/stringify.hh>
#include <paludis/util/tokeniser.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <string>
#include <list>
diff --git a/paludis/repositories/cran/cran_dep_parser_TEST.cc b/paludis/repositories/cran/cran_dep_parser_TEST.cc
index 8c2ef88..3dda117 100644
--- a/paludis/repositories/cran/cran_dep_parser_TEST.cc
+++ b/paludis/repositories/cran/cran_dep_parser_TEST.cc
@@ -25,6 +25,7 @@
#include <paludis/util/system.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/eapi.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/repositories/cran/cran_description.cc b/paludis/repositories/cran/cran_description.cc
index 1bbebd4..d7db383 100644
--- a/paludis/repositories/cran/cran_description.cc
+++ b/paludis/repositories/cran/cran_description.cc
@@ -29,6 +29,8 @@
#include <string>
#include <algorithm>
#include <paludis/util/tr1_functional.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
diff --git a/paludis/repositories/cran/cran_installed_repository.cc b/paludis/repositories/cran/cran_installed_repository.cc
index 7dce701..1fa5fa9 100644
--- a/paludis/repositories/cran/cran_installed_repository.cc
+++ b/paludis/repositories/cran/cran_installed_repository.cc
@@ -39,6 +39,9 @@
#include <paludis/util/strip.hh>
#include <paludis/util/tokeniser.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
+
#include <fstream>
#include <functional>
#include <algorithm>
diff --git a/paludis/repositories/cran/cran_repository.cc b/paludis/repositories/cran/cran_repository.cc
index 6a987ba..fe63294 100644
--- a/paludis/repositories/cran/cran_repository.cc
+++ b/paludis/repositories/cran/cran_repository.cc
@@ -47,6 +47,9 @@
#include <paludis/util/system.hh>
#include <paludis/util/tokeniser.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
+
#include <map>
#include <list>
#include <fstream>
diff --git a/paludis/repositories/cran/cran_repository_TEST.cc b/paludis/repositories/cran/cran_repository_TEST.cc
index 64100bb..579f9e9 100644
--- a/paludis/repositories/cran/cran_repository_TEST.cc
+++ b/paludis/repositories/cran/cran_repository_TEST.cc
@@ -25,6 +25,8 @@
#include <paludis/environments/test/test_environment.hh>
#include <paludis/util/collection_concrete.hh>
#include <paludis/util/system.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/repositories/fake/fake_installed_repository.cc b/paludis/repositories/fake/fake_installed_repository.cc
index 8e183e5..4a43cee 100644
--- a/paludis/repositories/fake/fake_installed_repository.cc
+++ b/paludis/repositories/fake/fake_installed_repository.cc
@@ -23,6 +23,8 @@
#include <paludis/util/visitor-impl.hh>
#include <paludis/portage_dep_parser.hh>
#include <paludis/dep_spec_flattener.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
diff --git a/paludis/repositories/fake/fake_repository.cc b/paludis/repositories/fake/fake_repository.cc
index d9f9abf..504b650 100644
--- a/paludis/repositories/fake/fake_repository.cc
+++ b/paludis/repositories/fake/fake_repository.cc
@@ -24,6 +24,9 @@
#include <paludis/distribution.hh>
#include <paludis/environment.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
+
using namespace paludis;
FakeRepository::FakeRepository(const Environment * const e, const RepositoryName & our_name) :
diff --git a/paludis/repositories/fake/fake_repository_base.cc b/paludis/repositories/fake/fake_repository_base.cc
index 602fce5..45e05fc 100644
--- a/paludis/repositories/fake/fake_repository_base.cc
+++ b/paludis/repositories/fake/fake_repository_base.cc
@@ -27,6 +27,8 @@
#include <paludis/version_metadata.hh>
#include <paludis/portage_dep_parser.hh>
#include <paludis/eapi.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <map>
/** \file
diff --git a/paludis/repositories/gems/gem_specification.cc b/paludis/repositories/gems/gem_specification.cc
index 9425608..eb03914 100644
--- a/paludis/repositories/gems/gem_specification.cc
+++ b/paludis/repositories/gems/gem_specification.cc
@@ -22,6 +22,8 @@
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/tr1_functional.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
using namespace paludis::gems;
diff --git a/paludis/repositories/gems/gem_specifications.cc b/paludis/repositories/gems/gem_specifications.cc
index 988adf1..c8cd24c 100644
--- a/paludis/repositories/gems/gem_specifications.cc
+++ b/paludis/repositories/gems/gem_specifications.cc
@@ -26,6 +26,8 @@
#include <paludis/util/stringify.hh>
#include <paludis/util/make_shared_ptr.hh>
#include <paludis/hashed_containers.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
using namespace paludis::gems;
diff --git a/paludis/repositories/gems/gem_specifications.hh b/paludis/repositories/gems/gem_specifications.hh
index 79331d6..ca7af70 100644
--- a/paludis/repositories/gems/gem_specifications.hh
+++ b/paludis/repositories/gems/gem_specifications.hh
@@ -28,7 +28,7 @@
#include <paludis/util/tr1_memory.hh>
#include <paludis/name-fwd.hh>
#include <paludis/version_spec-fwd.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
#include <string>
namespace paludis
diff --git a/paludis/repositories/gems/gems_repository.cc b/paludis/repositories/gems/gems_repository.cc
index 00db657..2e48f9d 100644
--- a/paludis/repositories/gems/gems_repository.cc
+++ b/paludis/repositories/gems/gems_repository.cc
@@ -31,6 +31,8 @@
#include <paludis/util/system.hh>
#include <paludis/eapi.hh>
#include <paludis/hashed_containers.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <fstream>
using namespace paludis;
diff --git a/paludis/repositories/gems/installed_gems_repository.cc b/paludis/repositories/gems/installed_gems_repository.cc
index 8022a13..51b3703 100644
--- a/paludis/repositories/gems/installed_gems_repository.cc
+++ b/paludis/repositories/gems/installed_gems_repository.cc
@@ -37,6 +37,9 @@
#include <paludis/hashed_containers.hh>
#include <paludis/eapi.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
+
using namespace paludis;
typedef MakeHashedMap<std::pair<QualifiedPackageName, VersionSpec>, tr1::shared_ptr<const gems::InstalledGemMetadata> >::Type MetadataMap;
diff --git a/paludis/repositories/gems/registration.cc b/paludis/repositories/gems/registration.cc
index 67002ad..0073759 100644
--- a/paludis/repositories/gems/registration.cc
+++ b/paludis/repositories/gems/registration.cc
@@ -25,6 +25,8 @@
#include <paludis/util/make_shared_ptr.hh>
#include <paludis/distribution.hh>
#include <paludis/environment.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
diff --git a/paludis/repositories/gems/yaml.cc b/paludis/repositories/gems/yaml.cc
index 711d9ab..d800575 100644
--- a/paludis/repositories/gems/yaml.cc
+++ b/paludis/repositories/gems/yaml.cc
@@ -23,6 +23,8 @@
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/tr1_functional.hh>
#include <paludis/util/make_shared_ptr.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <syck.h>
#include <cstring>
#include <algorithm>
diff --git a/paludis/repositories/gems/yaml_TEST.cc b/paludis/repositories/gems/yaml_TEST.cc
index 4b4351e..9bad777 100644
--- a/paludis/repositories/gems/yaml_TEST.cc
+++ b/paludis/repositories/gems/yaml_TEST.cc
@@ -22,6 +22,7 @@
#include <paludis/repositories/gems/yaml.hh>
#include <paludis/util/iterator.hh>
#include <paludis/util/visitor-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <algorithm>
#include <sstream>
diff --git a/paludis/repositories/gentoo/eapi_phase.cc b/paludis/repositories/gentoo/eapi_phase.cc
index b79eda8..70dafc2 100644
--- a/paludis/repositories/gentoo/eapi_phase.cc
+++ b/paludis/repositories/gentoo/eapi_phase.cc
@@ -23,6 +23,8 @@
#include <paludis/util/iterator.hh>
#include <paludis/util/make_shared_ptr.hh>
#include <paludis/eapi.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <set>
#include <algorithm>
#include <list>
diff --git a/paludis/repositories/gentoo/eapi_phase.hh b/paludis/repositories/gentoo/eapi_phase.hh
index 834b5a7..10e4a6d 100644
--- a/paludis/repositories/gentoo/eapi_phase.hh
+++ b/paludis/repositories/gentoo/eapi_phase.hh
@@ -21,7 +21,7 @@
#define PALUDIS_GUARD_PALUDIS_REPOSITORIES_GENTOO_EAPI_PHASE_HH 1
#include <paludis/util/private_implementation_pattern.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
#include <string>
namespace paludis
diff --git a/paludis/repositories/gentoo/ebin.cc b/paludis/repositories/gentoo/ebin.cc
index c9752e7..e5626bd 100644
--- a/paludis/repositories/gentoo/ebin.cc
+++ b/paludis/repositories/gentoo/ebin.cc
@@ -27,6 +27,8 @@
#include <paludis/about.hh>
#include <sys/resource.h>
#include <sys/time.h>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <unistd.h>
using namespace paludis;
diff --git a/paludis/repositories/gentoo/ebin_entries.cc b/paludis/repositories/gentoo/ebin_entries.cc
index 882435e..030c664 100644
--- a/paludis/repositories/gentoo/ebin_entries.cc
+++ b/paludis/repositories/gentoo/ebin_entries.cc
@@ -33,6 +33,8 @@
#include <paludis/util/is_file_with_extension.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/dep_spec_pretty_printer.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <set>
#include <fstream>
diff --git a/paludis/repositories/gentoo/ebuild.cc b/paludis/repositories/gentoo/ebuild.cc
index 77adf04..b013a51 100644
--- a/paludis/repositories/gentoo/ebuild.cc
+++ b/paludis/repositories/gentoo/ebuild.cc
@@ -30,6 +30,8 @@
#include <sys/resource.h>
#include <sys/time.h>
#include <unistd.h>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include "config.h"
/** \file
diff --git a/paludis/repositories/gentoo/ebuild_entries.cc b/paludis/repositories/gentoo/ebuild_entries.cc
index d864941..23d02b7 100644
--- a/paludis/repositories/gentoo/ebuild_entries.cc
+++ b/paludis/repositories/gentoo/ebuild_entries.cc
@@ -39,6 +39,9 @@
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/tr1_functional.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
+
#include <fstream>
#include <list>
#include <set>
diff --git a/paludis/repositories/gentoo/ebuild_flat_metadata_cache.cc b/paludis/repositories/gentoo/ebuild_flat_metadata_cache.cc
index 5b7f02c..f3769ee 100644
--- a/paludis/repositories/gentoo/ebuild_flat_metadata_cache.cc
+++ b/paludis/repositories/gentoo/ebuild_flat_metadata_cache.cc
@@ -27,6 +27,7 @@
#include <set>
#include <list>
#include <paludis/util/tr1_functional.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <functional>
#include <algorithm>
diff --git a/paludis/repositories/gentoo/eclass_mtimes.cc b/paludis/repositories/gentoo/eclass_mtimes.cc
index ade07e4..041cdfe 100644
--- a/paludis/repositories/gentoo/eclass_mtimes.cc
+++ b/paludis/repositories/gentoo/eclass_mtimes.cc
@@ -20,6 +20,8 @@
#include "eclass_mtimes.hh"
#include <paludis/hashed_containers.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
diff --git a/paludis/repositories/gentoo/exheres_layout.cc b/paludis/repositories/gentoo/exheres_layout.cc
index adcf26d..c064aa6 100644
--- a/paludis/repositories/gentoo/exheres_layout.cc
+++ b/paludis/repositories/gentoo/exheres_layout.cc
@@ -32,6 +32,8 @@
#include <paludis/util/is_file_with_extension.hh>
#include <paludis/util/iterator.hh>
#include <paludis/util/strip.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <paludis/util/tr1_functional.hh>
#include <functional>
diff --git a/paludis/repositories/gentoo/glsa.cc b/paludis/repositories/gentoo/glsa.cc
index 371862f..df4f723 100644
--- a/paludis/repositories/gentoo/glsa.cc
+++ b/paludis/repositories/gentoo/glsa.cc
@@ -21,6 +21,8 @@
#include <paludis/util/iterator.hh>
#include <paludis/util/stringify.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
#include <dlfcn.h>
#include <stdint.h>
diff --git a/paludis/repositories/gentoo/glsa.hh b/paludis/repositories/gentoo/glsa.hh
index 2ab7907..c9ab456 100644
--- a/paludis/repositories/gentoo/glsa.hh
+++ b/paludis/repositories/gentoo/glsa.hh
@@ -24,7 +24,7 @@
#include <paludis/util/sr.hh>
#include <paludis/name.hh>
#include <paludis/version_spec.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
#include <string>
diff --git a/paludis/repositories/gentoo/make_ebin_repository.cc b/paludis/repositories/gentoo/make_ebin_repository.cc
index 955c7f8..a402c62 100644
--- a/paludis/repositories/gentoo/make_ebin_repository.cc
+++ b/paludis/repositories/gentoo/make_ebin_repository.cc
@@ -24,6 +24,8 @@
#include <paludis/repositories/gentoo/portage_repository_exceptions.hh>
#include <paludis/environment.hh>
#include <paludis/distribution.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
diff --git a/paludis/repositories/gentoo/make_ebuild_repository.cc b/paludis/repositories/gentoo/make_ebuild_repository.cc
index e2e5f7e..8d21f7c 100644
--- a/paludis/repositories/gentoo/make_ebuild_repository.cc
+++ b/paludis/repositories/gentoo/make_ebuild_repository.cc
@@ -24,6 +24,8 @@
#include <paludis/repositories/gentoo/portage_repository_exceptions.hh>
#include <paludis/environment.hh>
#include <paludis/distribution.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
diff --git a/paludis/repositories/gentoo/portage_repository.cc b/paludis/repositories/gentoo/portage_repository.cc
index 98f1c1e..129ebf5 100644
--- a/paludis/repositories/gentoo/portage_repository.cc
+++ b/paludis/repositories/gentoo/portage_repository.cc
@@ -61,6 +61,9 @@
#include <paludis/util/system.hh>
#include <paludis/util/tokeniser.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
+
#include <map>
#include <fstream>
#include <functional>
diff --git a/paludis/repositories/gentoo/portage_repository.hh b/paludis/repositories/gentoo/portage_repository.hh
index 8fa2d86..871fb0e 100644
--- a/paludis/repositories/gentoo/portage_repository.hh
+++ b/paludis/repositories/gentoo/portage_repository.hh
@@ -66,8 +66,6 @@ namespace paludis
{
private:
void need_mirrors() const;
- PackageDatabaseEntryCollection::Iterator find_best(PackageDatabaseEntryCollection & c,
- const PackageDatabaseEntry & e) const;
protected:
virtual bool do_has_category_named(const CategoryNamePart &) const;
diff --git a/paludis/repositories/gentoo/portage_repository_TEST.cc b/paludis/repositories/gentoo/portage_repository_TEST.cc
index a027c8f..63c4b60 100644
--- a/paludis/repositories/gentoo/portage_repository_TEST.cc
+++ b/paludis/repositories/gentoo/portage_repository_TEST.cc
@@ -25,6 +25,8 @@
#include <paludis/util/visitor-impl.hh>
#include <paludis/eapi.hh>
#include <paludis/dep_spec_pretty_printer.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/repositories/gentoo/portage_repository_news.cc b/paludis/repositories/gentoo/portage_repository_news.cc
index 89b2efb..16f9189 100644
--- a/paludis/repositories/gentoo/portage_repository_news.cc
+++ b/paludis/repositories/gentoo/portage_repository_news.cc
@@ -28,6 +28,7 @@
#include <paludis/util/strip.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/query.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <set>
#include <ostream>
diff --git a/paludis/repositories/gentoo/portage_repository_profile.cc b/paludis/repositories/gentoo/portage_repository_profile.cc
index f482486..de705f6 100644
--- a/paludis/repositories/gentoo/portage_repository_profile.cc
+++ b/paludis/repositories/gentoo/portage_repository_profile.cc
@@ -35,6 +35,8 @@
#include <paludis/hashed_containers.hh>
#include <paludis/version_metadata.hh>
#include <paludis/distribution.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
#include <algorithm>
diff --git a/paludis/repositories/gentoo/portage_repository_profile.hh b/paludis/repositories/gentoo/portage_repository_profile.hh
index bbc4e37..46a2642 100644
--- a/paludis/repositories/gentoo/portage_repository_profile.hh
+++ b/paludis/repositories/gentoo/portage_repository_profile.hh
@@ -26,7 +26,7 @@
#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/util/instantiation_policy.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
#include <string>
/** \file
diff --git a/paludis/repositories/gentoo/portage_repository_profile_file.cc b/paludis/repositories/gentoo/portage_repository_profile_file.cc
index 143d0f1..4bcb4ad 100644
--- a/paludis/repositories/gentoo/portage_repository_profile_file.cc
+++ b/paludis/repositories/gentoo/portage_repository_profile_file.cc
@@ -22,6 +22,8 @@
#include <paludis/util/stringify.hh>
#include <paludis/config_file.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
#include <algorithm>
diff --git a/paludis/repositories/gentoo/portage_repository_profile_file.hh b/paludis/repositories/gentoo/portage_repository_profile_file.hh
index 89a59eb..9aa9437 100644
--- a/paludis/repositories/gentoo/portage_repository_profile_file.hh
+++ b/paludis/repositories/gentoo/portage_repository_profile_file.hh
@@ -23,7 +23,7 @@
#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/util/attributes.hh>
#include <paludis/util/fs_entry.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
namespace paludis
{
diff --git a/paludis/repositories/gentoo/portage_repository_sets.cc b/paludis/repositories/gentoo/portage_repository_sets.cc
index 5247c12..2283bbe 100644
--- a/paludis/repositories/gentoo/portage_repository_sets.cc
+++ b/paludis/repositories/gentoo/portage_repository_sets.cc
@@ -43,6 +43,9 @@
#include <paludis/util/tr1_functional.hh>
#include <set>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
+
#include "config.h"
using namespace paludis;
@@ -152,31 +155,6 @@ PortageRepositorySets::sets_list() const
return result;
}
-PackageDatabaseEntryCollection::Iterator
-PortageRepositorySets::find_best(PackageDatabaseEntryCollection & c, const PackageDatabaseEntry & e) const
-{
- Context local("When finding best update for '" + stringify(e.name) + "-" +
- stringify(e.version) + "':");
- // Find an entry in c that matches e best. e is not in c.
- QualifiedPackageName n(e.name);
- SlotName s(_imp->environment->package_database()->fetch_repository(
- e.repository)->version_metadata(e.name, e.version)->slot);
- PackageDatabaseEntryCollection::Iterator i(c.begin()), i_end(c.end()), i_best(c.end());
- for ( ; i != i_end; ++i)
- {
- if (n != i->name)
- continue;
- if (s != _imp->environment->package_database()->fetch_repository(
- i->repository)->version_metadata(
- i->name, i->version)->slot)
- continue;
-
- i_best = i;
- }
-
- return i_best;
-}
-
namespace
{
bool
diff --git a/paludis/repositories/gentoo/portage_repository_sets.hh b/paludis/repositories/gentoo/portage_repository_sets.hh
index fef2b7b..26c39df 100644
--- a/paludis/repositories/gentoo/portage_repository_sets.hh
+++ b/paludis/repositories/gentoo/portage_repository_sets.hh
@@ -45,10 +45,6 @@ namespace paludis
private PrivateImplementationPattern<PortageRepositorySets>,
private InstantiationPolicy<PortageRepositorySets, instantiation_method::NonCopyableTag>
{
- private:
- PackageDatabaseEntryCollection::Iterator
- find_best(PackageDatabaseEntryCollection & c, const PackageDatabaseEntry & e) const;
-
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/gentoo/portage_repository_sets_TEST.cc b/paludis/repositories/gentoo/portage_repository_sets_TEST.cc
index 744f596..9d96c31 100644
--- a/paludis/repositories/gentoo/portage_repository_sets_TEST.cc
+++ b/paludis/repositories/gentoo/portage_repository_sets_TEST.cc
@@ -27,6 +27,8 @@
#include <paludis/util/system.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include "config.h"
using namespace test;
diff --git a/paludis/repositories/gentoo/registration.cc b/paludis/repositories/gentoo/registration.cc
index 7e27cbd..f42ba19 100644
--- a/paludis/repositories/gentoo/registration.cc
+++ b/paludis/repositories/gentoo/registration.cc
@@ -22,6 +22,8 @@
#include <paludis/repositories/gentoo/make_ebin_repository.hh>
#include <paludis/repositories/gentoo/vdb_repository.hh>
#include <paludis/util/log.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include "config.h"
using namespace paludis;
diff --git a/paludis/repositories/gentoo/traditional_layout.cc b/paludis/repositories/gentoo/traditional_layout.cc
index 6e3def4..f7c2c48 100644
--- a/paludis/repositories/gentoo/traditional_layout.cc
+++ b/paludis/repositories/gentoo/traditional_layout.cc
@@ -37,6 +37,9 @@
#include <functional>
#include <algorithm>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
+
using namespace paludis;
typedef MakeHashedMap<CategoryNamePart, bool>::Type CategoryMap;
diff --git a/paludis/repositories/gentoo/use_desc.cc b/paludis/repositories/gentoo/use_desc.cc
index cb4c8ad..c33d554 100644
--- a/paludis/repositories/gentoo/use_desc.cc
+++ b/paludis/repositories/gentoo/use_desc.cc
@@ -28,6 +28,8 @@
#include <paludis/util/strip.hh>
#include <paludis/config_file.hh>
#include <paludis/package_database_entry.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
diff --git a/paludis/repositories/gentoo/vdb_merger.cc b/paludis/repositories/gentoo/vdb_merger.cc
index 57e3adb..ccaee7e 100644
--- a/paludis/repositories/gentoo/vdb_merger.cc
+++ b/paludis/repositories/gentoo/vdb_merger.cc
@@ -28,6 +28,8 @@
#include <paludis/environment.hh>
#include <paludis/package_database_entry.hh>
#include <paludis/package_database.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <fstream>
#include <iostream>
#include <iomanip>
diff --git a/paludis/repositories/gentoo/vdb_repository.cc b/paludis/repositories/gentoo/vdb_repository.cc
index 80a68ff..3a264a8 100644
--- a/paludis/repositories/gentoo/vdb_repository.cc
+++ b/paludis/repositories/gentoo/vdb_repository.cc
@@ -56,6 +56,9 @@
#include <paludis/util/system.hh>
#include <paludis/util/tokeniser.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
+
#include <fstream>
#include <functional>
#include <algorithm>
diff --git a/paludis/repositories/gentoo/vdb_unmerger.cc b/paludis/repositories/gentoo/vdb_unmerger.cc
index 5c6f755..ef217cc 100644
--- a/paludis/repositories/gentoo/vdb_unmerger.cc
+++ b/paludis/repositories/gentoo/vdb_unmerger.cc
@@ -40,6 +40,8 @@ using namespace paludis;
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
namespace paludis
{
diff --git a/paludis/repositories/gentoo/xml_things_TEST.cc b/paludis/repositories/gentoo/xml_things_TEST.cc
index 8bdbbd9..ec76571 100644
--- a/paludis/repositories/gentoo/xml_things_TEST.cc
+++ b/paludis/repositories/gentoo/xml_things_TEST.cc
@@ -18,6 +18,7 @@
*/
#include <paludis/repositories/gentoo/glsa.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <paludis/util/join.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/repositories/virtuals/installed_virtuals_repository.cc b/paludis/repositories/virtuals/installed_virtuals_repository.cc
index 351ee67..9ed77b9 100644
--- a/paludis/repositories/virtuals/installed_virtuals_repository.cc
+++ b/paludis/repositories/virtuals/installed_virtuals_repository.cc
@@ -26,6 +26,8 @@
#include <paludis/package_database.hh>
#include <paludis/util/collection_concrete.hh>
#include <paludis/hook.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <vector>
#include <algorithm>
diff --git a/paludis/repositories/virtuals/virtuals_repository.cc b/paludis/repositories/virtuals/virtuals_repository.cc
index 0cc7187..3066b91 100644
--- a/paludis/repositories/virtuals/virtuals_repository.cc
+++ b/paludis/repositories/virtuals/virtuals_repository.cc
@@ -28,6 +28,8 @@
#include <paludis/util/tr1_functional.hh>
#include <paludis/query.hh>
#include <vector>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include "vr_entry.hh"
using namespace paludis;
diff --git a/paludis/repository.cc b/paludis/repository.cc
index bbb1f3a..4a02462 100644
--- a/paludis/repository.cc
+++ b/paludis/repository.cc
@@ -25,8 +25,11 @@
#include <paludis/util/instantiation_policy-impl.hh>
#include <paludis/util/stringify.hh>
#include <paludis/config_file.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <map>
#include <list>
+#include <utility>
#include <algorithm>
#include <ctype.h>
@@ -395,3 +398,9 @@ RepositoryUseInterface::describe_use_flag(const UseFlagName & n, const PackageDa
return do_describe_use_flag(n, pkg);
}
+bool
+RepositoryMirrorsInterface::is_mirror(const std::string & s) const
+{
+ return begin_mirrors(s) != end_mirrors(s);
+}
+
diff --git a/paludis/repository.hh b/paludis/repository.hh
index a6372ce..e0c2bd5 100644
--- a/paludis/repository.hh
+++ b/paludis/repository.hh
@@ -36,7 +36,7 @@
#include <string>
#include <map>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
/** \file
* Declarations for the Repository class.
@@ -833,10 +833,7 @@ namespace paludis
/**
* Is the named item a mirror?
*/
- bool is_mirror(const std::string & s) const
- {
- return begin_mirrors(s) != end_mirrors(s);
- }
+ bool is_mirror(const std::string & s) const;
///\}
diff --git a/paludis/repository_name_cache.cc b/paludis/repository_name_cache.cc
index 4732b47..3bb8025 100644
--- a/paludis/repository_name_cache.cc
+++ b/paludis/repository_name_cache.cc
@@ -26,6 +26,8 @@
#include <paludis/util/stringify.hh>
#include <paludis/util/dir_iterator.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
#include <fstream>
diff --git a/paludis/repository_name_cache_TEST.cc b/paludis/repository_name_cache_TEST.cc
index edee025..a75172f 100644
--- a/paludis/repository_name_cache_TEST.cc
+++ b/paludis/repository_name_cache_TEST.cc
@@ -23,6 +23,8 @@
#include <paludis/util/fs_entry.hh>
#include <paludis/util/join.hh>
#include <paludis/package_database.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/set_file.cc b/paludis/set_file.cc
index 2ac9a6e..7913141 100644
--- a/paludis/set_file.cc
+++ b/paludis/set_file.cc
@@ -27,6 +27,8 @@
#include <paludis/environment.hh>
#include <paludis/query.hh>
#include <paludis/package_database.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
#include <vector>
#include <fstream>
diff --git a/paludis/set_file_TEST.cc b/paludis/set_file_TEST.cc
index a1496cd..ab4f649 100644
--- a/paludis/set_file_TEST.cc
+++ b/paludis/set_file_TEST.cc
@@ -23,6 +23,7 @@
#include <paludis/dep_spec_pretty_printer.hh>
#include <paludis/util/fs_entry.hh>
#include <paludis/util/visitor-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <fstream>
using namespace test;
diff --git a/paludis/syncer.cc b/paludis/syncer.cc
index c35794e..d4cb412 100644
--- a/paludis/syncer.cc
+++ b/paludis/syncer.cc
@@ -26,6 +26,8 @@
#include <paludis/util/system.hh>
#include <paludis/util/tokeniser.hh>
#include <paludis/util/join.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
/** \file
diff --git a/paludis/tasks/find_unused_packages_task.cc b/paludis/tasks/find_unused_packages_task.cc
index f62cd0f..6e0e777 100644
--- a/paludis/tasks/find_unused_packages_task.cc
+++ b/paludis/tasks/find_unused_packages_task.cc
@@ -24,6 +24,8 @@
#include <paludis/query.hh>
#include <paludis/util/tokeniser.hh>
#include <paludis/util/collection_concrete.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <set>
diff --git a/paludis/tasks/install_task.cc b/paludis/tasks/install_task.cc
index c420c3d..a4388a1 100644
--- a/paludis/tasks/install_task.cc
+++ b/paludis/tasks/install_task.cc
@@ -33,6 +33,8 @@
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/tokeniser.hh>
#include <paludis/util/log.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
using namespace paludis;
diff --git a/paludis/tasks/install_task.hh b/paludis/tasks/install_task.hh
index 9c3cb01..9c26b3c 100644
--- a/paludis/tasks/install_task.hh
+++ b/paludis/tasks/install_task.hh
@@ -24,7 +24,7 @@
#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/dep_list/dep_list.hh>
#include <paludis/repository-fwd.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
namespace paludis
{
diff --git a/paludis/tasks/report_task.cc b/paludis/tasks/report_task.cc
index df53f2a..4e9c66a 100644
--- a/paludis/tasks/report_task.cc
+++ b/paludis/tasks/report_task.cc
@@ -25,6 +25,8 @@
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/package_database.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <set>
using namespace paludis;
diff --git a/paludis/tasks/stage_builder_task.cc b/paludis/tasks/stage_builder_task.cc
index 49782fa..16322e4 100644
--- a/paludis/tasks/stage_builder_task.cc
+++ b/paludis/tasks/stage_builder_task.cc
@@ -21,6 +21,7 @@
#include <paludis/environment.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <list>
using namespace paludis;
diff --git a/paludis/tasks/stage_builder_task.hh b/paludis/tasks/stage_builder_task.hh
index 1790de5..c066bb3 100644
--- a/paludis/tasks/stage_builder_task.hh
+++ b/paludis/tasks/stage_builder_task.hh
@@ -20,7 +20,7 @@
#ifndef PALUDIS_GUARD_PALUDIS_TASKS_STAGE_BUILDER_TASK_HH
#define PALUDIS_GUARD_PALUDIS_TASKS_STAGE_BUILDER_TASK_HH 1
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
#include <paludis/util/instantiation_policy.hh>
#include <paludis/util/private_implementation_pattern.hh>
diff --git a/paludis/tasks/sync_task.cc b/paludis/tasks/sync_task.cc
index 9ba51a7..9c6b1fd 100644
--- a/paludis/tasks/sync_task.cc
+++ b/paludis/tasks/sync_task.cc
@@ -23,6 +23,7 @@
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/package_database.hh>
#include <paludis/hook.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <list>
using namespace paludis;
diff --git a/paludis/tasks/uninstall_task.cc b/paludis/tasks/uninstall_task.cc
index b0d91d7..b9c9c38 100644
--- a/paludis/tasks/uninstall_task.cc
+++ b/paludis/tasks/uninstall_task.cc
@@ -27,6 +27,8 @@
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/query.hh>
#include <paludis/hook.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
using namespace paludis;
diff --git a/paludis/tasks/uninstall_task.hh b/paludis/tasks/uninstall_task.hh
index b8c906d..faec5e4 100644
--- a/paludis/tasks/uninstall_task.hh
+++ b/paludis/tasks/uninstall_task.hh
@@ -24,6 +24,7 @@
#include <paludis/package_database_entry.hh>
#include <paludis/util/instantiation_policy.hh>
#include <paludis/util/private_implementation_pattern.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
namespace paludis
{
diff --git a/paludis/util/collection.hh b/paludis/util/collection.hh
index f5633b8..2355df0 100644
--- a/paludis/util/collection.hh
+++ b/paludis/util/collection.hh
@@ -22,7 +22,8 @@
#include <paludis/util/collection-fwd.hh>
#include <paludis/util/instantiation_policy.hh>
-#include <libwrapiter/libwrapiter.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
+#include <libwrapiter/libwrapiter_output_iterator-fwd.hh>
#include <iterator>
#include <functional>
#include <paludis/util/tr1_memory.hh>
diff --git a/paludis/util/pstream.cc b/paludis/util/pstream.cc
index eb171aa..395248e 100644
--- a/paludis/util/pstream.cc
+++ b/paludis/util/pstream.cc
@@ -20,6 +20,7 @@
#include <paludis/util/log.hh>
#include <paludis/util/pstream.hh>
#include <paludis/util/stringify.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <cstring>
#include <errno.h>
diff --git a/paludis/util/system.cc b/paludis/util/system.cc
index 167e44d..518feac 100644
--- a/paludis/util/system.cc
+++ b/paludis/util/system.cc
@@ -24,6 +24,7 @@
#include <paludis/util/stringify.hh>
#include <paludis/util/destringify.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <sys/utsname.h>
#include <sys/types.h>
#include <sys/wait.h>
diff --git a/paludis/util/system.hh b/paludis/util/system.hh
index 39deace..df6aa94 100644
--- a/paludis/util/system.hh
+++ b/paludis/util/system.hh
@@ -23,7 +23,7 @@
#include <paludis/util/exception.hh>
#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/util/tr1_memory.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
#include <string>
#include <sys/types.h>
diff --git a/paludis/util/visitor.hh b/paludis/util/visitor.hh
index 1baea19..df66528 100644
--- a/paludis/util/visitor.hh
+++ b/paludis/util/visitor.hh
@@ -32,7 +32,7 @@
#include <paludis/util/tr1_memory.hh>
#include <paludis/util/tr1_type_traits.hh>
#include <paludis/util/operators.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
namespace paludis
{
diff --git a/paludis/version_metadata.cc b/paludis/version_metadata.cc
index 78a613b..16d6c77 100644
--- a/paludis/version_metadata.cc
+++ b/paludis/version_metadata.cc
@@ -25,6 +25,8 @@
#include <paludis/eapi.hh>
#include <paludis/util/log.hh>
#include <paludis/util/collection_concrete.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
/** \file
* Implementation of VersionMetadata.
diff --git a/python/contents.cc b/python/contents.cc
index 0c0cd4c..7ba6f23 100644
--- a/python/contents.cc
+++ b/python/contents.cc
@@ -18,8 +18,8 @@
*/
#include <paludis_python.hh>
-
#include <paludis/contents.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace paludis;
using namespace paludis::python;
diff --git a/python/dep_spec.cc b/python/dep_spec.cc
index 44125be..b753403 100644
--- a/python/dep_spec.cc
+++ b/python/dep_spec.cc
@@ -18,7 +18,7 @@
*/
#include <paludis_python.hh>
-
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <paludis/dep_spec.hh>
using namespace paludis;
diff --git a/python/name.cc b/python/name.cc
index a8e8f44..6c32847 100644
--- a/python/name.cc
+++ b/python/name.cc
@@ -18,7 +18,7 @@
*/
#include <paludis_python.hh>
-
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <paludis/name.hh>
using namespace paludis;
diff --git a/python/package_database.cc b/python/package_database.cc
index 574a113..1173cf0 100644
--- a/python/package_database.cc
+++ b/python/package_database.cc
@@ -25,6 +25,7 @@
#include <paludis/package_database_entry.hh>
#include <paludis/package_database.hh>
#include <paludis/util/collection.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace paludis;
using namespace paludis::python;
diff --git a/python/repository.cc b/python/repository.cc
index 5e3e9d6..0ccd35c 100644
--- a/python/repository.cc
+++ b/python/repository.cc
@@ -23,6 +23,7 @@
#include <paludis/repository.hh>
#include <paludis/repositories/gentoo/portage_repository.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace paludis;
using namespace paludis::python;
diff --git a/python/version_requirements.cc b/python/version_requirements.cc
index 161befa..feac2eb 100644
--- a/python/version_requirements.cc
+++ b/python/version_requirements.cc
@@ -18,7 +18,7 @@
*/
#include <paludis_python.hh>
-
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <paludis/version_requirements.hh>
using namespace paludis;
diff --git a/python/version_spec.cc b/python/version_spec.cc
index 9d0eb3e..ec0f030 100644
--- a/python/version_spec.cc
+++ b/python/version_spec.cc
@@ -18,7 +18,7 @@
*/
#include <paludis_python.hh>
-
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <paludis/version_spec.hh>
using namespace paludis;
diff --git a/ruby/contents.cc b/ruby/contents.cc
index 01c1b10..36e4f61 100644
--- a/ruby/contents.cc
+++ b/ruby/contents.cc
@@ -20,6 +20,8 @@
#include <paludis_ruby.hh>
#include <paludis/contents.hh>
#include <paludis/util/visitor-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <ruby.h>
using namespace paludis;
diff --git a/ruby/dep_list.cc b/ruby/dep_list.cc
index 8e7da46..0d94794 100644
--- a/ruby/dep_list.cc
+++ b/ruby/dep_list.cc
@@ -20,6 +20,7 @@
#include <paludis_ruby.hh>
#include <paludis/dep_list/dep_list.hh>
#include <paludis/util/collection_concrete.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <ruby.h>
using namespace paludis;
diff --git a/ruby/dep_spec.cc b/ruby/dep_spec.cc
index d635ccd..22744c3 100644
--- a/ruby/dep_spec.cc
+++ b/ruby/dep_spec.cc
@@ -22,6 +22,8 @@
#include <paludis/dep_spec.hh>
#include <paludis/version_requirements.hh>
#include <paludis/version_operator.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <ruby.h>
using namespace paludis;
diff --git a/ruby/environment.cc b/ruby/environment.cc
index 408028e..759db08 100644
--- a/ruby/environment.cc
+++ b/ruby/environment.cc
@@ -23,6 +23,8 @@
#include <paludis/environments/adapted/adapted_environment.hh>
#include <paludis/environments/environment_maker.hh>
#include <paludis/util/collection_concrete.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <ruby.h>
using namespace paludis;
diff --git a/ruby/find_unused_packages_task.cc b/ruby/find_unused_packages_task.cc
index 4cf3f58..b7a1e08 100644
--- a/ruby/find_unused_packages_task.cc
+++ b/ruby/find_unused_packages_task.cc
@@ -19,6 +19,8 @@
#include <paludis_ruby.hh>
#include <paludis/tasks/find_unused_packages_task.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <ruby.h>
using namespace paludis;
diff --git a/ruby/metadata_file.cc b/ruby/metadata_file.cc
index e2d87f5..c1fe757 100644
--- a/ruby/metadata_file.cc
+++ b/ruby/metadata_file.cc
@@ -20,6 +20,7 @@
#include <paludis_ruby.hh>
#include <paludis/qa/metadata_file.hh>
#include <paludis/util/stringify.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <ruby.h>
using namespace paludis;
diff --git a/ruby/package_database.cc b/ruby/package_database.cc
index e6f2380..de1ec2b 100644
--- a/ruby/package_database.cc
+++ b/ruby/package_database.cc
@@ -20,6 +20,8 @@
#include <paludis_ruby.hh>
#include <paludis/package_database.hh>
#include <paludis/util/stringify.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <ruby.h>
using namespace paludis;
diff --git a/ruby/repository.cc b/ruby/repository.cc
index 69e693f..85a1727 100644
--- a/ruby/repository.cc
+++ b/ruby/repository.cc
@@ -21,6 +21,8 @@
#include <paludis_ruby.hh>
#include <paludis/repository.hh>
#include <paludis/util/stringify.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <ruby.h>
using namespace paludis;
diff --git a/ruby/version_metadata.cc b/ruby/version_metadata.cc
index 1ff2d2a..b363fcb 100644
--- a/ruby/version_metadata.cc
+++ b/ruby/version_metadata.cc
@@ -22,6 +22,8 @@
#include <paludis/version_metadata.hh>
#include <paludis/package_database_entry.hh>
#include <paludis/util/stringify.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <ruby.h>
using namespace paludis;
diff --git a/src/clients/adjutrix/find_reverse_deps.cc b/src/clients/adjutrix/find_reverse_deps.cc
index 29352ae..4bd99af 100644
--- a/src/clients/adjutrix/find_reverse_deps.cc
+++ b/src/clients/adjutrix/find_reverse_deps.cc
@@ -28,6 +28,8 @@
#include <paludis/query.hh>
#include <paludis/dep_spec.hh>
#include <paludis/package_database.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <set>
#include <map>
diff --git a/src/clients/contrarius/stage_builder.cc b/src/clients/contrarius/stage_builder.cc
index 2d800c4..5483488 100644
--- a/src/clients/contrarius/stage_builder.cc
+++ b/src/clients/contrarius/stage_builder.cc
@@ -22,6 +22,7 @@
#include <src/clients/contrarius/stage.hh>
#include <src/clients/contrarius/stage_builder.hh>
#include <src/output/colour.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <iostream>
#include <list>
diff --git a/src/clients/gtkpaludis/libgtkpaludis/categories_list_model.cc b/src/clients/gtkpaludis/libgtkpaludis/categories_list_model.cc
index c6dac77..c9c13c7 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/categories_list_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/categories_list_model.cc
@@ -8,6 +8,8 @@
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/environment.hh>
#include <paludis/package_database.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
using namespace gtkpaludis;
diff --git a/src/clients/gtkpaludis/libgtkpaludis/packages_list_model.cc b/src/clients/gtkpaludis/libgtkpaludis/packages_list_model.cc
index eccb8da..d2e7444 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/packages_list_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/packages_list_model.cc
@@ -9,6 +9,8 @@
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/environment.hh>
#include <paludis/package_database.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
using namespace paludis;
diff --git a/src/clients/gtkpaludis/libgtkpaludis/packages_repository_filter_model.cc b/src/clients/gtkpaludis/libgtkpaludis/packages_repository_filter_model.cc
index efad8a7..cdb142a 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/packages_repository_filter_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/packages_repository_filter_model.cc
@@ -8,6 +8,8 @@
#include <paludis/environment.hh>
#include <paludis/package_database.hh>
#include <paludis/query.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
using namespace gtkpaludis;
diff --git a/src/clients/gtkpaludis/libgtkpaludis/repositories_list_model.cc b/src/clients/gtkpaludis/libgtkpaludis/repositories_list_model.cc
index a099b11..933f059 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/repositories_list_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/repositories_list_model.cc
@@ -7,6 +7,8 @@
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/environment.hh>
#include <paludis/package_database.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
using namespace gtkpaludis;
diff --git a/src/clients/gtkpaludis/libgtkpaludis/repository_info_model.cc b/src/clients/gtkpaludis/libgtkpaludis/repository_info_model.cc
index d444bf2..a829a5c 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/repository_info_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/repository_info_model.cc
@@ -7,6 +7,8 @@
#include <paludis/package_database.hh>
#include <paludis/util/iterator.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace gtkpaludis;
using namespace paludis;
diff --git a/src/clients/gtkpaludis/libgtkpaludis/version_info_model.cc b/src/clients/gtkpaludis/libgtkpaludis/version_info_model.cc
index 1005c7b..91ff451 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/version_info_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/version_info_model.cc
@@ -10,6 +10,8 @@
#include <paludis/package_database.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/query.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
using namespace paludis;
diff --git a/src/clients/gtkpaludis/libgtkpaludis/versions_list_model.cc b/src/clients/gtkpaludis/libgtkpaludis/versions_list_model.cc
index 0edfbc8..34ee41c 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/versions_list_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/versions_list_model.cc
@@ -10,6 +10,8 @@
#include <paludis/environment.hh>
#include <paludis/package_database.hh>
#include <paludis/query.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
using namespace paludis;
diff --git a/src/clients/paludis/applets.cc b/src/clients/paludis/applets.cc
index 1ca271e..b2ebbc8 100644
--- a/src/clients/paludis/applets.cc
+++ b/src/clients/paludis/applets.cc
@@ -30,6 +30,8 @@
#include <paludis/util/tokeniser.hh>
#include <paludis/util/virtual_constructor-impl.hh>
#include <paludis/repositories/repository_maker.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <string>
#include <set>
#include <map>
diff --git a/src/clients/paludis/install.cc b/src/clients/paludis/install.cc
index 5e1eb14..0fda4c4 100644
--- a/src/clients/paludis/install.cc
+++ b/src/clients/paludis/install.cc
@@ -46,6 +46,9 @@
#include <paludis/util/system.hh>
#include <paludis/dep_list/exceptions.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
+
/** \file
* Handle the --install action for the main paludis program.
*/
diff --git a/src/output/console_install_task.cc b/src/output/console_install_task.cc
index 8390dda..c7f69f5 100644
--- a/src/output/console_install_task.cc
+++ b/src/output/console_install_task.cc
@@ -31,6 +31,8 @@
#include <paludis/util/iterator.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/query.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <algorithm>
#include <set>
diff --git a/src/output/console_install_task.hh b/src/output/console_install_task.hh
index f59009f..c61960b 100644
--- a/src/output/console_install_task.hh
+++ b/src/output/console_install_task.hh
@@ -22,6 +22,7 @@
#include <paludis/tasks/install_task.hh>
#include <paludis/package_database_entry.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <src/output/use_flag_pretty_printer.hh>
#include <src/output/console_task.hh>
#include <iosfwd>
diff --git a/src/output/console_query_task.cc b/src/output/console_query_task.cc
index 675431b..7bb602a 100644
--- a/src/output/console_query_task.cc
+++ b/src/output/console_query_task.cc
@@ -25,6 +25,8 @@
#include <paludis/util/tokeniser.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <paludis/query.hh>
#include <list>
diff --git a/src/output/licence.cc b/src/output/licence.cc
index c81f721..027d684 100644
--- a/src/output/licence.cc
+++ b/src/output/licence.cc
@@ -21,6 +21,7 @@
#include "colour.hh"
#include <ostream>
#include <algorithm>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace paludis;
diff --git a/src/output/use_flag_pretty_printer.cc b/src/output/use_flag_pretty_printer.cc
index d871244..efb85a0 100644
--- a/src/output/use_flag_pretty_printer.cc
+++ b/src/output/use_flag_pretty_printer.cc
@@ -24,6 +24,8 @@
#include <paludis/util/collection_concrete.hh>
#include <paludis/util/iterator.hh>
#include <paludis/util/tr1_functional.hh>
+#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <libwrapiter/libwrapiter_output_iterator.hh>
#include "colour.hh"
#include <iostream>
#include <set>