...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::stl_interfaces::proxy_arrow_result
// In header: <boost/stl_interfaces/iterator_interface.hpp> template<typename T> struct proxy_arrow_result { // construct/copy/destruct proxy_arrow_result(T const &) noexcept(noexcept(T(value)))); proxy_arrow_result(T &&) noexcept(noexcept(T(std::move(value))))); // public member functions constexpr T const * operator->() const noexcept; constexpr T * operator->() noexcept; };
The return type of operator->()
in a proxy iterator.
This template is used as the default Pointer
template parameter in the proxy_iterator_interface
template alias. Note that the use of this template implies a copy or move of the underlying object of type T
.