使用boost::counting_iterator的示例程序
在C++的STL标准库中,有一个很方便的用于生成一系列递增整数序列的API——std::iota。但如果想要生成的序列并不是整型,或者序列中的元素并不是单纯的递增,则需要通过其他方法实现。boost::counting_iterator正是为此而生,它可以帮助我们快速生成特定规则的序列。
boost::counting_iterator是一个迭代器,定义在<boost/iterator/counting_iterator.hpp>头文件中。它的定义如下:
template <class Incrementable>
class counting_iterator : public iterator<
typename iterator_traits<Incrementable>::iterator_category,
typename iterator_traits<Incrementable>::value_type,
typename iterator_traits<Incrementable>::difference_type,
typename iterator_traits<Incrementable>::pointer,
typename iterator_traits<Incrementable>::reference
>