aboutsummaryrefslogtreecommitdiff
path: root/paludis/output_manager_factory.cc
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-11-27 22:10:48 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-11-28 00:54:36 +0000
commit1945bc4f10d16e53392a945fd39f87e435256a45 (patch)
tree25fdaa07a2b30b0a3387ba9f9938b30785c54083 /paludis/output_manager_factory.cc
parent2adc701cea7587b027bffd94ac6fb069e7722342 (diff)
downloadpaludis-1945bc4f10d16e53392a945fd39f87e435256a45.tar.gz
paludis-1945bc4f10d16e53392a945fd39f87e435256a45.tar.xz
Don't use virtuals for wrapped forward iterators
Diffstat (limited to 'paludis/output_manager_factory.cc')
-rw-r--r--paludis/output_manager_factory.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/paludis/output_manager_factory.cc b/paludis/output_manager_factory.cc
index 66b0df0ec..0013e1e62 100644
--- a/paludis/output_manager_factory.cc
+++ b/paludis/output_manager_factory.cc
@@ -25,7 +25,7 @@
#include <paludis/util/join.hh>
#include <paludis/util/named_value.hh>
#include <paludis/util/make_named_values.hh>
-#include <paludis/util/set.hh>
+#include <paludis/util/set-impl.hh>
#include <paludis/util/fs_entry.hh>
#include <paludis/util/system.hh>
#include <paludis/util/dir_iterator.hh>
@@ -81,6 +81,12 @@ namespace paludis
Keys keys;
std::list<void *> dl_opened;
};
+
+ template <>
+ struct WrappedForwardIteratorTraits<OutputManagerFactory::ConstIteratorTag>
+ {
+ typedef FirstIteratorTypes<Keys::const_iterator>::Type UnderlyingIterator;
+ };
}
OutputManagerFactory::OutputManagerFactory() :
@@ -112,13 +118,13 @@ OutputManagerFactory::create(
OutputManagerFactory::ConstIterator
OutputManagerFactory::begin_keys() const
{
- return first_iterator(_imp->keys.begin());
+ return ConstIterator(first_iterator(_imp->keys.begin()));
}
OutputManagerFactory::ConstIterator
OutputManagerFactory::end_keys() const
{
- return first_iterator(_imp->keys.end());
+ return ConstIterator(first_iterator(_imp->keys.end()));
}
void