Skip to content

Commit c4b0ccb

Browse files
committed
remove friend num_Elements
1 parent 125960f commit c4b0ccb

7 files changed

Lines changed: 37 additions & 38 deletions

File tree

include/boost/multi/array_ref.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,9 +259,8 @@ struct array_types : private Layout { // cppcheck-suppress syntaxError ; false
259259

260260
using layout_t::is_compact;
261261

262-
friend constexpr auto size(array_types const& self) noexcept -> size_type { return self.size(); }
262+
// friend constexpr auto size(array_types const& self) noexcept -> size_type { return self.size(); }
263263
friend BOOST_MULTI_HD constexpr auto extension(array_types const& self) noexcept -> extension_type { return self.extension(); }
264-
// friend constexpr auto is_empty(array_types const& self) noexcept -> bool { return self.is_empty(); }
265264
friend constexpr auto num_elements(array_types const& self) noexcept -> size_type { return self.num_elements(); }
266265

267266
friend constexpr auto extensions(array_types const& self) noexcept -> extensions_type { return self.extensions(); }

test/array_ref.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -802,7 +802,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
802802

803803
BOOST_TEST( &d2Rce[2][3] == &d2D[2][3] );
804804
BOOST_TEST( d2Rce.size() == 4 );
805-
BOOST_TEST( num_elements(d2Rce) == 20 );
805+
BOOST_TEST( d2Rce.num_elements() == 20 );
806806

807807
#ifdef __clang__
808808
#pragma clang diagnostic pop
@@ -824,15 +824,15 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
824824
// NOLINTEND(fuchsia-default-arguments-calls) std::string ctor
825825

826826
multi::array_cref<std::string, 3> cref(&dc3D[0][0][0], {4, 2, 3});
827-
BOOST_TEST( num_elements(cref) == 24 && cref[2][1][1] == "C1b" );
827+
BOOST_TEST( cref.num_elements() == 24 && cref[2][1][1] == "C1b" );
828828

829829
auto const& A2 = cref.sliced(0, 3).rotated()[1].sliced(0, 2).unrotated();
830-
BOOST_TEST( multi::rank<std::decay_t<decltype(A2)>>{} == 2 && num_elements(A2) == 6 );
830+
BOOST_TEST( multi::rank<std::decay_t<decltype(A2)>>{} == 2 && A2.num_elements() == 6 );
831831

832832
BOOST_TEST( get<0>(sizes(A2)) == 3 && get<1>(sizes(A2)) == 2 );
833833

834834
auto const& A3 = cref({0, 3}, 1, {0, 2});
835-
BOOST_TEST( multi::rank<std::decay_t<decltype(A3)>>{} == 2 && num_elements(A3) == 6 );
835+
BOOST_TEST( multi::rank<std::decay_t<decltype(A3)>>{} == 2 && A3.num_elements() == 6 );
836836

837837
BOOST_TEST( A2.layout()[2][1] == &A2[2][1] - A2.base() );
838838
BOOST_TEST( A2.rotated().layout()[1][2] == &A2.rotated()[1][2] - A2.rotated().base() );

test/initializer_list.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
304304
}
305305
};
306306
multi::array<int, 2> arr(begin(nested), end(nested));
307-
BOOST_TEST( num_elements(arr) == 6 );
307+
BOOST_TEST( arr.num_elements() == 6 );
308308
BOOST_TEST( arr[2][1] == 60 );
309309
}
310310
{
@@ -351,7 +351,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
351351
};
352352
// NOLINTEND(fuchsia-default-arguments-calls)
353353

354-
BOOST_TEST( num_elements(B3) == 12 );
354+
BOOST_TEST( B3.num_elements() == 12 );
355355
BOOST_TEST( B3[1][0][1] == "101" );
356356
}
357357
}
@@ -364,9 +364,9 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
364364

365365
static_assert(std::is_same_v<decltype(arr)::element_type, int>);
366366

