/** * https://quuxplusone.github.io/blog/2019/02/06/arrow-proxy/ */ #pragma once namespace iterator { namespace detail { template <typename Reference> struct arrow_proxy { Reference r; Reference * operator->() { return std::addressof(r); } }; }}