Andrey Semashev 7c77e52509 Always use operator_brackets_proxy in iterator_facade.
This avoids returning a copy of the value from operator[], which can
be unexpected by users wanting to obtain an address of the value
referenced by the iterator.

We still want to return a proxy instead of the iterator's reference
since the iterator may be holding the value internally, and the iterator
gets destroyed after returning from operator[], so the returned
reference would be dangling.

Closes https://github.com/boostorg/iterator/issues/61.
2025-06-09 03:22:08 +03:00
2021-09-15 22:15:48 +03:00

Boost.Iterator

Boost.Iterator, part of collection of the Boost C++ Libraries, provides tools for building and working with iterators in C++. The library also provides a number of iterator classes that can be used out of the box.

Directories

  • doc - Documentation sources
  • include - Interface headers of Boost.Iterator
  • test - Boost.Iterator unit tests
  • example - Boost.Iterator usage examples

More information

Build status

Branch GitHub Actions AppVeyor Test Matrix Dependencies
master GitHub Actions AppVeyor Tests Dependencies
develop GitHub Actions AppVeyor Tests Dependencies

License

Distributed under the Boost Software License, Version 1.0.

S
Description
Boost.org iterator module
Readme 14 MiB
Languages
C++ 99.5%
CMake 0.4%
HTML 0.1%