367-
BOOST_TEST( size(arr) == 3 && num_elements(arr) == 3 );
367+
BOOST_TEST( size(arr) == 3 && arr.num_elements() == 3 );
368368
BOOST_TEST( multi::rank<decltype(arr)>::value == 1);
369-
BOOST_TEST( num_elements(arr) == 3 );
369+
BOOST_TEST( arr.num_elements() == 3 );
370370
BOOST_TEST( arr[1] == 20 );
371371

372372
static_assert(decltype(arr)::rank{} == 1);
@@ -380,9 +380,9 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
380380
static_assert(std::is_same_v<decltype(arr)::element_type, int>);
381381

382382
BOOST_TEST( size(arr) == 3 );
383-
BOOST_TEST( num_elements(arr) == 3 );
383+
BOOST_TEST( arr.num_elements() == 3 );
384384
BOOST_TEST( multi::rank<decltype(arr)>::value == 1 );
385-
BOOST_TEST( num_elements(arr) == 3 );
385+
BOOST_TEST( arr.num_elements() == 3 );
386386
BOOST_TEST( arr[1] == 20 );
387387

388388
static_assert(decltype(arr)::rank{} == 1);
@@ -394,9 +394,9 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
394394
static_assert(std::is_same_v<decltype(arr)::element_type, int>);
395395

396396
BOOST_TEST( arr.size() == 2 );
397-
BOOST_TEST( num_elements(arr) == 2 );
397+
BOOST_TEST( arr.num_elements() == 2 );
398398
BOOST_TEST( multi::rank<decltype(arr)>::value == 1 );
399-
BOOST_TEST( num_elements(arr) == 2 );
399+
BOOST_TEST( arr.num_elements() == 2 );
400400
BOOST_TEST( arr[1] == 20 );
401401
BOOST_TEST( multi::rank<decltype(arr)>::value == 1 );
402402
}
@@ -409,9 +409,9 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
409409
static_assert(std::is_same_v<decltype(arr)::element_type, int>);
410410

411411
BOOST_TEST( size(arr) == 2 );
412-
BOOST_TEST( num_elements(arr) == 2 );
412+
BOOST_TEST( arr.num_elements() == 2 );
413413
BOOST_TEST( multi::rank<decltype(arr)>{} == 1 );
414-
BOOST_TEST( num_elements(arr) == 2 );
414+
BOOST_TEST( arr.num_elements() == 2 );
415415
BOOST_TEST( arr[1] == 2 );
416416
BOOST_TEST( multi::rank<decltype(arr)>{} == 1 );
417417
}
@@ -424,7 +424,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
424424
static_assert(std::is_same_v<decltype(arr)::element_type, int>);
425425

426426
BOOST_TEST( multi::rank<decltype(arr)>::value == 1 );
427-
BOOST_TEST( num_elements(arr) == 1 );
427+
BOOST_TEST( arr.num_elements() == 1 );
428428
BOOST_TEST( arr[0] == 90 );
429429
BOOST_TEST( multi::rank<decltype(arr)>::value == 1 );
430430
}
@@ -437,9 +437,9 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
437437
static_assert(std::is_same_v<decltype(arr)::element_type, int>);
438438

439439
BOOST_TEST( size(arr) == 1 );
440-
BOOST_TEST( num_elements(arr) == 1 );
440+
BOOST_TEST( arr.num_elements() == 1 );
441441
BOOST_TEST( multi::rank<decltype(arr)>::value == 1 );
442-
BOOST_TEST( num_elements(arr) == 1 );
442+
BOOST_TEST( arr.num_elements() == 1 );
443443
BOOST_TEST( arr[0] == 90 );
444444
}
445445

@@ -456,7 +456,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
456456
});
457457

458458
BOOST_TEST( multi::rank<decltype(arr)>{} == 2 );
459-
BOOST_TEST( num_elements(arr) == 6 );
459+
BOOST_TEST( arr.num_elements() == 6 );
460460
}
461461
// {
462462
// multi::array const arr({

test/partitioned.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
348348
static_assert(std::decay_t<decltype(A3_ref)>::rank{} == decltype(A2)::rank{} + 1);
349349
static_assert(std::decay_t<decltype(A3_ref)>::rank_v == decltype(A2)::rank_v + 1);
350350

