[/ Copyright 2010 Neil Groves Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) /] [section:strided strided] [table [[Syntax] [Code]] [[Pipe] [`rng | boost::adaptors::strided(n)`]] [[Function] [`boost::adaptors::stride(rng, n)`]] ] * [*Precondition:] `0 <= n` and `boost::size(rng)` is a valid expression. * [*Returns:] A new range based on `rng` where traversal is performed in steps of `n`. * [*Range Category:] __single_pass_range__ * [*Returned Range Category:] The range category of `rng`. [section:strided_example strided example] `` #include #include #include #include #include #include int main(int argc, const char* argv[]) { using namespace boost::adaptors; using namespace boost::assign; std::vector input; input += 1,2,3,4,5,6,7,8,9,10; boost::copy( input | strided(2), std::ostream_iterator(std::cout, ",")); return 0; } `` [endsect] This would produce the output: `` 1,3,5,7,9 `` [endsect]