1 // Copyright David Abrahams 2004. Distributed under the Boost 2 // Software License, Version 1.0. (See accompanying 3 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 4 5 #include <boost/iterator/iterator_adaptor.hpp> 6 #include <utility> 7 8 struct my_iter : boost::iterator_adaptor<my_iter, std::pair<int,int> const*> 9 { 10 my_iter(std::pair<int,int> const*); 11 my_iter(); 12 }; 13 14 std::pair<int,int> const x(1,1); 15 my_iter p(&x); 16 int y = p->first; // operator-> attempts to return an non-const pointer 17