From b5ae0ad86ba60cc68598944baa54c776097b3cfd Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Thu, 28 Aug 2003 16:52:02 +0000 Subject: [PATCH] Moved to much cleaner system of using BOOST_TT_BROKEN_COMPILER_SPEC for handling vc6/7 deficiencies with iterator_traits. Fixed a bug in iterator_facade which was causing incomplete types to be passed through is_convertible. Reinstated libs/utility/iterator_traits_test.cpp [SVN r19840] --- counting_iterator_example.cpp | 16 ---------------- filter_iterator_example.cpp | 11 ----------- indirect_iterator_example.cpp | 35 ----------------------------------- iterator_traits_test.cpp | 2 -- reverse_iterator_example.cpp | 11 +---------- 5 files changed, 1 insertion(+), 74 deletions(-) diff --git a/counting_iterator_example.cpp b/counting_iterator_example.cpp index b85188a..844fdff 100644 --- a/counting_iterator_example.cpp +++ b/counting_iterator_example.cpp @@ -12,22 +12,6 @@ #include #include -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -namespace boost { namespace detail -{ - template <> - struct iterator_traits - : ptr_iter_traits - { - }; - - template <> - struct iterator_traits - : ptr_iter_traits - { - }; -}} -#endif int main(int, char*[]) { // Example of using counting_iterator_generator diff --git a/filter_iterator_example.cpp b/filter_iterator_example.cpp index c2c4693..af3ee6a 100644 --- a/filter_iterator_example.cpp +++ b/filter_iterator_example.cpp @@ -17,17 +17,6 @@ struct is_positive_number { bool operator()(int x) { return 0 < x; } }; -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -namespace boost { namespace detail -{ - template <> - struct iterator_traits - : ptr_iter_traits - { - }; -}} -#endif - int main() { int numbers_[] = { 0, -1, 4, -3, 5, 8, -2 }; diff --git a/indirect_iterator_example.cpp b/indirect_iterator_example.cpp index d78f9f8..c5e97ec 100644 --- a/indirect_iterator_example.cpp +++ b/indirect_iterator_example.cpp @@ -11,41 +11,6 @@ #include #include -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -namespace boost { namespace detail -{ - template <> - struct iterator_traits - : ptr_iter_traits - { - }; - - template <> - struct iterator_traits - : ptr_iter_traits - { - }; - - template <> - struct iterator_traits - : ptr_iter_traits - { - }; - - template <> - struct iterator_traits - : ptr_iter_traits - { - }; - - template <> - struct iterator_traits - : ptr_iter_traits - { - }; -}} -#endif - int main(int, char*[]) { char characters[] = "abcdefg"; diff --git a/iterator_traits_test.cpp b/iterator_traits_test.cpp index 04c1299..bb51aba 100644 --- a/iterator_traits_test.cpp +++ b/iterator_traits_test.cpp @@ -147,9 +147,7 @@ template struct maybe_pointer_test : portable_tests -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION , non_portable_tests -#endif { }; diff --git a/reverse_iterator_example.cpp b/reverse_iterator_example.cpp index e2a8664..d17c4af 100644 --- a/reverse_iterator_example.cpp +++ b/reverse_iterator_example.cpp @@ -9,16 +9,7 @@ #include #include -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -namespace boost { namespace detail -{ - template <> - struct iterator_traits - : ptr_iter_traits - { - }; -}} -#endif +//boost::detail::iterator_traits int main(int, char*[]) { char letters_[] = "hello world!";