Replace boost.iterator_facade