This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Further fixes for ext/iterator


Hi again,

this is necessary if we want to allow the user to include ext/iterator by itself
(I think we want!)

Ok if it passes?

Cheers,
Paolo.

P.S. the last one for this year :-)

////////////////

2001-12-31  Paolo Carlini  <pcarlini@unitus.it>

        * include/ext/iterator:  Add #include <bits/std_iterator.h>, tweak.
        * testsuite/ext/headers.cc:  Add <ext/iterator>.

diff -prN libstdc++-v3-orig/include/ext/iterator
libstdc++-v3/include/ext/iterator
*** libstdc++-v3-orig/include/ext/iterator Mon Dec 31 17:16:17 2001
--- libstdc++-v3/include/ext/iterator Mon Dec 31 19:19:20 2001
***************
*** 63,68 ****
--- 63,69 ----

  #pragma GCC system_header
  #include <bits/concept_check.h>
+ #include <bits/std_iterator.h>

  namespace __gnu_cxx
  {
*************** namespace __gnu_cxx
*** 74,80 ****
    template<typename _InputIterator, typename _Distance>
      inline void
      __distance(_InputIterator __first, _InputIterator __last,
!         _Distance& __n, input_iterator_tag)
      {
        // concept requirements
        __glibcpp_function_requires(_InputIteratorConcept<_InputIterator>)
--- 75,81 ----
    template<typename _InputIterator, typename _Distance>
      inline void
      __distance(_InputIterator __first, _InputIterator __last,
!         _Distance& __n, std::input_iterator_tag)
      {
        // concept requirements
        __glibcpp_function_requires(_InputIteratorConcept<_InputIterator>)
*************** namespace __gnu_cxx
*** 84,90 ****
    template<typename _RandomAccessIterator, typename _Distance>
      inline void
      __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
!         _Distance& __n, random_access_iterator_tag)
      {
        // concept requirements

__glibcpp_function_requires(_RandomAccessIteratorConcept<_RandomAccessIterator>)

--- 85,91 ----
    template<typename _RandomAccessIterator, typename _Distance>
      inline void
      __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
!         _Distance& __n, std::random_access_iterator_tag)
      {
        // concept requirements

__glibcpp_function_requires(_RandomAccessIteratorConcept<_RandomAccessIterator>)

*************** namespace __gnu_cxx
*** 97,103 ****
               _Distance& __n)
      {
        // concept requirements -- taken care of in __distance
!       __distance(__first, __last, __n, __iterator_category(__first));
      }

  } // namespace __gnu_cxx
--- 98,104 ----
               _Distance& __n)
      {
        // concept requirements -- taken care of in __distance
!       __distance(__first, __last, __n, std::__iterator_category(__first));
      }

  } // namespace __gnu_cxx
diff -prN libstdc++-v3-orig/testsuite/ext/headers.cc
libstdc++-v3/testsuite/ext/headers.cc
*** libstdc++-v3-orig/testsuite/ext/headers.cc Fri Dec 28 19:46:53 2001
--- libstdc++-v3/testsuite/ext/headers.cc Mon Dec 31 18:46:22 2001
***************
*** 26,31 ****
--- 26,32 ----
  #include <ext/algorithm>
  #include <ext/hash_map>
  #include <ext/hash_set>
+ #include <ext/iterator>
  #include <ext/rope>
  #include <ext/slist>





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]