$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Toon Knapen (toon_at_[hidden])
Date: 2001-08-27 07:34:39
If others would also be interested I would like to see iterator_adaptors
extended with a strided_iterator_policy.
Using the strided_iterator_policy, every increment of the iterator will
advance the iterator according a user defined 'stride'
{ // begin example :
template < int N >
class stride_iterator_policy : public boost::default_iterator_policies
{
public:
template <class BaseType>
static void increment(BaseType& x) { std::advance( x, N ); }
};
boost::iterator_adaptor< RealValues::const_iterator,
stride_iterator_policy<3> > dof_it( dof_values.begin() );
prod = std::inner_product( shapes.begin(), shapes.end(), dof_it, 0.0 );
} // end example
The iterator is here used to traverse the first row of every column in a
column-major matrix.
This type of iterator is frequently used within for instance matrix
operations.
toon