Use public interface of Boost.Iterator

The pull request accommodates changes to Boost.Iterator and switch to the public interface instead of implementation details.