aboutsummaryrefslogtreecommitdiff
path: root/src/clients
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-11-02 07:39:03 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-11-02 07:39:03 +0000
commitd832a1dd9e9718619bfb7bb7d0e3b48e26e65a33 (patch)
tree181f346e514cd8ff33c732f2b33ce234f1061cec /src/clients
parentfef0280d7576927a74b8e7d2a0a96e700348f8b3 (diff)
downloadpaludis-d832a1dd9e9718619bfb7bb7d0e3b48e26e65a33.tar.gz
paludis-d832a1dd9e9718619bfb7bb7d0e3b48e26e65a33.tar.xz
Stop using libebt, libwrapiter. C++0x compliant iterators. Use static_assert, concepts where available.
Diffstat (limited to 'src/clients')
-rw-r--r--src/clients/adjutrix/display_default_system_resolution.cc1
-rw-r--r--src/clients/adjutrix/downgrade_check.cc2
-rw-r--r--src/clients/adjutrix/find_dropped_keywords.cc3
-rw-r--r--src/clients/adjutrix/find_insecure_packages.cc1
-rw-r--r--src/clients/adjutrix/find_reverse_deps.cc2
-rw-r--r--src/clients/adjutrix/find_stable_candidates.cc3
-rw-r--r--src/clients/adjutrix/find_unused_packages.cc2
-rw-r--r--src/clients/adjutrix/keywords_graph.cc6
-rw-r--r--src/clients/adjutrix/what_needs_keywording.cc1
-rw-r--r--src/clients/paludis/applets.cc2
-rw-r--r--src/clients/paludis/info.cc8
-rw-r--r--src/clients/paludis/install.cc3
-rw-r--r--src/clients/paludis/list.cc1
-rw-r--r--src/clients/paludis/paludis.cc3
-rw-r--r--src/clients/reconcilio/broken_linkage_finder/Makefile.am1
-rw-r--r--src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.cc8
-rw-r--r--src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.hh17
-rw-r--r--src/clients/reconcilio/broken_linkage_finder/configuration.cc9
-rw-r--r--src/clients/reconcilio/broken_linkage_finder/configuration.hh5
-rw-r--r--src/clients/reconcilio/broken_linkage_finder/configuration_TEST.cc3
-rw-r--r--src/clients/reconcilio/broken_linkage_finder/elf_linkage_checker.cc2
-rw-r--r--src/clients/reconcilio/fix_linkage.cc2
-rw-r--r--src/clients/reconcilio/littlelf/elf.cc8
-rw-r--r--src/clients/reconcilio/littlelf/elf.hh6
-rw-r--r--src/clients/reconcilio/littlelf/elf_dynamic_section.cc8
-rw-r--r--src/clients/reconcilio/littlelf/elf_dynamic_section.hh3
-rw-r--r--src/clients/reconcilio/littlelf/elf_relocation_section.cc14
-rw-r--r--src/clients/reconcilio/littlelf/elf_relocation_section.hh3
-rw-r--r--src/clients/reconcilio/littlelf/elf_symbol_section.cc7
-rw-r--r--src/clients/reconcilio/littlelf/elf_symbol_section.hh5
-rw-r--r--src/clients/reconcilio/util/wildcard_expander.cc2
-rw-r--r--src/clients/reconcilio/util/wildcard_expander.hh2
32 files changed, 76 insertions, 67 deletions
diff --git a/src/clients/adjutrix/display_default_system_resolution.cc b/src/clients/adjutrix/display_default_system_resolution.cc
index d94f1371c..0973b95e5 100644
--- a/src/clients/adjutrix/display_default_system_resolution.cc
+++ b/src/clients/adjutrix/display_default_system_resolution.cc
@@ -28,6 +28,7 @@
#include <paludis/util/is_file_with_extension.hh>
#include <paludis/util/set.hh>
#include <paludis/util/strip.hh>
+#include <paludis/util/wrapped_forward_iterator-impl.hh>
#include <paludis/dep_list.hh>
#include <paludis/dep_list_exceptions.hh>
diff --git a/src/clients/adjutrix/downgrade_check.cc b/src/clients/adjutrix/downgrade_check.cc
index 939b498a6..5f6630e58 100644
--- a/src/clients/adjutrix/downgrade_check.cc
+++ b/src/clients/adjutrix/downgrade_check.cc
@@ -24,6 +24,8 @@
#include <paludis/util/sr.hh>
#include <paludis/util/tokeniser.hh>
#include <paludis/util/sequence.hh>
+#include <paludis/util/indirect_iterator.hh>
+#include <paludis/util/iterator_funcs.hh>
#include <paludis/package_id.hh>
#include <fstream>
#include <iostream>
diff --git a/src/clients/adjutrix/find_dropped_keywords.cc b/src/clients/adjutrix/find_dropped_keywords.cc
index 069fb6449..796c3400b 100644
--- a/src/clients/adjutrix/find_dropped_keywords.cc
+++ b/src/clients/adjutrix/find_dropped_keywords.cc
@@ -21,7 +21,8 @@
#include "command_line.hh"
#include <paludis/util/tokeniser.hh>
-#include <paludis/util/iterator.hh>
+#include <paludis/util/iterator_funcs.hh>
+#include <paludis/util/indirect_iterator-impl.hh>
#include <paludis/util/sequence.hh>
#include <paludis/util/set.hh>
#include <paludis/version_spec.hh>
diff --git a/src/clients/adjutrix/find_insecure_packages.cc b/src/clients/adjutrix/find_insecure_packages.cc
index 480fbd1b7..0b26760e9 100644
--- a/src/clients/adjutrix/find_insecure_packages.cc
+++ b/src/clients/adjutrix/find_insecure_packages.cc
@@ -27,6 +27,7 @@
#include <paludis/package_id.hh>
#include <paludis/package_database.hh>
#include <paludis/util/visitor-impl.hh>
+#include <paludis/util/iterator_funcs.hh>
#include <set>
#include <map>
diff --git a/src/clients/adjutrix/find_reverse_deps.cc b/src/clients/adjutrix/find_reverse_deps.cc
index 249a5af63..8dd45d892 100644
--- a/src/clients/adjutrix/find_reverse_deps.cc
+++ b/src/clients/adjutrix/find_reverse_deps.cc
@@ -32,8 +32,6 @@
#include <paludis/package_database.hh>
#include <paludis/metadata_key.hh>
#include <paludis/fuzzy_finder.hh>
-#include <libwrapiter/libwrapiter_forward_iterator.hh>
-#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <set>
#include <map>
diff --git a/src/clients/adjutrix/find_stable_candidates.cc b/src/clients/adjutrix/find_stable_candidates.cc
index 0223ba3ea..ba9a50c02 100644
--- a/src/clients/adjutrix/find_stable_candidates.cc
+++ b/src/clients/adjutrix/find_stable_candidates.cc
@@ -21,9 +21,10 @@
#include "command_line.hh"
#include <paludis/util/tokeniser.hh>
-#include <paludis/util/iterator.hh>
+#include <paludis/util/iterator_funcs.hh>
#include <paludis/util/sequence.hh>
#include <paludis/util/set.hh>
+#include <paludis/util/indirect_iterator.hh>
#include <paludis/version_spec.hh>
#include <paludis/repository.hh>
#include <paludis/package_database.hh>
diff --git a/src/clients/adjutrix/find_unused_packages.cc b/src/clients/adjutrix/find_unused_packages.cc
index 83a4d6c1d..8438f53a4 100644
--- a/src/clients/adjutrix/find_unused_packages.cc
+++ b/src/clients/adjutrix/find_unused_packages.cc
@@ -22,7 +22,7 @@
#include <paludis/find_unused_packages_task.hh>
#include <paludis/util/tokeniser.hh>
-#include <paludis/util/iterator.hh>
+#include <paludis/util/indirect_iterator.hh>
#include <paludis/util/set.hh>
#include <paludis/util/sequence.hh>
#include <paludis/package_database.hh>
diff --git a/src/clients/adjutrix/keywords_graph.cc b/src/clients/adjutrix/keywords_graph.cc
index a943c6b3e..4407261bf 100644
--- a/src/clients/adjutrix/keywords_graph.cc
+++ b/src/clients/adjutrix/keywords_graph.cc
@@ -26,6 +26,7 @@
#include <paludis/util/tr1_functional.hh>
#include <paludis/util/sequence.hh>
#include <paludis/util/set.hh>
+#include <paludis/util/indirect_iterator-impl.hh>
#include <paludis/query.hh>
#include <paludis/repository.hh>
#include <paludis/package_database.hh>
@@ -92,8 +93,9 @@ namespace
return;
std::set<SlotName> slots;
- std::copy(packages->begin(), packages->end(),
- transform_inserter(std::inserter(slots, slots.begin()), tr1::mem_fn(&PackageID::slot)));
+ std::transform(packages->begin(), packages->end(),
+ std::inserter(slots, slots.begin()),
+ tr1::mem_fn(&PackageID::slot));
unsigned version_specs_columns_width(std::max_element(indirect_iterator(packages->begin()),
indirect_iterator(packages->end()),
diff --git a/src/clients/adjutrix/what_needs_keywording.cc b/src/clients/adjutrix/what_needs_keywording.cc
index 0d5b63a91..a170226d1 100644
--- a/src/clients/adjutrix/what_needs_keywording.cc
+++ b/src/clients/adjutrix/what_needs_keywording.cc
@@ -26,6 +26,7 @@
#include <paludis/util/set.hh>
#include <paludis/util/sequence.hh>
#include <paludis/util/tr1_functional.hh>
+#include <paludis/util/iterator_funcs.hh>
#include <paludis/repositories/fake/fake_installed_repository.hh>
#include <paludis/dep_list_exceptions.hh>
#include <paludis/dep_list.hh>
diff --git a/src/clients/paludis/applets.cc b/src/clients/paludis/applets.cc
index 7aafcaeae..28a3d6a54 100644
--- a/src/clients/paludis/applets.cc
+++ b/src/clients/paludis/applets.cc
@@ -29,8 +29,6 @@
#include <paludis/util/tokeniser.hh>
#include <paludis/util/virtual_constructor-impl.hh>
#include <paludis/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/info.cc b/src/clients/paludis/info.cc
index ed91352a7..cd6c8f0e1 100644
--- a/src/clients/paludis/info.cc
+++ b/src/clients/paludis/info.cc
@@ -21,7 +21,6 @@
#include "command_line.hh"
#include "src/output/colour.hh"
#include <paludis/about.hh>
-#include <paludis/util/iterator.hh>
#include <paludis/util/sequence.hh>
#include <paludis/util/visitor-impl.hh>
#include <paludis/package_database.hh>
@@ -32,8 +31,6 @@
#include <paludis/action.hh>
#include <iostream>
#include <iomanip>
-#include <libebt/libebt.hh>
-#include <libwrapiter/libwrapiter.hh>
#include <sys/types.h>
#include <pwd.h>
#include <grp.h>
@@ -119,11 +116,6 @@ do_info(const tr1::shared_ptr<const Environment> & env)
<< "GNU libstdc++ " << STRINGIFY(__GLIBCXX__)
#endif
<< endl;
- cout << " " << std::setw(22) << std::left << ("libebt:") << std::setw(0) << " "
- << LIBEBT_VERSION_MAJOR << "." << LIBEBT_VERSION_MINOR << "." << LIBEBT_VERSION_MICRO << endl;
- cout << " " << std::setw(22) << std::left << ("libwrapiter:") << std::setw(0) << " "
- << LIBWRAPITER_VERSION_MAJOR << "." << LIBWRAPITER_VERSION_MINOR << "." << LIBWRAPITER_VERSION_MICRO << endl;
-
cout << endl;
cout << " " << colour(cl_heading, "Reduced Privs:") << endl;
diff --git a/src/clients/paludis/install.cc b/src/clients/paludis/install.cc
index 321d60a19..b49e4f812 100644
--- a/src/clients/paludis/install.cc
+++ b/src/clients/paludis/install.cc
@@ -40,9 +40,6 @@
#include <paludis/mask.hh>
#include <paludis/action.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/clients/paludis/list.cc b/src/clients/paludis/list.cc
index 9c78b1c80..3820121d2 100644
--- a/src/clients/paludis/list.cc
+++ b/src/clients/paludis/list.cc
@@ -26,6 +26,7 @@
#include <paludis/util/log.hh>
#include <paludis/util/visitor.hh>
#include <paludis/util/set.hh>
+#include <paludis/util/indirect_iterator-impl.hh>
#include <src/output/colour.hh>
#include <paludis/util/tr1_memory.hh>
diff --git a/src/clients/paludis/paludis.cc b/src/clients/paludis/paludis.cc
index 42814e99e..39f3d25b8 100644
--- a/src/clients/paludis/paludis.cc
+++ b/src/clients/paludis/paludis.cc
@@ -41,9 +41,6 @@
#include <paludis/util/log.hh>
#include <paludis/fuzzy_finder.hh>
-#include <libebt/libebt.hh>
-#include <libwrapiter/libwrapiter.hh>
-
#include <iostream>
#include <iomanip>
#include <string>
diff --git a/src/clients/reconcilio/broken_linkage_finder/Makefile.am b/src/clients/reconcilio/broken_linkage_finder/Makefile.am
index fb73cb65b..70d9f1e96 100644
--- a/src/clients/reconcilio/broken_linkage_finder/Makefile.am
+++ b/src/clients/reconcilio/broken_linkage_finder/Makefile.am
@@ -26,6 +26,7 @@ configuration_TEST_SOURCES = configuration_TEST.cc
configuration_TEST_LDADD = \
libbrokenlinkagefinder.a \
../util/libreconcilioutil.a \
+ $(top_builddir)/src/clients/reconcilio/littlelf/liblittlelf.a \
$(top_builddir)/paludis/libpaludis.la \
$(top_builddir)/paludis/util/libpaludisutil.la \
$(top_builddir)/paludis/util/test_extras.o \
diff --git a/src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.cc b/src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.cc
index 0313969b6..3ea1aabc5 100644
--- a/src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.cc
+++ b/src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.cc
@@ -35,6 +35,8 @@
#include <paludis/util/tr1_functional.hh>
#include <paludis/util/visitor_cast.hh>
#include <paludis/util/visitor-impl.hh>
+#include <paludis/util/wrapped_forward_iterator-impl.hh>
+#include <paludis/util/member_iterator-impl.hh>
#include <paludis/contents.hh>
#include <paludis/environment.hh>
@@ -52,6 +54,12 @@
using namespace paludis;
using namespace broken_linkage_finder;
+template class WrappedForwardIterator<BrokenLinkageFinder::BrokenPackageConstIteratorTag,
+ const paludis::tr1::shared_ptr<const paludis::PackageID> >;
+template class WrappedForwardIterator<BrokenLinkageFinder::BrokenFileConstIteratorTag,
+ const paludis::FSEntry>;
+template class WrappedForwardIterator<BrokenLinkageFinder::MissingRequirementConstIteratorTag, const std::string>;
+
typedef std::multimap<FSEntry, tr1::shared_ptr<const PackageID> > Files;
typedef std::map<FSEntry, std::set<std::string> > PackageBreakage;
typedef std::map<tr1::shared_ptr<const PackageID>, PackageBreakage, PackageIDSetComparator> Breakage;
diff --git a/src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.hh b/src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.hh
index a0f38a620..b7f4873a4 100644
--- a/src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.hh
+++ b/src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.hh
@@ -25,12 +25,11 @@
#include <paludis/util/instantiation_policy.hh>
#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/util/tr1_memory.hh>
+#include <paludis/util/wrapped_forward_iterator-fwd.hh>
#include <paludis/environment-fwd.hh>
#include <paludis/package_id-fwd.hh>
-#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
-
class BrokenLinkageFinder :
private paludis::PrivateImplementationPattern<BrokenLinkageFinder>,
private paludis::InstantiationPolicy<BrokenLinkageFinder, paludis::instantiation_method::NonCopyableTag>
@@ -39,23 +38,19 @@ class BrokenLinkageFinder :
BrokenLinkageFinder(const paludis::Environment *, const std::string &);
~BrokenLinkageFinder();
- typedef libwrapiter::ForwardIterator<
- BrokenLinkageFinder, const paludis::tr1::shared_ptr<const paludis::PackageID>
- > BrokenPackageConstIterator;
+ typedef paludis::WrappedForwardIterator<enum BrokenPackageConstIteratorTag { },
+ const paludis::tr1::shared_ptr<const paludis::PackageID>
+ > BrokenPackageConstIterator;
BrokenPackageConstIterator begin_broken_packages() const PALUDIS_ATTRIBUTE((warn_unused_result));
BrokenPackageConstIterator end_broken_packages() const PALUDIS_ATTRIBUTE((warn_unused_result));
- typedef libwrapiter::ForwardIterator<
- BrokenLinkageFinder, const paludis::FSEntry
- > BrokenFileConstIterator;
+ typedef paludis::WrappedForwardIterator<enum BrokenFileConstIteratorTag { }, const paludis::FSEntry> BrokenFileConstIterator;
BrokenFileConstIterator begin_broken_files(const paludis::tr1::shared_ptr<const paludis::PackageID> &)
const PALUDIS_ATTRIBUTE((warn_unused_result));
BrokenFileConstIterator end_broken_files(const paludis::tr1::shared_ptr<const paludis::PackageID> &)
const PALUDIS_ATTRIBUTE((warn_unused_result));
- typedef libwrapiter::ForwardIterator<
- BrokenLinkageFinder, const std::string
- > MissingRequirementConstIterator;
+ typedef paludis::WrappedForwardIterator<enum MissingRequirementConstIteratorTag { }, const std::string> MissingRequirementConstIterator;
MissingRequirementConstIterator begin_missing_requirements(
const paludis::tr1::shared_ptr<const paludis::PackageID> &, const paludis::FSEntry &)
const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/src/clients/reconcilio/broken_linkage_finder/configuration.cc b/src/clients/reconcilio/broken_linkage_finder/configuration.cc
index 621a84402..da4189cd4 100644
--- a/src/clients/reconcilio/broken_linkage_finder/configuration.cc
+++ b/src/clients/reconcilio/broken_linkage_finder/configuration.cc
@@ -32,8 +32,7 @@
#include <paludis/util/system.hh>
#include <paludis/util/tokeniser.hh>
#include <paludis/util/tr1_functional.hh>
-
-#include <libwrapiter/libwrapiter_forward_iterator-impl.hh>
+#include <paludis/util/wrapped_forward_iterator-impl.hh>
#include <algorithm>
#include <functional>
@@ -43,6 +42,8 @@
using namespace paludis;
using namespace broken_linkage_finder;
+template class WrappedForwardIterator<Configuration::DirsIteratorTag, const paludis::FSEntry>;
+
namespace paludis
{
template <>
@@ -77,7 +78,7 @@ namespace
from_string(const tr1::function<std::string (const std::string &)> & source,
const std::string & varname, std::vector<T_> & vec, const std::string & delims)
{
- std::string str(source(varname));
+ std::string str(source.operator() (varname)); /* silly 4.3 ICE */
if (! str.empty())
{
Log::get_instance()->message(ll_debug, lc_context, "Got " + varname + "=\"" + str + "\"");
@@ -90,7 +91,7 @@ namespace
from_string(const tr1::function<std::string (const std::string &)> & source,
const std::string & varname, std::vector<T_> & vec)
{
- std::string str(source(varname));
+ std::string str(source.operator() (varname)); /* silly 4.3 ICE */
if (! str.empty())
{
Log::get_instance()->message(ll_debug, lc_context, "Got " + varname + "=\"" + str + "\"");
diff --git a/src/clients/reconcilio/broken_linkage_finder/configuration.hh b/src/clients/reconcilio/broken_linkage_finder/configuration.hh
index c0fce3fdd..e3a46a0bb 100644
--- a/src/clients/reconcilio/broken_linkage_finder/configuration.hh
+++ b/src/clients/reconcilio/broken_linkage_finder/configuration.hh
@@ -24,8 +24,7 @@
#include <paludis/util/fs_entry-fwd.hh>
#include <paludis/util/instantiation_policy.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>
@@ -39,7 +38,7 @@ namespace broken_linkage_finder
Configuration(const paludis::FSEntry &);
~Configuration();
- typedef libwrapiter::ForwardIterator<Configuration, const paludis::FSEntry> DirsIterator;
+ typedef paludis::WrappedForwardIterator<enum DirsIteratorTag { }, const paludis::FSEntry> DirsIterator;
DirsIterator begin_search_dirs() const PALUDIS_ATTRIBUTE((warn_unused_result));
DirsIterator end_search_dirs() const PALUDIS_ATTRIBUTE((warn_unused_result));
DirsIterator begin_ld_so_conf() const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/src/clients/reconcilio/broken_linkage_finder/configuration_TEST.cc b/src/clients/reconcilio/broken_linkage_finder/configuration_TEST.cc
index b835941a2..e8e4bddff 100644
--- a/src/clients/reconcilio/broken_linkage_finder/configuration_TEST.cc
+++ b/src/clients/reconcilio/broken_linkage_finder/configuration_TEST.cc
@@ -21,12 +21,11 @@
#include <paludis/util/fs_entry.hh>
#include <paludis/util/join.hh>
+#include <paludis/util/wrapped_forward_iterator.hh>
#include <test/test_runner.hh>
#include <test/test_framework.hh>
-#include <libwrapiter/libwrapiter_forward_iterator-impl.hh>
-
#include <unistd.h>
using namespace broken_linkage_finder;
diff --git a/src/clients/reconcilio/broken_linkage_finder/elf_linkage_checker.cc b/src/clients/reconcilio/broken_linkage_finder/elf_linkage_checker.cc
index a45a454cd..8303d9056 100644
--- a/src/clients/reconcilio/broken_linkage_finder/elf_linkage_checker.cc
+++ b/src/clients/reconcilio/broken_linkage_finder/elf_linkage_checker.cc
@@ -26,12 +26,12 @@
#include <src/clients/reconcilio/littlelf/elf_types.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/mutex.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/set.hh>
+#include <paludis/util/member_iterator-impl.hh>
#include <paludis/util/visitor_cast.hh>
#include <paludis/util/visitor-impl.hh>
diff --git a/src/clients/reconcilio/fix_linkage.cc b/src/clients/reconcilio/fix_linkage.cc
index 09780a339..c973baf48 100644
--- a/src/clients/reconcilio/fix_linkage.cc
+++ b/src/clients/reconcilio/fix_linkage.cc
@@ -37,8 +37,6 @@
#include <src/output/colour.hh>
-#include <libwrapiter/libwrapiter_forward_iterator-decl.hh>
-
#include <iostream>
using namespace paludis;
diff --git a/src/clients/reconcilio/littlelf/elf.cc b/src/clients/reconcilio/littlelf/elf.cc
index aa5e8034f..2fffde9a5 100644
--- a/src/clients/reconcilio/littlelf/elf.cc
+++ b/src/clients/reconcilio/littlelf/elf.cc
@@ -9,12 +9,11 @@
#include <src/clients/reconcilio/util/byte_swap.hh>
-#include <paludis/util/iterator.hh>
#include <paludis/util/make_shared_ptr.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/visitor-impl.hh>
-
-#include <libwrapiter/libwrapiter_forward_iterator-impl.hh>
+#include <paludis/util/wrapped_forward_iterator-impl.hh>
+#include <paludis/util/iterator_funcs.hh>
#include <string>
#include <exception>
@@ -347,3 +346,6 @@ ElfObject<ElfType_>::get_section_by_index(unsigned int index) const
template class ElfObject<Elf32Type>;
template class ElfObject<Elf64Type>;
+template class WrappedForwardIterator<ElfObject<Elf32Type>::SectionIteratorTag, Section<Elf32Type> >;
+template class WrappedForwardIterator<ElfObject<Elf64Type>::SectionIteratorTag, Section<Elf64Type> >;
+
diff --git a/src/clients/reconcilio/littlelf/elf.hh b/src/clients/reconcilio/littlelf/elf.hh
index 316c2c5bb..d123070c9 100644
--- a/src/clients/reconcilio/littlelf/elf.hh
+++ b/src/clients/reconcilio/littlelf/elf.hh
@@ -5,9 +5,7 @@
#include <paludis/util/exception.hh>
#include <paludis/util/private_implementation_pattern.hh>
-
-#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
-
+#include <paludis/util/wrapped_forward_iterator-fwd.hh>
#include <iosfwd>
#include <elf.h>
@@ -90,7 +88,7 @@ class ElfObject :
return _hdr.e_shnum;
}
- typedef libwrapiter::ForwardIterator<ElfObject, Section<ElfType_> > SectionIterator;
+ typedef paludis::WrappedForwardIterator<enum SectionIteratorTag { }, Section<ElfType_> > SectionIterator;
SectionIterator section_begin() const;
SectionIterator section_end() const;
diff --git a/src/clients/reconcilio/littlelf/elf_dynamic_section.cc b/src/clients/reconcilio/littlelf/elf_dynamic_section.cc
index a6856cbc8..bbbd5da28 100644
--- a/src/clients/reconcilio/littlelf/elf_dynamic_section.cc
+++ b/src/clients/reconcilio/littlelf/elf_dynamic_section.cc
@@ -7,12 +7,10 @@
#include <paludis/util/clone-impl.hh>
#include <paludis/util/instantiation_policy-impl.hh>
-#include <paludis/util/iterator.hh>
#include <paludis/util/make_shared_ptr.hh>
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/visitor-impl.hh>
-
-#include <libwrapiter/libwrapiter_forward_iterator-impl.hh>
+#include <paludis/util/wrapped_forward_iterator-impl.hh>
#include <istream>
#include <map>
@@ -310,3 +308,7 @@ DynamicSection<ElfType_>::entry_end() const
template class DynamicSection<Elf32Type>;
template class DynamicSection<Elf64Type>;
+template class WrappedForwardIterator<DynamicSection<Elf32Type>::EntryIteratorTag, DynamicEntry<Elf32Type> >;
+template class WrappedForwardIterator<DynamicSection<Elf64Type>::EntryIteratorTag, DynamicEntry<Elf64Type> >;
+
+
diff --git a/src/clients/reconcilio/littlelf/elf_dynamic_section.hh b/src/clients/reconcilio/littlelf/elf_dynamic_section.hh
index 5edc08f1d..2e17a2e2d 100644
--- a/src/clients/reconcilio/littlelf/elf_dynamic_section.hh
+++ b/src/clients/reconcilio/littlelf/elf_dynamic_section.hh
@@ -8,6 +8,7 @@
#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/util/tr1_memory.hh>
#include <paludis/util/visitor.hh>
+#include <paludis/util/wrapped_forward_iterator-fwd.hh>
#include <string>
#include <iosfwd>
@@ -202,7 +203,7 @@ class DynamicSection :
void resolve_entry_names(Section<ElfType_> &);
- typedef libwrapiter::ForwardIterator<DynamicSection, DynamicEntry<ElfType_> > EntryIterator;
+ typedef paludis::WrappedForwardIterator<enum EntryIteratorTag { }, DynamicEntry<ElfType_> > EntryIterator;
EntryIterator entry_begin() const;
EntryIterator entry_end() const;
};
diff --git a/src/clients/reconcilio/littlelf/elf_relocation_section.cc b/src/clients/reconcilio/littlelf/elf_relocation_section.cc
index 3fdef0699..460a62c1c 100644
--- a/src/clients/reconcilio/littlelf/elf_relocation_section.cc
+++ b/src/clients/reconcilio/littlelf/elf_relocation_section.cc
@@ -7,8 +7,7 @@
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/visitor-impl.hh>
-
-#include <libwrapiter/libwrapiter_forward_iterator-impl.hh>
+#include <paludis/util/wrapped_forward_iterator-impl.hh>
#include <istream>
#include <vector>
@@ -115,7 +114,18 @@ RelocationSection<ElfType_, Relocation_>::relocation_end() const
}
template class RelocationSection<Elf32Type, Relocation<Elf32Type> >;
+template class WrappedForwardIterator<RelocationSection<Elf32Type, Relocation<Elf32Type> >::RelocationIteratorTag,
+ const Relocation<Elf32Type>::Entry>;
+
template class RelocationSection<Elf32Type, RelocationA<Elf32Type> >;
+template class WrappedForwardIterator<RelocationSection<Elf32Type, RelocationA<Elf32Type> >::RelocationIteratorTag,
+ const RelocationA<Elf32Type>::Entry>;
+
template class RelocationSection<Elf64Type, Relocation<Elf64Type> >;
+template class WrappedForwardIterator<RelocationSection<Elf64Type, Relocation<Elf64Type> >::RelocationIteratorTag,
+ const Relocation<Elf64Type>::Entry>;
+
template class RelocationSection<Elf64Type, RelocationA<Elf64Type> >;
+template class WrappedForwardIterator<RelocationSection<Elf64Type, RelocationA<Elf64Type> >::RelocationIteratorTag,
+ const RelocationA<Elf64Type>::Entry>;
diff --git a/src/clients/reconcilio/littlelf/elf_relocation_section.hh b/src/clients/reconcilio/littlelf/elf_relocation_section.hh
index 4fdfb840e..0596081a6 100644
--- a/src/clients/reconcilio/littlelf/elf_relocation_section.hh
+++ b/src/clients/reconcilio/littlelf/elf_relocation_section.hh
@@ -4,6 +4,7 @@
#include "elf_sections.hh"
#include <paludis/util/private_implementation_pattern.hh>
+#include <paludis/util/wrapped_forward_iterator-fwd.hh>
#include <iosfwd>
@@ -87,7 +88,7 @@ class RelocationSection :
return Relocation_::type_name;
}
- typedef libwrapiter::ForwardIterator<RelocationSection, const typename Relocation_::Entry> RelocationIterator;
+ typedef paludis::WrappedForwardIterator<enum RelocationIteratorTag { }, const typename Relocation_::Entry> RelocationIterator;
RelocationIterator relocation_begin() const;
RelocationIterator relocation_end() const;
};
diff --git a/src/clients/reconcilio/littlelf/elf_symbol_section.cc b/src/clients/reconcilio/littlelf/elf_symbol_section.cc
index 2665665b3..b945cfabb 100644
--- a/src/clients/reconcilio/littlelf/elf_symbol_section.cc
+++ b/src/clients/reconcilio/littlelf/elf_symbol_section.cc
@@ -7,8 +7,7 @@
#include <paludis/util/private_implementation_pattern-impl.hh>
#include <paludis/util/visitor-impl.hh>
-
-#include <libwrapiter/libwrapiter_forward_iterator-impl.hh>
+#include <paludis/util/wrapped_forward_iterator-impl.hh>
#include <istream>
#include <vector>
@@ -186,3 +185,7 @@ SymbolSection<ElfType_>::symbol_end() const
template class SymbolSection<Elf32Type>;
template class SymbolSection<Elf64Type>;
+template class WrappedForwardIterator<SymbolSection<Elf32Type>::SymbolIteratorTag, const Symbol<Elf32Type> >;
+template class WrappedForwardIterator<SymbolSection<Elf64Type>::SymbolIteratorTag, const Symbol<Elf64Type> >;
+
+
diff --git a/src/clients/reconcilio/littlelf/elf_symbol_section.hh b/src/clients/reconcilio/littlelf/elf_symbol_section.hh
index 8dcb13246..3f7d4fc33 100644
--- a/src/clients/reconcilio/littlelf/elf_symbol_section.hh
+++ b/src/clients/reconcilio/littlelf/elf_symbol_section.hh
@@ -4,8 +4,7 @@
#include "elf_sections.hh"
#include <paludis/util/private_implementation_pattern.hh>
-
-#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
+#include <paludis/util/wrapped_forward_iterator-fwd.hh>
#include <iosfwd>
@@ -77,7 +76,7 @@ class SymbolSection :
void resolve_symbols(Section<ElfType_> &);
- typedef libwrapiter::ForwardIterator<SymbolSection, const Symbol<ElfType_ > > SymbolIterator;
+ typedef paludis::WrappedForwardIterator<enum SymbolIteratorTag { }, const Symbol<ElfType_ > > SymbolIterator;
SymbolIterator symbol_begin() const;
SymbolIterator symbol_end() const;
};
diff --git a/src/clients/reconcilio/util/wildcard_expander.cc b/src/clients/reconcilio/util/wildcard_expander.cc
index ede51c478..b88292950 100644
--- a/src/clients/reconcilio/util/wildcard_expander.cc
+++ b/src/clients/reconcilio/util/wildcard_expander.cc
@@ -140,7 +140,7 @@ WildcardExpander::~WildcardExpander()
{
}
-const WildcardExpander &
+WildcardExpander &
WildcardExpander::operator= (const WildcardExpander & other)
{
_imp->files = other._imp->files;
diff --git a/src/clients/reconcilio/util/wildcard_expander.hh b/src/clients/reconcilio/util/wildcard_expander.hh
index 47d8ce7fa..2c93db273 100644
--- a/src/clients/reconcilio/util/wildcard_expander.hh
+++ b/src/clients/reconcilio/util/wildcard_expander.hh
@@ -45,7 +45,7 @@ class PALUDIS_VISIBLE WildcardExpander :
~WildcardExpander();
- const WildcardExpander & operator= (const WildcardExpander &);
+ WildcardExpander & operator= (const WildcardExpander &);
const paludis::FSEntry & operator* () const PALUDIS_ATTRIBUTE((warn_unused_result));
const paludis::FSEntry * operator-> () const PALUDIS_ATTRIBUTE((warn_unused_result));