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-
932915template <std::size_t N>
933916std::unique_ptr<ComplexParOperator>
934917BuildParSumOperator (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
942925template <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