00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef PALUDIS_GUARD_PALUDIS_UTIL_INDIRECT_ITERATOR_FWD_HH
00021 #define PALUDIS_GUARD_PALUDIS_UTIL_INDIRECT_ITERATOR_FWD_HH 1
00022
00023 #include <iterator>
00024
00025 namespace paludis
00026 {
00027 template <typename>
00028 struct IndirectIteratorValueType;
00029
00030 template <typename Iter_, typename Value_ = typename IndirectIteratorValueType<
00031 typename std::iterator_traits<Iter_>::value_type>::Type>
00032 struct IndirectIterator;
00033
00034 template <typename Iter_>
00035 IndirectIterator<Iter_> indirect_iterator(const Iter_ &);
00036
00037 template <typename Iter_, typename Value_>
00038 bool operator== (const IndirectIterator<Iter_, Value_> &, const IndirectIterator<Iter_, Value_> &);
00039
00040 template <typename Iter_, typename Value_>
00041 bool operator< (const IndirectIterator<Iter_, Value_> &, const IndirectIterator<Iter_, Value_> &);
00042 }
00043
00044 #endif