diff --git a/doc/iterator_facade_ref.rst b/doc/iterator_facade_ref.rst index c1baf9b..87c032a 100644 --- a/doc/iterator_facade_ref.rst +++ b/doc/iterator_facade_ref.rst @@ -106,7 +106,7 @@ The ``iterator_category`` member of ``iterator_facade`` is .. parsed-literal:: - *iterator-category*\ (CategoryOrTraversal, value_type, reference) + *iterator-category*\ (CategoryOrTraversal, reference, value_type) where *iterator-category* is defined as follows: diff --git a/include/boost/iterator/detail/facade_iterator_category.hpp b/include/boost/iterator/detail/facade_iterator_category.hpp old mode 100755 new mode 100644 index 2c4771d..04b393a --- a/include/boost/iterator/detail/facade_iterator_category.hpp +++ b/include/boost/iterator/detail/facade_iterator_category.hpp @@ -73,16 +73,10 @@ struct iterator_writability_disabled // Convert an iterator_facade's traversal category, Value parameter, // and ::reference type to an appropriate old-style category. // -// If writability has been disabled per the above metafunction, the -// result will not be convertible to output_iterator_tag. -// -// Otherwise, if Traversal == single_pass_traversal_tag, the following -// conditions will result in a tag that is convertible both to -// input_iterator_tag and output_iterator_tag: -// -// 1. Reference is a reference to non-const -// 2. Reference is not a reference and is convertible to Value +// Due to changeset 21683, this now never results in a category convertible +// to output_iterator_tag. // +// Change at: https://svn.boost.org/trac/boost/changeset/21683 template struct iterator_facade_default_category : mpl::eval_if< diff --git a/include/boost/pending/iterator_tests.hpp b/include/boost/pending/iterator_tests.hpp index dd5fe2d..f9d6e9c 100644 --- a/include/boost/pending/iterator_tests.hpp +++ b/include/boost/pending/iterator_tests.hpp @@ -25,7 +25,6 @@ # include # include // for detail::dummy_constructor # include -# include namespace boost { @@ -41,8 +40,6 @@ struct dummyT { } -BOOST_TT_BROKEN_COMPILER_SPEC(boost::dummyT) - namespace boost { // Tests whether type Iterator satisfies the requirements for a diff --git a/test/indirect_iter_member_types.cpp b/test/indirect_iter_member_types.cpp index 84dcaeb..da09ac8 100644 --- a/test/indirect_iter_member_types.cpp +++ b/test/indirect_iter_member_types.cpp @@ -27,8 +27,6 @@ struct my_ptr { // typedef boost::no_traversal_tag iterator_category; }; -BOOST_TT_BROKEN_COMPILER_SPEC(my_ptr) -BOOST_TT_BROKEN_COMPILER_SPEC(zow) // Borland 5.6.4 and earlier drop const all over the place, so this // test will fail in the lines marked with (**) diff --git a/test/indirect_iterator_test.cpp b/test/indirect_iterator_test.cpp index 8cea482..c689673 100644 --- a/test/indirect_iterator_test.cpp +++ b/test/indirect_iterator_test.cpp @@ -27,8 +27,6 @@ #include -#include - #include #include @@ -53,7 +51,6 @@ template struct see_val; struct my_iterator_tag : public std::random_access_iterator_tag { }; using boost::dummyT; -BOOST_TT_BROKEN_COMPILER_SPEC(boost::shared_ptr) typedef std::vector storage; typedef std::vector pointer_ra_container; diff --git a/test/is_lvalue_iterator.cpp b/test/is_lvalue_iterator.cpp old mode 100755 new mode 100644 index fdace52..a3f7b6f --- a/test/is_lvalue_iterator.cpp +++ b/test/is_lvalue_iterator.cpp @@ -7,7 +7,6 @@ #include #include #include -#include #include #include @@ -20,7 +19,6 @@ struct v ~v(); }; -BOOST_TT_BROKEN_COMPILER_SPEC(v) struct value_iterator : boost::iterator { @@ -83,8 +81,6 @@ struct constant_lvalue_iterator constant_lvalue_iterator operator++(int); }; -BOOST_TT_BROKEN_COMPILER_SPEC(proxy_iterator::proxy) -BOOST_TT_BROKEN_COMPILER_SPEC(proxy_iterator::proxy) int main() { diff --git a/test/is_readable_iterator.cpp b/test/is_readable_iterator.cpp old mode 100755 new mode 100644 index 15ed099..ee58089 --- a/test/is_readable_iterator.cpp +++ b/test/is_readable_iterator.cpp @@ -7,7 +7,6 @@ #include #include #include -#include #include #include @@ -20,7 +19,6 @@ struct v ~v(); }; -BOOST_TT_BROKEN_COMPILER_SPEC(v) struct value_iterator : boost::iterator { @@ -71,7 +69,6 @@ struct proxy_iterator2 : boost::iterator proxy operator*() const; }; -BOOST_TT_BROKEN_COMPILER_SPEC(proxy_iterator::proxy) int main() { diff --git a/test/iterator_adaptor_test.cpp b/test/iterator_adaptor_test.cpp index e339fe1..5b5e0c3 100644 --- a/test/iterator_adaptor_test.cpp +++ b/test/iterator_adaptor_test.cpp @@ -19,8 +19,6 @@ #endif #include -# include - # include #include diff --git a/test/pointee.cpp b/test/pointee.cpp old mode 100755 new mode 100644 index b39fce1..71d1d04 --- a/test/pointee.cpp +++ b/test/pointee.cpp @@ -35,7 +35,6 @@ struct X { template operator T&() const; }; -BOOST_TT_BROKEN_COMPILER_SPEC(X) int main() { diff --git a/test/unit_tests.cpp b/test/unit_tests.cpp index 2434310..c53627d 100644 --- a/test/unit_tests.cpp +++ b/test/unit_tests.cpp @@ -7,13 +7,10 @@ #include "static_assert_same.hpp" -#include - #include struct X { int a; }; -BOOST_TT_BROKEN_COMPILER_SPEC(X) struct Xiter : boost::iterator_adaptor {