Skip to content

Commit 93d9197

Browse files
committed
Replace to_array with std::to_array
1 parent c4455e6 commit 93d9197

1 file changed

Lines changed: 5 additions & 22 deletions

File tree

palace/linalg/rap.cpp

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// SPDX-License-Identifier: Apache-2.0
33

44
#include "rap.hpp"
5+
#include <array>
56

67
#include "fem/bilinearform.hpp"
78
#include "linalg/hypre.hpp"
@@ -911,32 +912,14 @@ BuildParSumOperator(const std::array<std::complex<double>, N> &coeff,
911912
return O;
912913
}
913914

914-
// TODO: replace with std::to_array in c++20.
915-
namespace detail
916-
{
917-
// Helper for conversion to std::array.
918-
template <class T, std::size_t N, std::size_t... I>
919-
constexpr std::array<std::remove_cv_t<T>, N> to_array_impl(T (&&a)[N],
920-
std::index_sequence<I...>)
921-
{
922-
return {{std::move(a[I])...}};
923-
}
924-
} // namespace detail
925-
926-
template <class T, std::size_t N>
927-
constexpr std::array<std::remove_cv_t<T>, N> to_array(T (&&a)[N])
928-
{
929-
return detail::to_array_impl(std::move(a), std::make_index_sequence<N>{});
930-
}
931-
932915
template <std::size_t N>
933916
std::unique_ptr<ComplexParOperator>
934917
BuildParSumOperator(std::complex<double> (&&coeff_in)[N],
935918
const ComplexParOperator *(&&ops_in)[N], bool set_essential)
936919
{
937-
return BuildParSumOperator(
938-
palace::to_array<std::complex<double>>(std::move(coeff_in)),
939-
palace::to_array<const ComplexParOperator *>(std::move(ops_in)), set_essential);
920+
return BuildParSumOperator(std::to_array<std::complex<double>>(std::move(coeff_in)),
921+
std::to_array<const ComplexParOperator *>(std::move(ops_in)),
922+
set_essential);
940923
}
941924

942925
template <std::size_t N, typename ScalarType, typename OperType>
@@ -953,7 +936,7 @@ BuildParSumOperator(ScalarType (&&coeff_in)[N], const OperType *(&&ops_in)[N],
953936
std::transform(ops_in, ops_in + N, par_ops.begin(),
954937
[](const OperType *op) { return dynamic_cast<const ParOperType *>(op); });
955938

956-
return BuildParSumOperator(palace::to_array<ScalarType>(std::move(coeff_in)),
939+
return BuildParSumOperator(std::to_array<ScalarType>(std::move(coeff_in)),
957940
std::move(par_ops), set_essential);
958941
}
959942

0 commit comments

Comments
 (0)