351-
BOOST_TEST( num_elements(A3_ref) == num_elements(A2) );
351+
BOOST_TEST( A3_ref.num_elements() == A2.num_elements() );
352352
BOOST_TEST( size(A3_ref) == 2 );
353353
BOOST_TEST( size(A3_ref[0]) == 2 );
354354
BOOST_TEST( size(A3_ref[0][0]) == 6 );

test/reextent.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
3939
// BOOST_AUTO_TEST_CASE(array_reextent)
4040
{
4141
multi::array<int, 2> arr({2, 3});
42-
BOOST_TEST( num_elements(arr) == 6 );
42+
BOOST_TEST( arr.num_elements() == 6 );
4343

4444
arr[1][2] = 60;
4545
BOOST_TEST( arr[1][2] == 60 ); // cppcheck-suppress knownConditionTrueFalse ;
@@ -49,7 +49,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
4949
BOOST_TEST(size(arr3[0]) == 3);
5050

5151
arr.reextent({5, 4}, 990);
52-
BOOST_TEST( num_elements(arr)== 5L*4L );
52+
BOOST_TEST( arr.num_elements()== 5L*4L );
5353
BOOST_TEST( arr[1][2] == 60 ); // reextent preserves values when it can...
5454
BOOST_TEST( arr[4][3] == 990 ); // ...and gives selected value to the rest
5555
}
@@ -107,7 +107,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
107107
// BOOST_AUTO_TEST_CASE(array_reextent_noop)
108108
{
109109
multi::array<int, 2> arr({2, 3});
110-
BOOST_TEST( num_elements(arr) == 6 );
110+
BOOST_TEST( arr.num_elements() == 6 );
111111

112112
arr[1][2] = 60;
113113
BOOST_TEST( arr[1][2] == 60 ); // cppcheck-suppress knownConditionTrueFalse ;
@@ -118,7 +118,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
118118

119119
auto* const A_base = arr.base();
120120
arr.reextent({2, 3});
121-
BOOST_TEST( num_elements(arr)== 2L*3L );
121+
BOOST_TEST( arr.num_elements()== 2L*3L );
122122
BOOST_TEST( arr[1][2] == 60 ); // reextent preserves values when it can...
123123

124124
BOOST_TEST( A_base == arr.base() );
@@ -127,7 +127,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
127127
// BOOST_AUTO_TEST_CASE(array_reextent_noop_with_init)
128128
{
129129
multi::array<int, 2> arr({2, 3});
130-
BOOST_TEST( num_elements(arr) == 6 );
130+
BOOST_TEST( arr.num_elements() == 6 );
131131

132132
arr[1][2] = 60;
133133
BOOST_TEST( arr[1][2] == 60 ); // cppcheck-suppress knownConditionTrueFalse ;
@@ -138,7 +138,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
138138

139139
auto* const A_base = arr.base();
140140
arr.reextent({2, 3}, 990);
141-
BOOST_TEST( num_elements(arr)== 2L*3L );
141+
BOOST_TEST( arr.num_elements()== 2L*3L );
142142
BOOST_TEST( arr[1][2] == 60 ); // reextent preserves values when it can...
143143

144144
BOOST_TEST( A_base == arr.base() );
@@ -147,7 +147,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
147147
// BOOST_AUTO_TEST_CASE(array_reextent_moved)
148148
{
149149
multi::array<int, 2> arr({2, 3});
150-
BOOST_TEST( num_elements(arr) == 6 );
150+
BOOST_TEST( arr.num_elements() == 6 );
151151

152152
arr[1][2] = 60;
153153
BOOST_TEST( arr[1][2] == 60 ); // cppcheck-suppress knownConditionTrueFalse ;
@@ -158,7 +158,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
158158

159159
BOOST_TEST( arr.size() == 2 );
160160
BOOST_TEST( arr.num_elements() == 2L*3L );
161-
BOOST_TEST( num_elements(arr)== 2L*3L );
161+
BOOST_TEST( arr.num_elements()== 2L*3L );
162162
BOOST_TEST(arr[1][2] == 60); // after move the original elments might not be the same
163163

164164
BOOST_TEST( A_base == arr.base() );
@@ -167,7 +167,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
167167
// BOOST_AUTO_TEST_CASE(array_reextent_moved_trivial)
168168
{
169169
multi::array<int, 2> arr({2, 3});
170-
BOOST_TEST( num_elements(arr) == 6 );
170+
BOOST_TEST( arr.num_elements() == 6 );
171171

172172
arr[1][2] = 60;
173173
BOOST_TEST( arr[1][2] == 60 ); // cppcheck-suppress knownConditionTrueFalse ;
@@ -176,7 +176,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
176176

177177
arr = std::move(arr).reextent({2, 3}); // "arr = ..." suppresses linter bugprone-use-after-move,hicpp-invalid-access-moved
178178

179-
BOOST_TEST( num_elements(arr)== 2L*3L );
179+
BOOST_TEST( arr.num_elements()== 2L*3L );
180180
BOOST_TEST( arr[1][2] == 60 ); // after move the original elments might not be the same
181181

182182
BOOST_TEST( A_base == arr.base() );
@@ -241,7 +241,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
241241
BOOST_TEST( arr[1][2] == 1230 );
242242

243243
arr.clear();
244-
BOOST_TEST( num_elements(arr) == 0 );
244+
BOOST_TEST( arr.num_elements() == 0 );
245245
BOOST_TEST( size(arr) == 0 );
246246

247247
arr.reextent({5, 4}, 660);
@@ -300,7 +300,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
300300
BOOST_TEST( arr[1][2] == 40 );
301301

302302
arr.clear();
303-
BOOST_TEST( num_elements(arr) == 0 );
303+
BOOST_TEST( arr.num_elements() == 0 );
304304
BOOST_TEST( size(arr) == 0 );
305305

306306
arr.reextent({20, 30}, 90);
@@ -327,7 +327,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
327327
BOOST_TEST( arr[1][2] == 40 );
328328

329329
arr.clear();
330-
BOOST_TEST( num_elements(arr) == 0 );
330+
BOOST_TEST( arr.num_elements() == 0 );
331331
BOOST_TEST( size(arr) == 0 );
332332
}
333333

test/utility.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
166166
BOOST_TEST( &carr[1][7] == &marr[1][7] );
167167

168168
using multi::num_elements;
169-
BOOST_TEST( num_elements(carr) == num_elements(marr) );
169+
BOOST_TEST( num_elements(carr) == marr.num_elements() );
170170

171171
using multi::data_elements;
172172
BOOST_TEST( data_elements(carr) == data_elements(marr) );

test/zero_dimensionality.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
2525
multi::array_ref<int, 1> m1(v1.data(), multi::extensions_t<1>{multi::iextension{3}});
2626
BOOST_TEST( size(m1) == 3 );
2727
BOOST_TEST( &m1[1] == &v1[1] );
28-
BOOST_TEST( num_elements(m1) == 3 );
28+
BOOST_TEST( m1.num_elements() == 3 );
2929

3030
multi::array_ref<int, 0> const m0(v1.data(), {});
3131
// BOOST_TEST(( &m0 == multi::array_ptr<double, 0>(v1.data(), {}) ));
@@ -41,7 +41,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
4141
{
4242
// vvv--- TODO(correaa) this might trigger a compiler crash with g++ 7.5 because of operator&() && overloads
4343
multi::dynamic_array<double, 0> a0 = multi::dynamic_array<double, 0>{45.0};
44-
BOOST_TEST( num_elements(a0) == 1 );
44+
BOOST_TEST( a0.num_elements() == 1 );
4545
BOOST_TEST( a0 == 45.0 );
4646

4747
a0 = multi::dynamic_array<double, 0>{60.0};
@@ -52,7 +52,7 @@ auto main() -> int { // NOLINT(readability-function-cognitive-complexity,bugpro
5252

5353
multi::dynamic_array<double, 0> a0(45.0, alloc);
5454

55-
BOOST_TEST( num_elements(a0) == 1 );
55+
BOOST_TEST( a0.num_elements() == 1 );
5656
BOOST_TEST( a0 == 45.0 );
5757

5858
a0 = multi::dynamic_array<double, 0>{60.0};

0 commit comments

Comments
 (0)