aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-11-02 08:39:19 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-11-02 08:39:19 +0000
commitea7d4ab21e1fcad22161a1443869b6c74a0dae65 (patch)
tree0127b71bdf46fa33edbb5a5e5e95958bf1a68a7a
parente07358f56f589f148d4d9505526b37f5a647ce49 (diff)
downloadpaludis-ea7d4ab21e1fcad22161a1443869b6c74a0dae65.tar.gz
paludis-ea7d4ab21e1fcad22161a1443869b6c74a0dae65.tar.xz
Fix
-rw-r--r--paludis/contents.cc3
-rw-r--r--paludis/package_database_TEST.cc2
-rw-r--r--paludis/package_id.cc3
-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_installed_repository.cc8
-rw-r--r--paludis/repositories/cran/cran_installed_repository_TEST.cc2
-rw-r--r--paludis/repositories/cran/cran_package_id.cc2
-rw-r--r--paludis/repositories/cran/cran_repository.cc8
-rw-r--r--paludis/repositories/cran/cran_repository_TEST.cc2
-rw-r--r--paludis/repositories/cran/keys.cc3
-rw-r--r--paludis/repositories/cran/masks.cc2
-rw-r--r--paludis/repositories/cran/masks.hh2
-rw-r--r--paludis/repositories/e/qa/extractors.cc1
-rw-r--r--paludis/repositories/e/qa/qa_checks_group.cc9
-rw-r--r--paludis/repositories/e/qa/qa_checks_group.hh5
-rw-r--r--paludis/repositories/e/qa/qa_controller.cc3
-rw-r--r--paludis/repositories/e/qa/qa_controller.hh2
-rw-r--r--paludis/repositories/e/qa/spec_keys.cc3
-rw-r--r--paludis/repositories/e/qa/visibility.cc3
-rw-r--r--paludis/repositories/e/qa/visibility_TEST.cc2
-rw-r--r--paludis/repositories/e/xml_things_TEST.cc2
-rw-r--r--paludis/repositories/gems/gem_specification.cc3
-rw-r--r--paludis/repositories/gems/gem_specification_TEST.cc1
-rw-r--r--paludis/repositories/gems/gem_specifications.cc6
-rw-r--r--paludis/repositories/gems/gem_specifications.hh4
-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.cc3
-rw-r--r--paludis/repositories/gems/yaml.cc6
-rw-r--r--paludis/repositories/gems/yaml.hh4
-rw-r--r--paludis/repositories/gems/yaml_TEST.cc2
-rw-r--r--paludis/repositories/unpackaged/installed_id.cc2
-rw-r--r--paludis/repositories/unpackaged/installed_repository.cc2
-rw-r--r--paludis/repositories/unpackaged/installed_repository_TEST.cc3
-rw-r--r--paludis/repositories/unpackaged/ndbam_merger.cc2
-rw-r--r--paludis/repositories/unpackaged/ndbam_unmerger.cc4
-rw-r--r--paludis/repositories/unpackaged/registration.cc2
-rw-r--r--paludis/repositories/unpackaged/unpackaged_repository_TEST.cc4
-rw-r--r--paludis/repository.cc8
-rw-r--r--paludis/util/destringify_TEST.cc9
-rw-r--r--python/contents.cc3
-rw-r--r--python/dep_list.cc2
-rw-r--r--python/dep_spec.cc6
-rw-r--r--python/dep_spec.hh2
-rw-r--r--python/dep_tag.cc2
-rw-r--r--python/environment.cc1
-rw-r--r--python/fs_entry.cc1
-rw-r--r--python/iterable.hh1
-rw-r--r--python/mask.cc12
-rw-r--r--python/metadata_key.cc2
-rw-r--r--python/name.cc2
-rw-r--r--python/package_database.cc2
-rw-r--r--python/package_id.cc3
-rw-r--r--python/repository.cc2
-rw-r--r--python/version_requirements.cc2
-rw-r--r--python/version_spec.cc2
-rw-r--r--ruby/contents.cc3
-rw-r--r--ruby/dep_list.cc2
-rw-r--r--ruby/dep_spec.cc3
-rw-r--r--ruby/environment.cc3
-rw-r--r--ruby/find_unused_packages_task.cc3
-rw-r--r--ruby/package_database.cc3
-rw-r--r--ruby/package_id.cc2
-rw-r--r--ruby/repository.cc3
-rw-r--r--src/clients/contrarius/contrarius.cc3
-rw-r--r--src/clients/contrarius/stage_builder.cc2
-rw-r--r--src/clients/contrarius/target_config.cc2
-rw-r--r--src/clients/contrarius/target_config.hh3
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/categories_list_model.cc6
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/gui_sync_task.cc2
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/packages_list_model.cc9
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/packages_package_filter_model.cc1
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/packages_repository_filter_model.cc5
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/packages_text_filter_source_model.cc1
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/repositories_list_model.cc5
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/repository_info_model.cc5
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/sets_list_model.cc6
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/version_info_model.cc3
-rw-r--r--src/clients/gtkpaludis/libgtkpaludis/versions_list_model.cc4
-rw-r--r--src/clients/importare/importare.cc3
-rw-r--r--src/clients/importare/install.cc3
-rw-r--r--src/clients/inquisitio/do_search.cc2
-rw-r--r--src/clients/inquisitio/key_extractor.cc1
-rw-r--r--src/clients/qualudis/qualudis.cc3
85 files changed, 116 insertions, 160 deletions
diff --git a/paludis/contents.cc b/paludis/contents.cc
index 16f12d0..6eed36f 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 <paludis/util/wrapped_forward_iterator-impl.hh>
#include <list>
using namespace paludis;
@@ -41,6 +42,8 @@ template class Visits<const ContentsFifoEntry>;
template class Visits<const ContentsDevEntry>;
template class Visits<const ContentsMiscEntry>;
+template class WrappedForwardIterator<Contents::ConstIteratorTag, const tr1::shared_ptr<const ContentsEntry> >;
+
ContentsEntry::ContentsEntry(const std::string & n) :
_name(n)
{
diff --git a/paludis/package_database_TEST.cc b/paludis/package_database_TEST.cc
index 61297eb..b038099 100644
--- a/paludis/package_database_TEST.cc
+++ b/paludis/package_database_TEST.cc
@@ -26,7 +26,7 @@
#include <paludis/util/sequence.hh>
#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/util/set.hh>
-#include <paludis/util/indirect_iterator.hh>
+#include <paludis/util/indirect_iterator-impl.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/package_id.cc b/paludis/package_id.cc
index 5824e4f..573bab0 100644
--- a/paludis/package_id.cc
+++ b/paludis/package_id.cc
@@ -53,6 +53,9 @@ template class WrappedForwardIterator<Set<tr1::shared_ptr<const PackageID> >::Co
template class WrappedOutputIterator<Set<tr1::shared_ptr<const PackageID> >::InserterTag,
tr1::shared_ptr<const PackageID> >;
+template class WrappedForwardIterator<PackageID::MetadataConstIteratorTag, tr1::shared_ptr<const MetadataKey> >;
+template class WrappedForwardIterator<PackageID::MasksConstIteratorTag, tr1::shared_ptr<const Mask> >;
+
namespace paludis
{
template <>
diff --git a/paludis/repositories/cran/cran_dep_parser.cc b/paludis/repositories/cran/cran_dep_parser.cc
index ce96b08..3136c1a 100644
--- a/paludis/repositories/cran/cran_dep_parser.cc
+++ b/paludis/repositories/cran/cran_dep_parser.cc
@@ -24,8 +24,6 @@
#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 54a33a0..94fb6da 100644
--- a/paludis/repositories/cran/cran_dep_parser_TEST.cc
+++ b/paludis/repositories/cran/cran_dep_parser_TEST.cc
@@ -25,7 +25,6 @@
#include <paludis/util/system.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/stringify_formatter.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/repositories/cran/cran_installed_repository.cc b/paludis/repositories/cran/cran_installed_repository.cc
index 3d06050..a16252c 100644
--- a/paludis/repositories/cran/cran_installed_repository.cc
+++ b/paludis/repositories/cran/cran_installed_repository.cc
@@ -30,7 +30,6 @@
#include <paludis/repositories/cran/cran_package_id.hh>
#include <paludis/repositories/cran/cran_dep_parser.hh>
#include <paludis/repositories/cran/cran_installed_repository.hh>
-#include <paludis/util/iterator.hh>
#include <paludis/util/make_shared_ptr.hh>
#include <paludis/util/dir_iterator.hh>
#include <paludis/util/fs_entry.hh>
@@ -45,9 +44,6 @@
#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 <functional>
#include <algorithm>
#include <fstream>
@@ -223,8 +219,8 @@ CRANInstalledRepository::package_names(const CategoryNamePart & c) const
need_ids();
- std::copy(_imp->ids.begin(), _imp->ids.end(), transform_inserter(result->inserter(),
- tr1::mem_fn(&std::pair<const QualifiedPackageName, tr1::shared_ptr<const cranrepository::CRANPackageID> >::first)));
+ std::transform(_imp->ids.begin(), _imp->ids.end(), result->inserter(),
+ tr1::mem_fn(&std::pair<const QualifiedPackageName, tr1::shared_ptr<const cranrepository::CRANPackageID> >::first));
return result;
}
diff --git a/paludis/repositories/cran/cran_installed_repository_TEST.cc b/paludis/repositories/cran/cran_installed_repository_TEST.cc
index 95423dd..e84f786 100644
--- a/paludis/repositories/cran/cran_installed_repository_TEST.cc
+++ b/paludis/repositories/cran/cran_installed_repository_TEST.cc
@@ -25,8 +25,6 @@
#include <paludis/environments/test/test_environment.hh>
#include <paludis/util/system.hh>
#include <paludis/util/map.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/cran/cran_package_id.cc b/paludis/repositories/cran/cran_package_id.cc
index 40e3730..c50c4a9 100644
--- a/paludis/repositories/cran/cran_package_id.cc
+++ b/paludis/repositories/cran/cran_package_id.cc
@@ -43,8 +43,6 @@
#include <list>
#include <paludis/util/tr1_functional.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-#include <libwrapiter/libwrapiter_output_iterator.hh>
using namespace paludis;
using namespace paludis::cranrepository;
diff --git a/paludis/repositories/cran/cran_repository.cc b/paludis/repositories/cran/cran_repository.cc
index b03dcde..812bef7 100644
--- a/paludis/repositories/cran/cran_repository.cc
+++ b/paludis/repositories/cran/cran_repository.cc
@@ -33,7 +33,6 @@
#include <paludis/util/sequence.hh>
#include <paludis/util/options.hh>
#include <paludis/util/fs_entry.hh>
-#include <paludis/util/iterator.hh>
#include <paludis/util/join.hh>
#include <paludis/util/log.hh>
#include <paludis/util/map.hh>
@@ -48,9 +47,6 @@
#include <paludis/util/is_file_with_extension.hh>
#include <paludis/util/visitor-impl.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-#include <libwrapiter/libwrapiter_output_iterator.hh>
-
#include <functional>
#include <algorithm>
@@ -180,8 +176,8 @@ CRANRepository::package_names(const CategoryNamePart & c) const
need_ids();
- std::copy(_imp->ids.begin(), _imp->ids.end(), transform_inserter(result->inserter(),
- tr1::mem_fn(&std::pair<const QualifiedPackageName, tr1::shared_ptr<const cranrepository::CRANPackageID> >::first)));
+ std::transform(_imp->ids.begin(), _imp->ids.end(), result->inserter(),
+ tr1::mem_fn(&std::pair<const QualifiedPackageName, tr1::shared_ptr<const cranrepository::CRANPackageID> >::first));
return result;
}
diff --git a/paludis/repositories/cran/cran_repository_TEST.cc b/paludis/repositories/cran/cran_repository_TEST.cc
index a1bc400..6b0fb59 100644
--- a/paludis/repositories/cran/cran_repository_TEST.cc
+++ b/paludis/repositories/cran/cran_repository_TEST.cc
@@ -26,8 +26,6 @@
#include <paludis/environments/test/test_environment.hh>
#include <paludis/util/system.hh>
#include <paludis/util/map.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/cran/keys.cc b/paludis/repositories/cran/keys.cc
index fbc06c3..26332ed 100644
--- a/paludis/repositories/cran/keys.cc
+++ b/paludis/repositories/cran/keys.cc
@@ -25,12 +25,11 @@
#include <paludis/util/sequence.hh>
#include <paludis/util/stringify.hh>
#include <paludis/util/join.hh>
-#include <paludis/util/iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/util/tr1_functional.hh>
#include <paludis/dep_spec.hh>
#include <paludis/stringify_formatter-impl.hh>
#include <paludis/formatter.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace paludis;
using namespace paludis::cranrepository;
diff --git a/paludis/repositories/cran/masks.cc b/paludis/repositories/cran/masks.cc
index 2953f51..ffda9b8 100644
--- a/paludis/repositories/cran/masks.cc
+++ b/paludis/repositories/cran/masks.cc
@@ -50,7 +50,7 @@ BrokenMask::~BrokenMask()
{
}
-const char
+char
BrokenMask::key() const
{
return _imp->key;
diff --git a/paludis/repositories/cran/masks.hh b/paludis/repositories/cran/masks.hh
index 53b5280..0f658c8 100644
--- a/paludis/repositories/cran/masks.hh
+++ b/paludis/repositories/cran/masks.hh
@@ -35,7 +35,7 @@ namespace paludis
BrokenMask(const char, const std::string &, const std::string &);
~BrokenMask();
- virtual const char key() const;
+ virtual char key() const;
virtual const std::string description() const;
virtual const std::string explanation() const;
};
diff --git a/paludis/repositories/e/qa/extractors.cc b/paludis/repositories/e/qa/extractors.cc
index 2e2274d..e072372 100644
--- a/paludis/repositories/e/qa/extractors.cc
+++ b/paludis/repositories/e/qa/extractors.cc
@@ -27,7 +27,6 @@
#include <paludis/util/system.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/fs_entry.hh>
-#include <paludis/util/iterator.hh>
#include <paludis/util/mutex.hh>
#include <paludis/util/options.hh>
#include <paludis/util/log.hh>
diff --git a/paludis/repositories/e/qa/qa_checks_group.cc b/paludis/repositories/e/qa/qa_checks_group.cc
index 56f9ac5..0432301 100644
--- a/paludis/repositories/e/qa/qa_checks_group.cc
+++ b/paludis/repositories/e/qa/qa_checks_group.cc
@@ -23,9 +23,9 @@
#include <paludis/util/graph.hh>
#include <paludis/util/graph-impl.hh>
#include <paludis/util/tr1_functional.hh>
-#include <paludis/util/iterator.hh>
#include <paludis/util/stringify.hh>
#include <paludis/util/mutex.hh>
+#include <paludis/util/wrapped_forward_iterator-impl.hh>
#include <paludis/hashed_containers.hh>
#include <list>
@@ -109,10 +109,13 @@ QAChecksGroup<T_>::need_ordering() const
std::list<std::string> o;
_imp->deps.topological_sort(std::back_inserter(o));
_imp->ordered.reset(new std::list<T_>);
- std::copy(o.begin(), o.end(), transform_inserter(std::back_inserter(*_imp->ordered),
- tr1::bind(tr1::mem_fn(&MakeHashedMap<std::string, T_>::Type::operator []), &_imp->unordered, _1)));
+ std::transform(o.begin(), o.end(), std::back_inserter(*_imp->ordered),
+ tr1::bind(tr1::mem_fn(&MakeHashedMap<std::string, T_>::Type::operator []), &_imp->unordered, _1));
}
template class QAChecksGroup<TreeCheckFunction>;
template class QAChecksGroup<PackageIDCheckFunction>;
+template class WrappedForwardIterator<QAChecksGroup<TreeCheckFunction>::ConstIteratorTag, TreeCheckFunction>;
+template class WrappedForwardIterator<QAChecksGroup<PackageIDCheckFunction>::ConstIteratorTag, PackageIDCheckFunction>;
+
diff --git a/paludis/repositories/e/qa/qa_checks_group.hh b/paludis/repositories/e/qa/qa_checks_group.hh
index 0417501..e5d9eec 100644
--- a/paludis/repositories/e/qa/qa_checks_group.hh
+++ b/paludis/repositories/e/qa/qa_checks_group.hh
@@ -22,8 +22,7 @@
#include <paludis/util/attributes.hh>
#include <paludis/util/private_implementation_pattern.hh>
-
-#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
+#include <paludis/util/wrapped_forward_iterator-fwd.hh>
#include <string>
namespace paludis
@@ -43,7 +42,7 @@ namespace paludis
QAChecksGroup();
~QAChecksGroup();
- typedef libwrapiter::ForwardIterator<QAChecksGroup<T_>, T_> ConstIterator;
+ typedef WrappedForwardIterator<enum ConstIteratorTag { }, T_> ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/repositories/e/qa/qa_controller.cc b/paludis/repositories/e/qa/qa_controller.cc
index 5596284..95367e0 100644
--- a/paludis/repositories/e/qa/qa_controller.cc
+++ b/paludis/repositories/e/qa/qa_controller.cc
@@ -27,11 +27,10 @@
#include <paludis/util/sequence.hh>
#include <paludis/util/mutex.hh>
#include <paludis/util/parallel_for_each.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/util/options.hh>
#include <paludis/qa.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-
#include <algorithm>
#include <list>
#include <map>
diff --git a/paludis/repositories/e/qa/qa_controller.hh b/paludis/repositories/e/qa/qa_controller.hh
index 66d469e..04da2d7 100644
--- a/paludis/repositories/e/qa/qa_controller.hh
+++ b/paludis/repositories/e/qa/qa_controller.hh
@@ -30,8 +30,6 @@
#include <paludis/name-fwd.hh>
#include <paludis/package_id-fwd.hh>
-#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
-
namespace paludis
{
class ERepository;
diff --git a/paludis/repositories/e/qa/spec_keys.cc b/paludis/repositories/e/qa/spec_keys.cc
index 2b87fde..0660597 100644
--- a/paludis/repositories/e/qa/spec_keys.cc
+++ b/paludis/repositories/e/qa/spec_keys.cc
@@ -31,12 +31,13 @@
#include <paludis/util/system.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/fs_entry.hh>
-#include <paludis/util/iterator.hh>
+#include <paludis/util/iterator_funcs.hh>
#include <paludis/util/parallel_for_each.hh>
#include <paludis/util/mutex.hh>
#include <paludis/util/options.hh>
#include <paludis/util/log.hh>
#include <paludis/util/instantiation_policy-impl.hh>
+#include <paludis/util/create_iterator-impl.hh>
#include <algorithm>
#include <map>
#include <set>
diff --git a/paludis/repositories/e/qa/visibility.cc b/paludis/repositories/e/qa/visibility.cc
index 898b29a..6fe517b 100644
--- a/paludis/repositories/e/qa/visibility.cc
+++ b/paludis/repositories/e/qa/visibility.cc
@@ -24,8 +24,8 @@
#include <paludis/util/tokeniser.hh>
#include <paludis/util/log.hh>
#include <paludis/util/set.hh>
-#include <paludis/util/iterator.hh>
#include <paludis/util/visitor-impl.hh>
+#include <paludis/util/create_iterator-impl.hh>
#include <paludis/util/make_shared_ptr.hh>
#include <paludis/query.hh>
#include <paludis/qa.hh>
@@ -36,7 +36,6 @@
#include <paludis/version_requirements.hh>
#include <paludis/metadata_key.hh>
#include <paludis/stringify_formatter.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <set>
#include <algorithm>
diff --git a/paludis/repositories/e/qa/visibility_TEST.cc b/paludis/repositories/e/qa/visibility_TEST.cc
index 7240173..ac8824f 100644
--- a/paludis/repositories/e/qa/visibility_TEST.cc
+++ b/paludis/repositories/e/qa/visibility_TEST.cc
@@ -22,13 +22,13 @@
#include <paludis/repositories/e/make_ebuild_repository.hh>
#include <paludis/environments/test/test_environment.hh>
#include <paludis/util/map.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/util/sequence.hh>
#include <paludis/qa.hh>
#include <paludis/query.hh>
#include <paludis/package_database.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace paludis;
using namespace paludis::erepository;
diff --git a/paludis/repositories/e/xml_things_TEST.cc b/paludis/repositories/e/xml_things_TEST.cc
index 3539945..679f1fc 100644
--- a/paludis/repositories/e/xml_things_TEST.cc
+++ b/paludis/repositories/e/xml_things_TEST.cc
@@ -18,8 +18,8 @@
*/
#include <paludis/repositories/e/glsa.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <paludis/util/join.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
diff --git a/paludis/repositories/gems/gem_specification.cc b/paludis/repositories/gems/gem_specification.cc
index 9a76526..47bd40b 100644
--- a/paludis/repositories/gems/gem_specification.cc
+++ b/paludis/repositories/gems/gem_specification.cc
@@ -31,9 +31,6 @@
#include <paludis/action.hh>
#include <paludis/environment.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_specification_TEST.cc b/paludis/repositories/gems/gem_specification_TEST.cc
index 54fb01a..a7cedf3 100644
--- a/paludis/repositories/gems/gem_specification_TEST.cc
+++ b/paludis/repositories/gems/gem_specification_TEST.cc
@@ -26,7 +26,6 @@
#include <paludis/name.hh>
#include <paludis/metadata_key.hh>
#include <paludis/version_spec.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace test;
using namespace paludis;
diff --git a/paludis/repositories/gems/gem_specifications.cc b/paludis/repositories/gems/gem_specifications.cc
index 0be53d7..1838bcc 100644
--- a/paludis/repositories/gems/gem_specifications.cc
+++ b/paludis/repositories/gems/gem_specifications.cc
@@ -27,13 +27,15 @@
#include <paludis/util/log.hh>
#include <paludis/util/stringify.hh>
#include <paludis/util/make_shared_ptr.hh>
+#include <paludis/util/wrapped_forward_iterator-impl.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;
+template class WrappedForwardIterator<GemSpecifications::ConstIteratorTag,
+ const std::pair<const std::pair<QualifiedPackageName, VersionSpec>, tr1::shared_ptr<const GemSpecification> > >;
+
typedef MakeHashedMap<std::pair<QualifiedPackageName, VersionSpec>, tr1::shared_ptr<const GemSpecification> >::Type Specs;
namespace paludis
diff --git a/paludis/repositories/gems/gem_specifications.hh b/paludis/repositories/gems/gem_specifications.hh
index a50f0b6..851de8c 100644
--- a/paludis/repositories/gems/gem_specifications.hh
+++ b/paludis/repositories/gems/gem_specifications.hh
@@ -26,10 +26,10 @@
#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/util/exception.hh>
#include <paludis/util/tr1_memory.hh>
+#include <paludis/util/wrapped_forward_iterator-fwd.hh>
#include <paludis/name-fwd.hh>
#include <paludis/version_spec-fwd.hh>
#include <paludis/repository-fwd.hh>
-#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
#include <string>
namespace paludis
@@ -58,7 +58,7 @@ namespace paludis
///\name Iterate over our specifications
///\{
- typedef libwrapiter::ForwardIterator<GemSpecifications,
+ typedef WrappedForwardIterator<enum ConstIteratorTag { },
const std::pair<const std::pair<QualifiedPackageName, VersionSpec>, tr1::shared_ptr<const GemSpecification> > >
ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/repositories/gems/gems_repository.cc b/paludis/repositories/gems/gems_repository.cc
index 8e9dd2f..83f0f2d 100644
--- a/paludis/repositories/gems/gems_repository.cc
+++ b/paludis/repositories/gems/gems_repository.cc
@@ -33,8 +33,6 @@
#include <paludis/util/visitor-impl.hh>
#include <paludis/hashed_containers.hh>
#include <paludis/action.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 7ecbc8a..a693c37 100644
--- a/paludis/repositories/gems/installed_gems_repository.cc
+++ b/paludis/repositories/gems/installed_gems_repository.cc
@@ -40,9 +40,6 @@
#include <paludis/hashed_containers.hh>
#include <paludis/action.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-#include <libwrapiter/libwrapiter_output_iterator.hh>
-
using namespace paludis;
typedef MakeHashedMap<QualifiedPackageName, tr1::shared_ptr<PackageIDSequence> >::Type IDMap;
diff --git a/paludis/repositories/gems/registration.cc b/paludis/repositories/gems/registration.cc
index 9984a7a..f61890c 100644
--- a/paludis/repositories/gems/registration.cc
+++ b/paludis/repositories/gems/registration.cc
@@ -24,10 +24,9 @@
#include <paludis/repositories/gems/exceptions.hh>
#include <paludis/util/make_shared_ptr.hh>
#include <paludis/util/map.hh>
+#include <paludis/util/wrapped_forward_iterator.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 510da78..c7c0c63 100644
--- a/paludis/repositories/gems/yaml.cc
+++ b/paludis/repositories/gems/yaml.cc
@@ -23,8 +23,7 @@
#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 <paludis/util/wrapped_forward_iterator-impl.hh>
#include <syck.h>
#include <cstring>
#include <algorithm>
@@ -33,6 +32,9 @@
using namespace paludis;
using namespace paludis::yaml;
+template class WrappedForwardIterator<MapNode::ConstIteratorTag, const std::pair<const Node *, const Node *> >;
+template class WrappedForwardIterator<SequenceNode::ConstIteratorTag, const Node * const>;
+
Node::~Node()
{
}
diff --git a/paludis/repositories/gems/yaml.hh b/paludis/repositories/gems/yaml.hh
index 43046d4..1d508cf 100644
--- a/paludis/repositories/gems/yaml.hh
+++ b/paludis/repositories/gems/yaml.hh
@@ -124,7 +124,7 @@ namespace paludis
///\name Iterate over our child nodes.
///\{
- typedef libwrapiter::ForwardIterator<SequenceNode, const Node * const> ConstIterator;
+ typedef WrappedForwardIterator<enum ConstIteratorTag { }, const Node * const> ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
@@ -159,7 +159,7 @@ namespace paludis
///\name Iterate over and find our child nodes.
///\{
- typedef libwrapiter::ForwardIterator<MapNode, const std::pair<const Node *, const Node *> > ConstIterator;
+ typedef WrappedForwardIterator<enum ConstIteratorTag { }, const std::pair<const Node *, const Node *> > ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator find(const std::string &) const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/repositories/gems/yaml_TEST.cc b/paludis/repositories/gems/yaml_TEST.cc
index 040186e..11983fb 100644
--- a/paludis/repositories/gems/yaml_TEST.cc
+++ b/paludis/repositories/gems/yaml_TEST.cc
@@ -20,9 +20,7 @@
#include <test/test_runner.hh>
#include <test/test_framework.hh>
#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/unpackaged/installed_id.cc b/paludis/repositories/unpackaged/installed_id.cc
index 612f1cd..d49e174 100644
--- a/paludis/repositories/unpackaged/installed_id.cc
+++ b/paludis/repositories/unpackaged/installed_id.cc
@@ -127,7 +127,7 @@ namespace
{
}
- const time_t value() const
+ time_t value() const
{
return _time;
}
diff --git a/paludis/repositories/unpackaged/installed_repository.cc b/paludis/repositories/unpackaged/installed_repository.cc
index 61ec67d..9cd6d45 100644
--- a/paludis/repositories/unpackaged/installed_repository.cc
+++ b/paludis/repositories/unpackaged/installed_repository.cc
@@ -23,7 +23,6 @@
#include <paludis/repositories/unpackaged/ndbam_merger.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/sequence.hh>
-#include <paludis/util/iterator.hh>
#include <paludis/util/make_shared_ptr.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/stringify.hh>
@@ -35,7 +34,6 @@
#include <paludis/environment.hh>
#include <paludis/dep_tag.hh>
#include <paludis/metadata_key.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <fstream>
#include <sstream>
#include <sys/time.h>
diff --git a/paludis/repositories/unpackaged/installed_repository_TEST.cc b/paludis/repositories/unpackaged/installed_repository_TEST.cc
index e78826a..d8c3dcb 100644
--- a/paludis/repositories/unpackaged/installed_repository_TEST.cc
+++ b/paludis/repositories/unpackaged/installed_repository_TEST.cc
@@ -25,14 +25,11 @@
#include <paludis/package_id.hh>
#include <paludis/action.hh>
#include <paludis/metadata_key.hh>
-#include <paludis/util/iterator.hh>
#include <paludis/util/sequence.hh>
#include <paludis/util/join.hh>
-#include <paludis/util/iterator.hh>
#include <paludis/util/visitor-impl.hh>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <algorithm>
#include <sstream>
diff --git a/paludis/repositories/unpackaged/ndbam_merger.cc b/paludis/repositories/unpackaged/ndbam_merger.cc
index 151539d..f1f6138 100644
--- a/paludis/repositories/unpackaged/ndbam_merger.cc
+++ b/paludis/repositories/unpackaged/ndbam_merger.cc
@@ -26,12 +26,12 @@
#include <paludis/util/system.hh>
#include <paludis/util/fs_entry.hh>
#include <paludis/util/strip.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/hook.hh>
#include <paludis/package_id.hh>
#include <paludis/md5.hh>
#include <paludis/environment.hh>
#include <paludis/package_database.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <fstream>
#include <iostream>
#include <iomanip>
diff --git a/paludis/repositories/unpackaged/ndbam_unmerger.cc b/paludis/repositories/unpackaged/ndbam_unmerger.cc
index b1c6b40..36e473e 100644
--- a/paludis/repositories/unpackaged/ndbam_unmerger.cc
+++ b/paludis/repositories/unpackaged/ndbam_unmerger.cc
@@ -36,9 +36,7 @@
#include <paludis/util/tr1_functional.hh>
#include <paludis/util/make_shared_ptr.hh>
#include <paludis/util/strip.hh>
-
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-#include <libwrapiter/libwrapiter_output_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <list>
#include <map>
diff --git a/paludis/repositories/unpackaged/registration.cc b/paludis/repositories/unpackaged/registration.cc
index 02cbf61..505cc94 100644
--- a/paludis/repositories/unpackaged/registration.cc
+++ b/paludis/repositories/unpackaged/registration.cc
@@ -20,10 +20,10 @@
#include <paludis/repository_maker.hh>
#include <paludis/util/attributes.hh>
#include <paludis/util/make_shared_ptr.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/repositories/unpackaged/installed_repository.hh>
#include <paludis/repositories/unpackaged/unpackaged_repository.hh>
#include <paludis/repositories/unpackaged/exceptions.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace paludis;
diff --git a/paludis/repositories/unpackaged/unpackaged_repository_TEST.cc b/paludis/repositories/unpackaged/unpackaged_repository_TEST.cc
index 69fc00b..3152aa5 100644
--- a/paludis/repositories/unpackaged/unpackaged_repository_TEST.cc
+++ b/paludis/repositories/unpackaged/unpackaged_repository_TEST.cc
@@ -27,10 +27,10 @@
#include <paludis/metadata_key.hh>
#include <paludis/util/sequence.hh>
#include <paludis/util/join.hh>
-#include <paludis/util/iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
+#include <paludis/util/indirect_iterator-impl.hh>
#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/repository.cc b/paludis/repository.cc
index b64e01d..85ef0b5 100644
--- a/paludis/repository.cc
+++ b/paludis/repository.cc
@@ -42,8 +42,16 @@ using namespace paludis;
#include <paludis/repository-sr.cc>
template class Set<tr1::shared_ptr<Repository> >;
+template class WrappedForwardIterator<Set<tr1::shared_ptr<Repository> >::ConstIteratorTag, const tr1::shared_ptr<Repository> >;
+template class WrappedOutputIterator<Set<tr1::shared_ptr<Repository> >::InserterTag, tr1::shared_ptr<Repository> >;
+
template class Sequence<RepositoryVirtualsEntry>;
+template class WrappedForwardIterator<Sequence<RepositoryVirtualsEntry>::ConstIteratorTag, const RepositoryVirtualsEntry>;
+template class WrappedOutputIterator<Sequence<RepositoryVirtualsEntry>::InserterTag, RepositoryVirtualsEntry>;
+
template class Sequence<RepositoryProvidesEntry>;
+template class WrappedForwardIterator<Sequence<RepositoryProvidesEntry>::ConstIteratorTag, const RepositoryProvidesEntry>;
+template class WrappedOutputIterator<Sequence<RepositoryProvidesEntry>::InserterTag, RepositoryProvidesEntry>;
template class WrappedForwardIterator<RepositoryMirrorsInterface::MirrorsConstIteratorTag,
const std::pair<const std::string, std::string> >;
diff --git a/paludis/util/destringify_TEST.cc b/paludis/util/destringify_TEST.cc
index c790637..0bb56cf 100644
--- a/paludis/util/destringify_TEST.cc
+++ b/paludis/util/destringify_TEST.cc
@@ -22,6 +22,7 @@
#include <string>
#include <test/test_framework.hh>
#include <test/test_runner.hh>
+#include <cmath>
using namespace test;
using namespace paludis;
@@ -64,10 +65,10 @@ namespace test_cases
void run()
{
- TEST_CHECK(abs(destringify<float>("0") - 0.0f) < 0.01f);
- TEST_CHECK(abs(destringify<float>("0.0") - 0.0f) < 0.01f);
- TEST_CHECK(abs(destringify<float>("0.1") - 0.1f) < 0.01f);
- TEST_CHECK(abs(destringify<float>("-1.54") - -1.54f) < 0.01f);
+ TEST_CHECK(std::fabs(destringify<float>("0") - 0.0f) < 0.01f);
+ TEST_CHECK(std::fabs(destringify<float>("0.0") - 0.0f) < 0.01f);
+ TEST_CHECK(std::fabs(destringify<float>("0.1") - 0.1f) < 0.01f);
+ TEST_CHECK(std::fabs(destringify<float>("-1.54") - -1.54f) < 0.01f);
TEST_CHECK_THROWS(destringify<float>("I am a fish"), DestringifyError);
TEST_CHECK_THROWS(destringify<float>(""), DestringifyError);
}
diff --git a/python/contents.cc b/python/contents.cc
index 5229dea..89da71e 100644
--- a/python/contents.cc
+++ b/python/contents.cc
@@ -18,9 +18,8 @@
*/
#include <python/paludis_python.hh>
-
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/contents.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace paludis;
using namespace paludis::python;
diff --git a/python/dep_list.cc b/python/dep_list.cc
index 8db5f15..29f111c 100644
--- a/python/dep_list.cc
+++ b/python/dep_list.cc
@@ -22,7 +22,7 @@
#include <paludis/dep_list.hh>
#include <paludis/dep_list_exceptions.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
using namespace paludis;
diff --git a/python/dep_spec.cc b/python/dep_spec.cc
index 987c949..8d21e42 100644
--- a/python/dep_spec.cc
+++ b/python/dep_spec.cc
@@ -30,8 +30,7 @@
#include <paludis/util/save.hh>
#include <paludis/util/stringify.hh>
#include <paludis/util/tr1_type_traits.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-#include <libwrapiter/libwrapiter_output_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator-impl.hh>
#include <list>
@@ -68,6 +67,9 @@ template class Visits<const PythonURILabelsDepSpec>;
template class Visits<const PythonDependencyLabelsDepSpec>;
template class Visits<const PythonNamedSetDepSpec>;
+template class WrappedForwardIterator<PythonCompositeDepSpec::ConstIteratorTag,
+ const tr1::shared_ptr<const PythonDepSpec> >;
+
PythonDepSpec::PythonDepSpec()
{
}
diff --git a/python/dep_spec.hh b/python/dep_spec.hh
index 14cf34b..d69283b 100644
--- a/python/dep_spec.hh
+++ b/python/dep_spec.hh
@@ -93,7 +93,7 @@ namespace paludis
void add_child(const tr1::shared_ptr<const PythonDepSpec>);
- typedef libwrapiter::ForwardIterator<PythonCompositeDepSpec,
+ typedef WrappedForwardIterator<enum ConstIteratorTag { },
const tr1::shared_ptr<const PythonDepSpec> > ConstIterator;
ConstIterator begin() const
diff --git a/python/dep_tag.cc b/python/dep_tag.cc
index 404f02f..fe77bbf 100644
--- a/python/dep_tag.cc
+++ b/python/dep_tag.cc
@@ -23,7 +23,7 @@
#include <paludis/dep_tag.hh>
#include <paludis/dep_spec.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
using namespace paludis;
using namespace paludis::python;
diff --git a/python/environment.cc b/python/environment.cc
index c40505f..d8751f9 100644
--- a/python/environment.cc
+++ b/python/environment.cc
@@ -30,6 +30,7 @@
#include <paludis/environments/test/test_environment.hh>
#include <paludis/hook.hh>
#include <paludis/package_id.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
using namespace paludis;
using namespace paludis::python;
diff --git a/python/fs_entry.cc b/python/fs_entry.cc
index 7093742..d633d6c 100644
--- a/python/fs_entry.cc
+++ b/python/fs_entry.cc
@@ -22,6 +22,7 @@
#include <python/iterable.hh>
#include <paludis/util/fs_entry.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
using namespace paludis;
using namespace paludis::python;
diff --git a/python/iterable.hh b/python/iterable.hh
index b7e25da..ced4fe3 100644
--- a/python/iterable.hh
+++ b/python/iterable.hh
@@ -26,7 +26,6 @@
#include <paludis/util/tr1_type_traits.hh>
#include <paludis/util/sequence.hh>
#include <paludis/util/set.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <paludis/util/validated.hh>
namespace paludis
diff --git a/python/mask.cc b/python/mask.cc
index a54bcd7..585182a 100644
--- a/python/mask.cc
+++ b/python/mask.cc
@@ -87,7 +87,7 @@ struct MaskWrapper :
Mask,
bp::wrapper<Mask>
{
- virtual const char key() const
+ virtual char key() const
{
Lock l(get_mutex());
@@ -112,7 +112,7 @@ struct UserMaskWrapper :
UserMask,
bp::wrapper<UserMask>
{
- virtual const char key() const
+ virtual char key() const
{
Lock l(get_mutex());
@@ -147,7 +147,7 @@ struct UnacceptedMaskWrapper :
throw PythonMethodNotImplemented("UnacceptedMask", "unaccepted_key");
}
- virtual const char key() const
+ virtual char key() const
{
Lock l(get_mutex());
@@ -182,7 +182,7 @@ struct RepositoryMaskWrapper :
throw PythonMethodNotImplemented("RepositoryMask", "mask_key");
}
- virtual const char key() const
+ virtual char key() const
{
Lock l(get_mutex());
@@ -216,7 +216,7 @@ struct UnsupportedMaskWrapper :
throw PythonMethodNotImplemented("UnsupportedMask", "explanation");
}
- virtual const char key() const
+ virtual char key() const
{
Lock l(get_mutex());
@@ -251,7 +251,7 @@ struct AssociationMaskWrapper :
throw PythonMethodNotImplemented("AssociationMask", "associated_package");
}
- virtual const char key() const
+ virtual char key() const
{
Lock l(get_mutex());
diff --git a/python/metadata_key.cc b/python/metadata_key.cc
index a03b202..4df0d4f 100644
--- a/python/metadata_key.cc
+++ b/python/metadata_key.cc
@@ -202,7 +202,7 @@ struct MetadataTimeKeyWrapper :
{
}
- virtual const time_t value() const
+ virtual time_t value() const
PALUDIS_ATTRIBUTE((warn_unused_result))
{
Lock l(get_mutex());
diff --git a/python/name.cc b/python/name.cc
index d9f1d60..6fa1e47 100644
--- a/python/name.cc
+++ b/python/name.cc
@@ -21,9 +21,9 @@
#include <python/exception.hh>
#include <python/validated.hh>
#include <python/iterable.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/name.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
using namespace paludis;
using namespace paludis::python;
diff --git a/python/package_database.cc b/python/package_database.cc
index 715843b..e0cedcd 100644
--- a/python/package_database.cc
+++ b/python/package_database.cc
@@ -25,7 +25,7 @@
#include <paludis/environment.hh>
#include <paludis/package_id.hh>
#include <paludis/package_database.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
using namespace paludis;
using namespace paludis::python;
diff --git a/python/package_id.cc b/python/package_id.cc
index a69205f..16f0621 100644
--- a/python/package_id.cc
+++ b/python/package_id.cc
@@ -26,8 +26,7 @@
#include <paludis/name.hh>
#include <paludis/version_spec.hh>
#include <paludis/action.hh>
-#include <paludis/util/iterator.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
using namespace paludis;
using namespace paludis::python;
diff --git a/python/repository.cc b/python/repository.cc
index 4d2186c..adcfbe9 100644
--- a/python/repository.cc
+++ b/python/repository.cc
@@ -30,7 +30,7 @@
#include <paludis/environment.hh>
#include <paludis/qa.hh>
#include <paludis/util/options.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
using namespace paludis;
using namespace paludis::python;
diff --git a/python/version_requirements.cc b/python/version_requirements.cc
index 1ea30d4..3c6a8cb 100644
--- a/python/version_requirements.cc
+++ b/python/version_requirements.cc
@@ -21,7 +21,7 @@
#include <python/iterable.hh>
#include <paludis/version_requirements.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
using namespace paludis;
using namespace paludis::python;
diff --git a/python/version_spec.cc b/python/version_spec.cc
index a2f39d0..b96095e 100644
--- a/python/version_spec.cc
+++ b/python/version_spec.cc
@@ -21,7 +21,7 @@
#include <python/exception.hh>
#include <paludis/version_spec.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
using namespace paludis;
using namespace paludis::python;
diff --git a/ruby/contents.cc b/ruby/contents.cc
index c016118..3ba97bc 100644
--- a/ruby/contents.cc
+++ b/ruby/contents.cc
@@ -20,8 +20,7 @@
#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 <paludis/util/wrapped_forward_iterator.hh>
#include <ruby.h>
using namespace paludis;
diff --git a/ruby/dep_list.cc b/ruby/dep_list.cc
index ae1d512..5fc5dd5 100644
--- a/ruby/dep_list.cc
+++ b/ruby/dep_list.cc
@@ -19,7 +19,7 @@
#include <paludis_ruby.hh>
#include <paludis/dep_list.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <ruby.h>
using namespace paludis;
diff --git a/ruby/dep_spec.cc b/ruby/dep_spec.cc
index e8d3a1c..6d97cf6 100644
--- a/ruby/dep_spec.cc
+++ b/ruby/dep_spec.cc
@@ -22,8 +22,7 @@
#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 <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/util/sequence.hh>
#include <ruby.h>
diff --git a/ruby/environment.cc b/ruby/environment.cc
index f9dc570..55caed0 100644
--- a/ruby/environment.cc
+++ b/ruby/environment.cc
@@ -23,8 +23,7 @@
#include <paludis/environments/no_config/no_config_environment.hh>
#include <paludis/environments/adapted/adapted_environment.hh>
#include <paludis/environment_maker.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-#include <libwrapiter/libwrapiter_output_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/util/set.hh>
#include <ruby.h>
diff --git a/ruby/find_unused_packages_task.cc b/ruby/find_unused_packages_task.cc
index 487dc49..ca504e7 100644
--- a/ruby/find_unused_packages_task.cc
+++ b/ruby/find_unused_packages_task.cc
@@ -19,8 +19,7 @@
#include <paludis_ruby.hh>
#include <paludis/find_unused_packages_task.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-#include <libwrapiter/libwrapiter_output_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/util/sequence-impl.hh>
#include <ruby.h>
diff --git a/ruby/package_database.cc b/ruby/package_database.cc
index 1e08aaf..7301ffc 100644
--- a/ruby/package_database.cc
+++ b/ruby/package_database.cc
@@ -20,8 +20,7 @@
#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 <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/util/sequence.hh>
#include <ruby.h>
diff --git a/ruby/package_id.cc b/ruby/package_id.cc
index 6260b0d..ddeb769 100644
--- a/ruby/package_id.cc
+++ b/ruby/package_id.cc
@@ -18,7 +18,7 @@
*/
#include <paludis_ruby.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/package_id.hh>
#include <paludis/metadata_key.hh>
diff --git a/ruby/repository.cc b/ruby/repository.cc
index dd60078..eff7c94 100644
--- a/ruby/repository.cc
+++ b/ruby/repository.cc
@@ -26,8 +26,7 @@
#include <paludis/repositories/fake/fake_repository.hh>
#include <paludis/repositories/fake/fake_package_id.hh>
#include <paludis/util/stringify.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-#include <libwrapiter/libwrapiter_output_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/util/set.hh>
#include <paludis/util/sequence.hh>
#include <ruby.h>
diff --git a/src/clients/contrarius/contrarius.cc b/src/clients/contrarius/contrarius.cc
index e6497ef..6f3cb9d 100644
--- a/src/clients/contrarius/contrarius.cc
+++ b/src/clients/contrarius/contrarius.cc
@@ -27,9 +27,6 @@
#include <iostream>
#include <algorithm>
-#include <libebt/libebt.hh>
-#include <libwrapiter/libwrapiter.hh>
-
#include "target_config.hh"
#include "command_line.hh"
#include "stage.hh"
diff --git a/src/clients/contrarius/stage_builder.cc b/src/clients/contrarius/stage_builder.cc
index a336d8e..eba92ae 100644
--- a/src/clients/contrarius/stage_builder.cc
+++ b/src/clients/contrarius/stage_builder.cc
@@ -22,7 +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 <paludis/util/wrapped_forward_iterator.hh>
#include <iostream>
#include <list>
diff --git a/src/clients/contrarius/target_config.cc b/src/clients/contrarius/target_config.cc
index 6384e45..910fbe5 100644
--- a/src/clients/contrarius/target_config.cc
+++ b/src/clients/contrarius/target_config.cc
@@ -23,6 +23,7 @@
#include <paludis/util/instantiation_policy-impl.hh>
#include <paludis/util/options.hh>
#include <paludis/util/config_file.hh>
+#include <paludis/util/wrapped_forward_iterator-impl.hh>
#include <list>
#include <string>
#include <vector>
@@ -33,6 +34,7 @@
using namespace paludis;
template class InstantiationPolicy<TargetConfig, instantiation_method::SingletonTag>;
+template class WrappedForwardIterator<TargetConfig::ConstIteratorTag, const std::string>;
void
TargetConfig::_parse_defaults()
diff --git a/src/clients/contrarius/target_config.hh b/src/clients/contrarius/target_config.hh
index feffd76..535490e 100644
--- a/src/clients/contrarius/target_config.hh
+++ b/src/clients/contrarius/target_config.hh
@@ -22,6 +22,7 @@
#include <paludis/util/exception.hh>
#include <paludis/util/instantiation_policy.hh>
+#include <paludis/util/wrapped_forward_iterator-fwd.hh>
#include <paludis/host_tuple_name.hh>
#include <list>
#include <utility>
@@ -46,7 +47,7 @@ class TargetConfig :
private:
typedef std::list<std::pair<std::string, std::string> > SpecEntryList;
- typedef libwrapiter::ForwardIterator<TargetConfig, const std::string> ConstIterator;
+ typedef WrappedForwardIterator<enum ConstIteratorTag { }, const std::string> ConstIterator;
SpecEntryList _binutils_list;
diff --git a/src/clients/gtkpaludis/libgtkpaludis/categories_list_model.cc b/src/clients/gtkpaludis/libgtkpaludis/categories_list_model.cc
index 796bf91..17b5cbf 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/categories_list_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/categories_list_model.cc
@@ -3,14 +3,14 @@
#include "categories_list_model.hh"
#include "main_window.hh"
#include "packages_page.hh"
-#include <paludis/util/iterator.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/set.hh>
#include <paludis/util/sequence.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
+#include <paludis/util/wrapped_output_iterator.hh>
+#include <paludis/util/indirect_iterator-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/gui_sync_task.cc b/src/clients/gtkpaludis/libgtkpaludis/gui_sync_task.cc
index 3888ee3..f09e091 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/gui_sync_task.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/gui_sync_task.cc
@@ -6,7 +6,7 @@
#include "task_window.hh"
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/stringify.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
using namespace gtkpaludis;
using namespace paludis;
diff --git a/src/clients/gtkpaludis/libgtkpaludis/packages_list_model.cc b/src/clients/gtkpaludis/libgtkpaludis/packages_list_model.cc
index 05392f8..7364185 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/packages_list_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/packages_list_model.cc
@@ -9,13 +9,12 @@
#include <paludis/package_database.hh>
#include <paludis/metadata_key.hh>
#include <paludis/package_id.hh>
-#include <paludis/util/iterator.hh>
#include <paludis/util/make_shared_ptr.hh>
#include <paludis/util/private_implementation_pattern-impl.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 <paludis/util/iterator_funcs.hh>
+#include <paludis/util/wrapped_forward_iterator-impl.hh>
#include <list>
#include <algorithm>
#include <set>
@@ -79,10 +78,10 @@ namespace gtkpaludis
};
struct PackagesListModel::PopulateDataIterator :
- libwrapiter::ForwardIterator<PackagesListModel::PopulateDataIterator, const PopulateItem>
+ WrappedForwardIterator<PackagesListModel::PopulateDataIterator, const PopulateItem>
{
PopulateDataIterator(const std::list<PopulateItem>::const_iterator & i) :
- libwrapiter::ForwardIterator<PackagesListModel::PopulateDataIterator, const PopulateItem>(i)
+ WrappedForwardIterator<PackagesListModel::PopulateDataIterator, const PopulateItem>(i)
{
}
};
diff --git a/src/clients/gtkpaludis/libgtkpaludis/packages_package_filter_model.cc b/src/clients/gtkpaludis/libgtkpaludis/packages_package_filter_model.cc
index 3c53357..47ff193 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/packages_package_filter_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/packages_package_filter_model.cc
@@ -2,7 +2,6 @@
#include "packages_package_filter_model.hh"
#include "main_window.hh"
-#include <paludis/util/iterator.hh>
#include <paludis/environment.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/package_database.hh>
diff --git a/src/clients/gtkpaludis/libgtkpaludis/packages_repository_filter_model.cc b/src/clients/gtkpaludis/libgtkpaludis/packages_repository_filter_model.cc
index c677397..432ed53 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/packages_repository_filter_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/packages_repository_filter_model.cc
@@ -3,13 +3,12 @@
#include "packages_repository_filter_model.hh"
#include "main_window.hh"
#include <paludis/util/private_implementation_pattern-impl.hh>
-#include <paludis/util/iterator.hh>
#include <paludis/util/sequence.hh>
#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 <paludis/util/wrapped_forward_iterator.hh>
+#include <paludis/util/indirect_iterator-impl.hh>
using namespace paludis;
using namespace gtkpaludis;
diff --git a/src/clients/gtkpaludis/libgtkpaludis/packages_text_filter_source_model.cc b/src/clients/gtkpaludis/libgtkpaludis/packages_text_filter_source_model.cc
index c9292cd..eb80c67 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/packages_text_filter_source_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/packages_text_filter_source_model.cc
@@ -2,7 +2,6 @@
#include "packages_text_filter_source_model.hh"
#include "main_window.hh"
-#include <paludis/util/iterator.hh>
#include <paludis/environment.hh>
#include <paludis/package_database.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
diff --git a/src/clients/gtkpaludis/libgtkpaludis/repositories_list_model.cc b/src/clients/gtkpaludis/libgtkpaludis/repositories_list_model.cc
index 107c161..4033fbb 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/repositories_list_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/repositories_list_model.cc
@@ -2,13 +2,12 @@
#include "repositories_list_model.hh"
#include "main_window.hh"
-#include <paludis/util/iterator.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/sequence.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
+#include <paludis/util/indirect_iterator-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 7282458..727a890 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/repository_info_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/repository_info_model.cc
@@ -6,10 +6,9 @@
#include <paludis/environment.hh>
#include <paludis/package_database.hh>
#include <paludis/repository_info.hh>
-#include <paludis/util/iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-#include <libwrapiter/libwrapiter_output_iterator.hh>
+#include <paludis/util/indirect_iterator-impl.hh>
using namespace gtkpaludis;
using namespace paludis;
diff --git a/src/clients/gtkpaludis/libgtkpaludis/sets_list_model.cc b/src/clients/gtkpaludis/libgtkpaludis/sets_list_model.cc
index 283039d..eed33df 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/sets_list_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/sets_list_model.cc
@@ -3,14 +3,14 @@
#include "sets_list_model.hh"
#include "main_window.hh"
#include "packages_page.hh"
-#include <paludis/util/iterator.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/set.hh>
#include <paludis/util/sequence.hh>
#include <paludis/environment.hh>
#include <paludis/package_database.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-#include <libwrapiter/libwrapiter_output_iterator.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
+#include <paludis/util/wrapped_output_iterator.hh>
+#include <paludis/util/indirect_iterator-impl.hh>
using namespace paludis;
using namespace gtkpaludis;
diff --git a/src/clients/gtkpaludis/libgtkpaludis/version_info_model.cc b/src/clients/gtkpaludis/libgtkpaludis/version_info_model.cc
index 397ee2d..200f4cd 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/version_info_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/version_info_model.cc
@@ -5,7 +5,6 @@
#include "versions_page.hh"
#include "markup.hh"
#include "markup_formatter.hh"
-#include <paludis/util/iterator.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/util/set.hh>
#include <paludis/util/strip.hh>
@@ -16,8 +15,6 @@
#include <paludis/query.hh>
#include <paludis/mask.hh>
#include <paludis/metadata_key.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 98a307c..8a3add1 100644
--- a/src/clients/gtkpaludis/libgtkpaludis/versions_list_model.cc
+++ b/src/clients/gtkpaludis/libgtkpaludis/versions_list_model.cc
@@ -4,17 +4,15 @@
#include "query_window.hh"
#include "versions_page.hh"
#include "markup.hh"
-#include <paludis/util/iterator.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/tr1_functional.hh>
#include <paludis/util/sequence.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <paludis/environment.hh>
#include <paludis/package_database.hh>
#include <paludis/query.hh>
#include <paludis/package_id.hh>
#include <paludis/mask.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
using namespace paludis;
diff --git a/src/clients/importare/importare.cc b/src/clients/importare/importare.cc
index 91ade5b..add6127 100644
--- a/src/clients/importare/importare.cc
+++ b/src/clients/importare/importare.cc
@@ -27,12 +27,11 @@
#include <paludis/util/log.hh>
#include <paludis/util/map.hh>
#include <paludis/util/sequence.hh>
+#include <paludis/util/indirect_iterator-impl.hh>
#include <paludis/about.hh>
#include <paludis/repository_maker.hh>
#include <paludis/fuzzy_finder.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-
#include <algorithm>
#include <iterator>
#include <iostream>
diff --git a/src/clients/importare/install.cc b/src/clients/importare/install.cc
index 8d0142a..fad687b 100644
--- a/src/clients/importare/install.cc
+++ b/src/clients/importare/install.cc
@@ -41,9 +41,6 @@
#include <paludis/mask.hh>
#include <paludis/action.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-#include <libwrapiter/libwrapiter_output_iterator.hh>
-
using namespace paludis;
using std::cerr;
diff --git a/src/clients/inquisitio/do_search.cc b/src/clients/inquisitio/do_search.cc
index 183bbe3..1c961ff 100644
--- a/src/clients/inquisitio/do_search.cc
+++ b/src/clients/inquisitio/do_search.cc
@@ -30,12 +30,12 @@
#include <paludis/package_database.hh>
#include <paludis/action.hh>
#include <paludis/package_id.hh>
-#include <paludis/util/iterator.hh>
#include <paludis/util/set.hh>
#include <paludis/util/sequence.hh>
#include <paludis/util/make_shared_ptr.hh>
#include <paludis/util/tr1_functional.hh>
#include <paludis/util/parallel_for_each.hh>
+#include <paludis/util/create_iterator-impl.hh>
#include <list>
#include <set>
#include <map>
diff --git a/src/clients/inquisitio/key_extractor.cc b/src/clients/inquisitio/key_extractor.cc
index 3081dac..436501b 100644
--- a/src/clients/inquisitio/key_extractor.cc
+++ b/src/clients/inquisitio/key_extractor.cc
@@ -32,7 +32,6 @@
#include <paludis/stringify_formatter.hh>
#include <paludis/dep_spec.hh>
#include <paludis/environment.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
#include <algorithm>
using namespace paludis;
diff --git a/src/clients/qualudis/qualudis.cc b/src/clients/qualudis/qualudis.cc
index e960056..77ff5f2 100644
--- a/src/clients/qualudis/qualudis.cc
+++ b/src/clients/qualudis/qualudis.cc
@@ -36,9 +36,6 @@
#include <algorithm>
#include <set>
-#include <libebt/libebt.hh>
-#include <libwrapiter/libwrapiter.hh>
-
#include "qualudis_command_line.hh"
#include <src/output/colour.hh>
#include <paludis/args/do_help.hh>