Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=168481fe0d24da454f1bf4f8881e7fad030d251d
commit 168481fe0d24da454f1bf4f8881e7fad030d251d Author: Michel Hermier <herm...@frugalware.org> Date: Thu Nov 6 09:26:37 2014 +0100 libpacman: Rework iterator types definitions. diff --git a/lib/libpacman/util/flist.h b/lib/libpacman/util/flist.h index f5ea6d1..7572884 100644 --- a/lib/libpacman/util/flist.h +++ b/lib/libpacman/util/flist.h @@ -75,7 +75,10 @@ namespace flib public: typedef Iterator wrapped_iterator_type; typedef iterator_traits<Iterator> wrapped_iterator_traits; + +// typedef typename wrapped_iterator_traits::difference_type difference_type; typedef typename wrapped_iterator_traits::pointer pointer; + typedef typename wrapped_iterator_traits::reference reference; typedef typename wrapped_iterator_traits::size_type size_type; typedef typename wrapped_iterator_traits::value_type value_type; @@ -127,20 +130,20 @@ namespace flib wrapped_iterator_type m_iterator; }; - template <typename Iterable, bool Reverse = false> + template <typename Iterator, bool Reverse = false> struct const_iterator_wrapper - : public iterator_wrapper_base<Iterable, Reverse> + : public iterator_wrapper_base<Iterator, Reverse> { public: - typedef iterator_wrapper_base<Iterable, Reverse> super_type; + typedef iterator_wrapper_base<Iterator, Reverse> super_type; -// typedef typename iterator_traits<Iterable>::difference_type difference_type; - typedef typename iterator_traits<Iterable>::iterable iterable; - typedef typename iterator_traits<Iterable>::pointer pointer; - typedef typename iterator_traits<Iterable>::size_type size_type; - typedef typename iterator_traits<Iterable>::value_type value_type; +// using typename super_type::difference_type; + using typename super_type::pointer; + using typename super_type::reference; + using typename super_type::size_type; + using typename super_type::value_type; - explicit const_iterator_wrapper(iterable i = iterable()) + explicit const_iterator_wrapper(Iterator i = Iterator()) : super_type(i) { } @@ -185,12 +188,12 @@ namespace flib value_type operator * () const { - return iterator_traits<Iterable>::value_of(super_type::m_iterator); + return iterator_traits<Iterator>::value_of(super_type::m_iterator); } const pointer operator -> () const { - return iterator_traits<Iterable>::pointer_of(super_type::m_iterator); + return iterator_traits<Iterator>::pointer_of(super_type::m_iterator); } const_iterator_wrapper next() const @@ -211,21 +214,20 @@ namespace flib } }; - template <typename Iterable, bool Reverse = false> + template <typename Iterator, bool Reverse = false> struct iterator_wrapper - : public iterator_wrapper_base<Iterable, Reverse> + : public iterator_wrapper_base<Iterator, Reverse> { public: - typedef iterator_wrapper_base<Iterable, Reverse> super_type; + typedef iterator_wrapper_base<Iterator, Reverse> super_type; -// typedef typename iterator_traits<Iterable>::difference_type difference_type; - typedef typename iterator_traits<Iterable>::iterable iterable; - typedef typename iterator_traits<Iterable>::pointer pointer; - typedef typename iterator_traits<Iterable>::reference reference; - typedef typename iterator_traits<Iterable>::size_type size_type; - typedef typename iterator_traits<Iterable>::value_type value_type; +// using typename super_type::difference_type; + using typename super_type::pointer; + using typename super_type::reference; + using typename super_type::size_type; + using typename super_type::value_type; - explicit iterator_wrapper(iterable i = iterable()) + explicit iterator_wrapper(Iterator i = Iterator()) : super_type(i) { } @@ -270,22 +272,22 @@ namespace flib reference operator * () { - return iterator_traits<Iterable>::reference_of(super_type::m_iterator); + return iterator_traits<Iterator>::reference_of(super_type::m_iterator); } value_type operator * () const { - return iterator_traits<Iterable>::value_of(super_type::m_iterator); + return iterator_traits<Iterator>::value_of(super_type::m_iterator); } pointer operator -> () { - return iterator_traits<Iterable>::pointer_of(super_type::m_iterator); + return iterator_traits<Iterator>::pointer_of(super_type::m_iterator); } const pointer operator -> () const { - return iterator_traits<Iterable>::pointer_of(super_type::m_iterator); + return iterator_traits<Iterator>::pointer_of(super_type::m_iterator); } iterator_wrapper next() const @@ -525,6 +527,7 @@ namespace flib struct iterator_traits<FListItem<T> *> { typedef FListItem<T> *iterable; + // typedef typename FListItem<T>::difference_type difference_type; typedef typename FListItem<T>::pointer pointer; typedef typename FListItem<T>::reference reference; _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git