Ticket #2108: symmetric_row_iterator.cpp

File symmetric_row_iterator.cpp, 838 bytes (added by Gunter, 14 years ago)

show difference between iterator and const_iterator

Line 
1#include <numeric>
2#include <boost/numeric/ublas/symmetric.hpp>
3#include <boost/numeric/ublas/matrix_proxy.hpp>
4#include <boost/numeric/ublas/io.hpp>
5using namespace std;
6using namespace boost::numeric::ublas;
7
8int main()
9{
10 symmetric_matrix<double> m(3, 3);
11 for(unsigned int i = 0; i < 3; i++)
12 for(unsigned int j = 0; j < 3; j++)
13 m(i, j) = 1;
14 for(unsigned int i = 0; i < 3; i++)
15 {
16 matrix_row<symmetric_matrix<double> > row(m, i); // reference to a mutable row
17 cout << accumulate(row.begin(), row.end(), 0.0) << endl; //should be 3 for all rows
18 }
19 for(unsigned int i = 0; i < 3; i++)
20 {
21 matrix_row<const symmetric_matrix<double> > row(const_cast<const symmetric_matrix<double> & >(m), i); // reference to a immutable row
22 cout << accumulate(row.begin(), row.end(), 0.0) << endl; //should be 3 for all rows
23 }
24 return 0;
25}