// Copyright David Abrahams 2004. Distributed under the Boost // Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include #include struct my_iter : boost::iterator_adaptor const*> { my_iter(std::pair const*); my_iter(); }; std::pair const x(1,1); my_iter p(&x); int y = p->first; // operator-> attempts to return an non-const pointer