[section:strided strided]

[table
    [[Syntax] [Code]]
    [[Pipe] [`rng | boost::adaptors::strided(n)`]]
    [[Function] [`boost::adaptors::stride(rng, n)`]]
]

* [*Precondition:] `0 <= n && n < distance(rng)`
* [*Returns:] A new range based on `rng` where traversal is performed in steps of `n`.
* [*Range Category:] __random_access_range__
* [*Returned Range Category:] __random_access_range__

[section:strided_example strided example]
``
#include <boost/range/adaptor/strided.hpp>
#include <boost/range/algorithm/copy.hpp>
#include <boost/assign.hpp>
#include <algorithm>
#include <iostream>
#include <vector>

int main(int argc, const char* argv[])
{
    using namespace boost::adaptors;
    using namespace boost::assign;

    std::vector<int> input;
    input += 1,2,3,4,5,6,7,8,9,10;

    boost::copy(
        input | strided(2),
        std::ostream_iterator<int>(std::cout, ","));

    return 0;
}
``
[endsect]

This would produce the output:
``
1,3,5,7,9
``
[endsect]


