1use mat::*;
2
3fn main () {
4 println!("mat example: main...");
5 let m = Mat::from_vec (
9 (3, 4).into(),
10 vec!['a','b','c','d','e','f','g','h','i','j','k','l']
11 ).unwrap();
12 println!("{}", m);
13
14 println!("rect iter top...");
15 let top = m.top().unwrap();
16 for (Coordinate{row,column}, e) in m.rect_iter (top).unwrap() {
17 println!("coord: ({},{}) elem: {}", row, column, e);
18 }
19
20 println!("rect iter bottom...");
21 let bottom = m.bottom().unwrap();
22 for (Coordinate{row,column}, e) in m.rect_iter (bottom).unwrap() {
23 println!("coord: ({},{}) elem: {}", row, column, e);
24 }
25
26 println!("rect iter left...");
27 let left = m.left().unwrap();
28 for (Coordinate{row,column}, e) in m.rect_iter (left).unwrap() {
29 println!("coord: ({},{}) elem: {}", row, column, e);
30 }
31
32 println!("rect iter right...");
33 let right = m.right().unwrap();
34 for (Coordinate{row,column}, e) in m.rect_iter (right).unwrap() {
35 println!("coord: ({},{}) elem: {}", row, column, e);
36 }
37
38 println!("rect iter column 1...");
39 let column1 = m.column (1).unwrap();
40 for (Coordinate{row,column}, e) in m.rect_iter (column1).unwrap() {
41 println!("coord: ({},{}) elem: {}", row, column, e);
42 }
43
44 println!("rect iter row 1...");
45 let row1 = m.row (1).unwrap();
46 for (Coordinate{row,column}, e) in m.rect_iter (row1).unwrap() {
47 println!("coord: ({},{}) elem: {}", row, column, e);
48 }
49
50 let mut m = Mat::<char>::default();
54
55 m.resize ((8, 15).into(), 'o');
56 println!("{}", m);
57
58 println!("rect iter mut top...");
59 let top = m.top().unwrap();
60 for (_, e) in m.rect_iter_mut (top).unwrap() {
61 *e = 'X';
62 }
63
64 println!("{}", m);
65
66 println!("rect iter mut lower right block...");
67 let block = Rectangle::from ((
68 (4, 11).into(),
69 (m.height()-4, m.width()-11).into()));
70
71 for (_, e) in m.rect_iter_mut (block).unwrap() {
72 *e = 'I';
73 }
74
75 println!("{}", m);
76
77 println!("rect iter mut column 2...");
78 let col2 = m.column (2).unwrap();
79
80 for (_, e) in m.rect_iter_mut (col2).unwrap() {
81 *e = 'E';
82 }
83
84 println!("{}", m);
85
86 println!("rect iter mut middle box...");
87 let rect = Rectangle::from (((3, 2).into(), (5, 3).into()));
88 for (_, e) in m.rect_iter_mut (rect).unwrap() {
89 *e = 'M';
90 }
91
92 println!("{}", m);
93
94 println!("mat example: ...main");
95}