Skip to content

Commit 53e3f6c

Browse files
committed
improve elements
1 parent ec09b2e commit 53e3f6c

1 file changed

Lines changed: 49 additions & 13 deletions

File tree

test/ranges_zip.cpp

Lines changed: 49 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ auto main() -> int { // NOLINT(bugprone-exception-escape)
2424
multi::array<int, 1> arr1({10}, 5);
2525
multi::array<int, 1> arr2({10}, 6);
2626

27-
auto zp = std::views::zip(arr1, arr2);
27+
auto&& zp = std::views::zip(arr1, arr2);
2828

2929
auto [e1, e2] = zp[3];
3030

@@ -35,12 +35,12 @@ auto main() -> int { // NOLINT(bugprone-exception-escape)
3535
multi::array<int, 1> arr1({10}, 5);
3636
multi::array<int, 1> arr2({10}, 6);
3737

38-
auto es1 = arr1.elements();
39-
auto es2 = arr2.elements();
38+
auto&& es1 = arr1.elements();
39+
auto&& es2 = arr2.elements();
4040

41-
auto zp = std::views::zip(arr1, arr2);
41+
auto&& zp = std::views::zip(arr1, arr2);
4242

43-
auto [e1, e2] = zp[3];
43+
auto&& [e1, e2] = zp[3];
4444

4545
BOOST_TEST( e1 == 5 );
4646
BOOST_TEST( e2 == 6 );
@@ -49,9 +49,9 @@ auto main() -> int { // NOLINT(bugprone-exception-escape)
4949
multi::array<int, 1> arr1({10}, 5);
5050
multi::array<int, 1> arr2({10}, 6);
5151

52-
auto zp = std::views::zip(arr1.elements(), arr2.elements());
52+
auto&& zp = std::views::zip(arr1.elements(), arr2.elements());
5353

54-
auto [e1, e2] = zp[3];
54+
auto&& [e1, e2] = zp[3];
5555

5656
BOOST_TEST( e1 == 5 );
5757
BOOST_TEST( e2 == 6 );
@@ -60,9 +60,9 @@ auto main() -> int { // NOLINT(bugprone-exception-escape)
6060
multi::array<int, 1> arr1({10}, 5);
6161
multi::array<int, 1> arr2({10}, 6);
6262

63-
auto zp = std::views::zip(arr1(), arr2());
63+
auto&& zp = std::views::zip(arr1(), arr2());
6464

65-
auto [e1, e2] = zp[3];
65+
auto&& [e1, e2] = zp[3];
6666

6767
BOOST_TEST( e1 == 5 );
6868
BOOST_TEST( e2 == 6 );
@@ -74,9 +74,9 @@ auto main() -> int { // NOLINT(bugprone-exception-escape)
7474
auto es1 = arr1().elements();
7575
auto es2 = arr2().elements();
7676

77-
auto zp = std::views::zip(arr1, arr2);
77+
auto&& zp = std::views::zip(es1, es2);
7878

79-
auto [e1, e2] = zp[3];
79+
auto&& [e1, e2] = zp[3];
8080

8181
BOOST_TEST( e1 == 5 );
8282
BOOST_TEST( e2 == 6 );
@@ -85,9 +85,45 @@ auto main() -> int { // NOLINT(bugprone-exception-escape)
8585
multi::array<int, 1> arr1({10}, 5);
8686
multi::array<int, 1> arr2({10}, 6);
8787

88-
auto zp = std::views::zip(arr1().elements(), arr2().elements());
88+
auto&& zp = std::views::zip(arr1().elements(), arr2().elements());
8989

90-
auto [e1, e2] = zp[3];
90+
auto&& [e1, e2] = zp[3];
91+
92+
BOOST_TEST( e1 == 5 );
93+
BOOST_TEST( e2 == 6 );
94+
}
95+
{
96+
multi::array<int, 2> arr1({10, 10}, 5);
97+
multi::array<int, 2> arr2({10, 10}, 6);
98+
99+
auto&& zp = std::views::zip(arr1.elements(), arr2.elements());
100+
101+
auto&& [e1, e2] = zp[3];
102+
103+
BOOST_TEST( e1 == 5 );
104+
BOOST_TEST( e2 == 6 );
105+
}
106+
{
107+
multi::array<int, 2> arr1({10, 10}, 5);
108+
multi::array<int, 2> arr2({10, 10}, 6);
109+
110+
auto&& es1 = arr1().elements();
111+
auto&& es2 = arr2().elements();
112+
113+
auto&& zp = std::views::zip(es1, es2);
114+
115+
auto&& [e1, e2] = zp[3];
116+
117+
BOOST_TEST( e1 == 5 );
118+
BOOST_TEST( e2 == 6 );
119+
}
120+
{
121+
multi::array<int, 2> arr1({10, 10}, 5);
122+
multi::array<int, 2> arr2({10, 10}, 6);
123+
124+
auto&& zp = std::views::zip(arr1().elements(), arr2().elements());
125+
126+
auto&& [e1, e2] = zp[3];
91127

92128
BOOST_TEST( e1 == 5 );
93129
BOOST_TEST( e2 == 6 );

0 commit comments

Comments
 (0)