@@ -651,7 +651,8 @@ void close_and_copy_attributable_test(std::string file_ending)
651651 constexpr unsigned long length = 10ul ;
652652 Extent global_extent = {length};
653653 Dataset dataset = Dataset (datatype, global_extent);
654- std::shared_ptr<position_t []> local_data (new position_t [length]);
654+ std::shared_ptr<position_t > local_data (
655+ new position_t [length], [](position_t const *ptr) { delete[] ptr; });
655656
656657 std::unique_ptr<Iteration> iteration_ptr;
657658 for (size_t i = 0 ; i < 100 ; i += 10 )
@@ -879,7 +880,8 @@ inline void constant_scalar(std::string file_ending)
879880 E_x.makeConstant (static_cast <float >(13.37 ));
880881 auto E_y = s.iterations [1 ].meshes [" E" ][" y" ];
881882 E_y.resetDataset (Dataset (Datatype::UINT, {1 , 2 , 3 }));
882- std::shared_ptr<unsigned int []> E (new unsigned int [6 ]);
883+ std::shared_ptr<unsigned int > E (
884+ new unsigned int [6 ], [](unsigned int const *p) { delete[] p; });
883885 unsigned int e{0 };
884886 std::generate (E.get (), E.get () + 6 , [&e] { return e++; });
885887 E_y.storeChunk (E, {0 , 0 , 0 }, {1 , 2 , 3 });
@@ -913,7 +915,9 @@ inline void constant_scalar(std::string file_ending)
913915 vel_x.makeConstant (static_cast <short >(-1 ));
914916 auto vel_y = s.iterations [1 ].particles [" e" ][" velocity" ][" y" ];
915917 vel_y.resetDataset (Dataset (Datatype::ULONGLONG, {3 , 2 , 1 }));
916- std::shared_ptr<unsigned long long []> vel (new unsigned long long [6 ]);
918+ std::shared_ptr<unsigned long long > vel (
919+ new unsigned long long [6 ],
920+ [](unsigned long long const *p) { delete[] p; });
917921 unsigned long long v{0 };
918922 std::generate (vel.get (), vel.get () + 6 , [&v] { return v++; });
919923 vel_y.storeChunk (vel, {0 , 0 , 0 }, {3 , 2 , 1 });
@@ -1096,7 +1100,10 @@ TEST_CASE("flush_without_position_positionOffset", "[serial]")
10961100 RecordComponent weighting = e[" weighting" ][RecordComponent::SCALAR];
10971101 weighting.resetDataset (Dataset (Datatype::FLOAT, Extent{2 , 2 }));
10981102 weighting.storeChunk (
1099- std::shared_ptr<float []>(new float [4 ]()), {0 , 0 }, {2 , 2 });
1103+ std::shared_ptr<float >(
1104+ new float [4 ](), [](float const *ptr) { delete[] ptr; }),
1105+ {0 , 0 },
1106+ {2 , 2 });
11001107
11011108 s.flush ();
11021109
@@ -1107,7 +1114,10 @@ TEST_CASE("flush_without_position_positionOffset", "[serial]")
11071114 RecordComponent rc = e[key][dim];
11081115 rc.resetDataset (Dataset (Datatype::FLOAT, Extent{2 , 2 }));
11091116 rc.storeChunk (
1110- std::shared_ptr<float []>(new float [4 ]()), {0 , 0 }, {2 , 2 });
1117+ std::shared_ptr<float >(
1118+ new float [4 ](), [](float const *ptr) { delete[] ptr; }),
1119+ {0 , 0 },
1120+ {2 , 2 });
11111121 }
11121122 }
11131123 }
@@ -2076,8 +2086,11 @@ inline void sample_write_thetaMode(std::string file_ending)
20762086 unsigned int const N_r = 20 ;
20772087 unsigned int const N_z = 64 ;
20782088
2079- std::shared_ptr<float []> E_r_data (new float [num_fields * N_r * N_z]);
2080- std::shared_ptr<double []> E_t_data (new double [num_fields * N_r * N_z]);
2089+ std::shared_ptr<float > E_r_data (
2090+ new float [num_fields * N_r * N_z], [](float const *p) { delete[] p; });
2091+ std::shared_ptr<double > E_t_data (
2092+ new double [num_fields * N_r * N_z],
2093+ [](double const *p) { delete[] p; });
20812094 float e_r{0 };
20822095 std::generate (
20832096 E_r_data.get (), E_r_data.get () + num_fields * N_r * N_z, [&e_r] {
@@ -4805,7 +4818,9 @@ void variableBasedParticleData()
48054818 Datatype datatype = determineDatatype<position_t >();
48064819 Extent global_extent = {length};
48074820 Dataset dataset = Dataset (datatype, global_extent);
4808- std::shared_ptr<position_t []> local_data (new position_t [length]);
4821+ std::shared_ptr<position_t > local_data (
4822+ new position_t [length],
4823+ [](position_t const *ptr) { delete[] ptr; });
48094824
48104825 WriteIterations iterations = series.writeIterations ();
48114826 for (size_t i = 0 ; i < 10 ; ++i)
@@ -4903,14 +4918,16 @@ TEST_CASE("automatically_deactivate_span", "[serial][adios2]")
49034918 E_uncompressed.storeChunk <int >(
49044919 {0 }, {10 }, [&spanWorkaround](size_t size) {
49054920 spanWorkaround = true ;
4906- return std::shared_ptr<int []>(new int [size]{});
4921+ return std::shared_ptr<int >(
4922+ new int [size]{}, [](auto *ptr) { delete[] ptr; });
49074923 });
49084924
49094925 REQUIRE (!spanWorkaround);
49104926
49114927 E_compressed.storeChunk <int >({0 }, {10 }, [&spanWorkaround](size_t size) {
49124928 spanWorkaround = true ;
4913- return std::shared_ptr<int []>(new int [size]{});
4929+ return std::shared_ptr<int >(
4930+ new int [size]{}, [](auto *ptr) { delete[] ptr; });
49144931 });
49154932
49164933 REQUIRE (spanWorkaround);
@@ -4952,7 +4969,8 @@ TEST_CASE("automatically_deactivate_span", "[serial][adios2]")
49524969 E_uncompressed.storeChunk <int >(
49534970 {0 }, {10 }, [&spanWorkaround](size_t size) {
49544971 spanWorkaround = true ;
4955- return std::shared_ptr<int []>(new int [size]{});
4972+ return std::shared_ptr<int >(
4973+ new int [size]{}, [](auto *ptr) { delete[] ptr; });
49564974 });
49574975
49584976 REQUIRE (!spanWorkaround);
@@ -4962,7 +4980,8 @@ TEST_CASE("automatically_deactivate_span", "[serial][adios2]")
49624980 E_compressed.storeChunk <int >(
49634981 {0 }, {10 }, [&spanWorkaround](size_t size) {
49644982 spanWorkaround = true ;
4965- return std::shared_ptr<int []>(new int [size]{});
4983+ return std::shared_ptr<int >(
4984+ new int [size]{}, [](auto *ptr) { delete[] ptr; });
49664985 });
49674986 }
49684987 catch (std::invalid_argument const &e)
@@ -5014,15 +5033,17 @@ TEST_CASE("automatically_deactivate_span", "[serial][adios2]")
50145033 E_uncompressed.storeChunk <int >(
50155034 {0 }, {10 }, [&spanWorkaround](size_t size) {
50165035 spanWorkaround = true ;
5017- return std::shared_ptr<int []>(new int [size]{});
5036+ return std::shared_ptr<int >(
5037+ new int [size]{}, [](auto *ptr) { delete[] ptr; });
50185038 });
50195039
50205040 REQUIRE (spanWorkaround);
50215041
50225042 spanWorkaround = false ;
50235043 E_compressed.storeChunk <int >({0 }, {10 }, [&spanWorkaround](size_t size) {
50245044 spanWorkaround = true ;
5025- return std::shared_ptr<int []>(new int [size]{});
5045+ return std::shared_ptr<int >(
5046+ new int [size]{}, [](auto *ptr) { delete[] ptr; });
50265047 });
50275048
50285049 REQUIRE (spanWorkaround);
@@ -5070,7 +5091,8 @@ void iterate_nonstreaming_series(
50705091 */
50715092 [&taskSupportedByBackend](size_t size) {
50725093 taskSupportedByBackend = false ;
5073- return std::shared_ptr<int []>{new int [size]};
5094+ return std::shared_ptr<int >{
5095+ new int [size], [](auto *ptr) { delete[] ptr; }};
50745096 });
50755097 if (writeSeries.backend () == " ADIOS2" )
50765098 {
0 commit comments