This ensures that __normal_iterator<T*, C> satisfies the contiguous_iterator concept, by defining the iterator_concept member type. Also update vector<bool>'s iterators, reverse_iterator, istreambuf_iterator and ostreambuf_iterator to meet the C++20 requirements. PR libstdc++/92272 * include/bits/stl_bvector.h (_Bit_iterator::pointer) (_Bit_const_iterator::pointer): Define as void for C++20. * include/bits/stl_iterator.h (reverse_iterator::operator->()): Add constraints for C++20. (__normal_iterator::iterator_concept): Define for C++20. * include/bits/streambuf_iterator.h (istreambuf_iterator::pointer): Define as void for C++20. (ostreambuf_iterator::difference_type): Define as ptrdiff_t for C++20. (ostreambuf_iterator::ostreambuf_iterator()): Add default constructor for C++20. * testsuite/23_containers/vector/bool/iterator_c++20.cc: New test. * testsuite/24_iterators/bidirectional/concept.cc: New test. * testsuite/24_iterators/bidirectional/tag.cc: New test. * testsuite/24_iterators/contiguous/concept.cc: New test. * testsuite/24_iterators/contiguous/tag.cc: New test. * testsuite/24_iterators/forward/concept.cc: New test. * testsuite/24_iterators/forward/tag.cc: New test. * testsuite/24_iterators/input/concept.cc: New test. * testsuite/24_iterators/input/tag.cc: New test. * testsuite/24_iterators/istreambuf_iterator/requirements/typedefs.cc: New test. * testsuite/24_iterators/ostreambuf_iterator/requirements/typedefs.cc: New test. * testsuite/24_iterators/output/concept.cc: New test. * testsuite/24_iterators/output/tag.cc: New test. * testsuite/24_iterators/random_access/concept.cc: New test. * testsuite/24_iterators/random_access/tag.cc: New test. * testsuite/24_iterators/range_operations/advance_debug_neg.cc: New test. * testsuite/24_iterators/random_access_iterator/26020.cc: Move to ... * testsuite/24_iterators/operations/26020.cc: ... here. * testsuite/24_iterators/random_access_iterator/ string_vector_iterators.cc: Move to ... * testsuite/24_iterators/random_access/string_vector_iterators.cc: ... here. From-SVN: r277629
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| allocator | Loading commit data... | |
| bool | Loading commit data... | |
| capacity | Loading commit data... | |
| cons | Loading commit data... | |
| data_access | Loading commit data... | |
| debug | Loading commit data... | |
| element_access | Loading commit data... | |
| ext_pointer | Loading commit data... | |
| modifiers | Loading commit data... | |
| profile | Loading commit data... | |
| requirements | Loading commit data... | |
| types | Loading commit data... | |
| 14340.cc | Loading commit data... | |
| 15523.cc | Loading commit data... | |
| 18604.cc | Loading commit data... | |
| 26412-1.cc | Loading commit data... | |
| 26412-2.cc | Loading commit data... | |
| 40192.cc | Loading commit data... | |
| 48101-2_neg.cc | Loading commit data... | |
| 48101-3_neg.cc | Loading commit data... | |
| 48101_neg.cc | Loading commit data... | |
| 52591.cc | Loading commit data... | |
| 58764.cc | Loading commit data... | |
| 59829.cc | Loading commit data... | |
| 63500.cc | Loading commit data... | |
| 92124.cc | Loading commit data... | |
| check_construct_destroy.cc | Loading commit data... | |
| debug_mode_requires_reallocation-1.cc | Loading commit data... | |
| debug_mode_requires_reallocation-2.cc | Loading commit data... | |
| erasure.cc | Loading commit data... | |
| init-list.cc | Loading commit data... | |
| pmr_typedefs.cc | Loading commit data... | |
| range_access.cc | Loading commit data... | |
| zero_sized_allocations.cc | Loading commit data... |