diff --git a/src/include/detail/linalg/tdb_matrix.h b/src/include/detail/linalg/tdb_matrix.h index 832af6556..7a5883518 100644 --- a/src/include/detail/linalg/tdb_matrix.h +++ b/src/include/detail/linalg/tdb_matrix.h @@ -183,7 +183,7 @@ class tdbBlockedMatrix : public Matrix { blocksize_ = upper_bound; } -#ifndef __APPLE__ +#ifdef __cpp_lib_smart_ptr_for_overwrite auto data_ = std::make_unique_for_overwrite(dimension * blocksize_); #else // auto data_ = std::make_unique(new T[mat_rows_ * mat_cols_]); @@ -341,7 +341,7 @@ class tdbBlockedMatrix : public Matrix { auto num_rows = row_end - row_begin; auto num_cols = col_end - col_begin; -#ifndef __APPLE__ +#ifdef __cpp_lib_smart_ptr_for_overwrite auto data_ = std::make_unique_for_overwrite(num_rows * num_cols); #else // auto data_ = std::make_unique(new T[mat_rows_ * mat_cols_]); diff --git a/src/include/detail/linalg/tdb_partitioned_matrix.h b/src/include/detail/linalg/tdb_partitioned_matrix.h index fb8a0b6b8..540017344 100644 --- a/src/include/detail/linalg/tdb_partitioned_matrix.h +++ b/src/include/detail/linalg/tdb_partitioned_matrix.h @@ -252,7 +252,7 @@ class tdbPartitionedMatrix : public Matrix { ids_.resize(max_cols_); } -#ifndef __APPLE__ +#ifdef __cpp_lib_smart_ptr_for_overwrite auto data_ = std::make_unique_for_overwrite(dimension * max_cols_); #else auto data_ = std::unique_ptr(new T[dimension * max_cols_]);