diff --git a/.github/workflows/ci-baseline.yml b/.github/workflows/ci-baseline.yml index 8f55f4a15..7a61d4577 100644 --- a/.github/workflows/ci-baseline.yml +++ b/.github/workflows/ci-baseline.yml @@ -89,7 +89,7 @@ jobs: -I/eigen/eigen-${{ env.eigen_version }} \ -I../include \ -c main.cpp \ - && $CXX -o pressio-example main.o \ + && $CXX --std=c++17 -o pressio-example main.o \ && ./pressio-example - name: Example - include only with embedded definitions @@ -99,7 +99,7 @@ jobs: -I/eigen/eigen-${{ env.eigen_version }} \ -I../include \ -c main_with_defines.cpp \ - && $CXX -o pressio-example main.o \ + && $CXX --std=c++17 -o pressio-example main.o \ && ./pressio-example - name: Configure diff --git a/docs/source/components/type_traits.rst b/docs/source/components/type_traits.rst index 406f11c04..9c29d49b2 100644 --- a/docs/source/components/type_traits.rst +++ b/docs/source/components/type_traits.rst @@ -51,7 +51,7 @@ An example of one such specialization (in this case for Eigen) is: template struct Traits< - T, ::pressio::mpl::enable_if_t::value> + T, std::enable_if_t::value> > { using scalar_type = typename T::Scalar; diff --git a/include/pressio/expressions/impl/column_classes.hpp b/include/pressio/expressions/impl/column_classes.hpp index 765564deb..b2df1206e 100644 --- a/include/pressio/expressions/impl/column_classes.hpp +++ b/include/pressio/expressions/impl/column_classes.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace expressions{ namespace impl{ template class ColumnExpr< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dense_matrix_eigen::value > > @@ -110,7 +110,7 @@ class ColumnExpr< #ifdef PRESSIO_ENABLE_TPL_TRILINOS template class ColumnExpr< - T, ::pressio::mpl::enable_if_t< + T, std::enable_if_t< ::pressio::is_multi_vector_tpetra::value > > { @@ -156,7 +156,7 @@ class ColumnExpr< template class ColumnExpr< - T, ::pressio::mpl::enable_if_t< + T, std::enable_if_t< ::pressio::is_multi_vector_tpetra_block::value > > { using traits = ColumnTraits>; diff --git a/include/pressio/expressions/impl/column_traits.hpp b/include/pressio/expressions/impl/column_traits.hpp index d47dfea1e..afce3dbba 100644 --- a/include/pressio/expressions/impl/column_traits.hpp +++ b/include/pressio/expressions/impl/column_traits.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace expressions{ namespace impl{ template class ColumnTraits< ColumnExpr, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dense_matrix_eigen::value > > : public ::pressio::Traits @@ -92,7 +92,7 @@ class ColumnTraits< template class ColumnTraits< ColumnExpr, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_multi_vector_tpetra::value > > : public ::pressio::Traits @@ -107,7 +107,7 @@ class ColumnTraits< template class ColumnTraits< ColumnExpr, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_multi_vector_tpetra_block::value > > : public ::pressio::Traits diff --git a/include/pressio/expressions/impl/diagonal_classes.hpp b/include/pressio/expressions/impl/diagonal_classes.hpp index 295eeb924..43740a565 100644 --- a/include/pressio/expressions/impl/diagonal_classes.hpp +++ b/include/pressio/expressions/impl/diagonal_classes.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace expressions{ namespace impl{ template class DiagonalExpr< MatrixType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dense_matrix_eigen::value > > @@ -115,7 +115,7 @@ class DiagonalExpr< template class DiagonalExpr< MatrixType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dense_matrix_kokkos::value > > diff --git a/include/pressio/expressions/impl/diagonal_traits.hpp b/include/pressio/expressions/impl/diagonal_traits.hpp index 0f6600130..719114e20 100644 --- a/include/pressio/expressions/impl/diagonal_traits.hpp +++ b/include/pressio/expressions/impl/diagonal_traits.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace expressions{ namespace impl{ template class DiagonalTraits< DiagonalExpr, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dense_matrix_eigen::value > > : public ::pressio::Traits @@ -86,7 +86,7 @@ class DiagonalTraits< template class DiagonalTraits< DiagonalExpr, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dense_matrix_kokkos::value > > : public ::pressio::Traits diff --git a/include/pressio/expressions/impl/span_classes.hpp b/include/pressio/expressions/impl/span_classes.hpp index 3bef5a59f..47a21fbf8 100644 --- a/include/pressio/expressions/impl/span_classes.hpp +++ b/include/pressio/expressions/impl/span_classes.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace expressions{ namespace impl{ template class SpanExpr< VectorType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dynamic_vector_eigen::value > > @@ -109,7 +109,7 @@ class SpanExpr< template class SpanExpr< VectorType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_vector_kokkos::value > > diff --git a/include/pressio/expressions/impl/span_traits.hpp b/include/pressio/expressions/impl/span_traits.hpp index b5ce76db1..964bcdba8 100644 --- a/include/pressio/expressions/impl/span_traits.hpp +++ b/include/pressio/expressions/impl/span_traits.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace expressions{ namespace impl{ template class SpanTraits< SpanExpr, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dynamic_vector_eigen::value > > : public ::pressio::Traits @@ -95,7 +95,7 @@ class SpanTraits< template class SpanTraits< SpanExpr, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_vector_kokkos::value > > : public ::pressio::Traits diff --git a/include/pressio/expressions/impl/subspan_classes.hpp b/include/pressio/expressions/impl/subspan_classes.hpp index 626668a54..da3801db1 100644 --- a/include/pressio/expressions/impl/subspan_classes.hpp +++ b/include/pressio/expressions/impl/subspan_classes.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace expressions{ namespace impl{ template class SubspanExpr< MatrixType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dense_matrix_eigen::value > > @@ -135,7 +135,7 @@ class SubspanExpr< template struct SubspanExpr< MatrixType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dense_matrix_kokkos::value > > diff --git a/include/pressio/expressions/impl/subspan_traits.hpp b/include/pressio/expressions/impl/subspan_traits.hpp index 7cf41a9fc..3f612ec3a 100644 --- a/include/pressio/expressions/impl/subspan_traits.hpp +++ b/include/pressio/expressions/impl/subspan_traits.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace expressions{ namespace impl{ template class SubSpanTraits< SubspanExpr, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dense_matrix_eigen::value > > : public ::pressio::Traits @@ -90,7 +90,7 @@ class SubSpanTraits< template class SubSpanTraits< SubspanExpr, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dense_matrix_kokkos::value > > : public ::pressio::Traits diff --git a/include/pressio/expressions/is_expression.hpp b/include/pressio/expressions/is_expression.hpp index f8421a110..523eef82a 100644 --- a/include/pressio/expressions/is_expression.hpp +++ b/include/pressio/expressions/is_expression.hpp @@ -74,7 +74,7 @@ struct is_expression : std::false_type{}; template struct is_expression< T, - mpl::enable_if_t< + std::enable_if_t< is_expression_span::value || is_expression_diagonal::value || is_expression_subspan::value diff --git a/include/pressio/mpl.hpp b/include/pressio/mpl.hpp index ffe0cdeda..a88ac158a 100644 --- a/include/pressio/mpl.hpp +++ b/include/pressio/mpl.hpp @@ -55,10 +55,8 @@ // some will change/disappear once we move to C++14 #include "./mpl/identity.hpp" -#include "./mpl/enable_if_t.hpp" #include "./mpl/conditional_t.hpp" #include "./mpl/void_t.hpp" -#include "./mpl/is_same.hpp" #include "./mpl/not_same.hpp" #include "./mpl/remove_cvref.hpp" #include "./mpl/remove_reference.hpp" diff --git a/include/pressio/mpl/enable_if_t.hpp b/include/pressio/mpl/enable_if_t.hpp deleted file mode 100644 index b3cbd1769..000000000 --- a/include/pressio/mpl/enable_if_t.hpp +++ /dev/null @@ -1,63 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// enable_if_t.hpp -// Pressio -// Copyright 2019 -// National Technology & Engineering Solutions of Sandia, LLC (NTESS) -// -// Under the terms of Contract DE-NA0003525 with NTESS, the -// U.S. Government retains certain rights in this software. -// -// Pressio is licensed under BSD-3-Clause terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived -// from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -// COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -// IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Francesco Rizzi (fnrizzi@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef MPL_ENABLE_IF_T_HPP_ -#define MPL_ENABLE_IF_T_HPP_ - -namespace pressio{ namespace mpl{ - -/*This allows allows for a shorter syntax: - enable_if_t - as opposed to: - typename enable_if::type -*/ -template -using enable_if_t = typename std::enable_if::type; - -}} // namespace pressio::mpl -#endif // MPL_ENABLE_IF_T_HPP_ diff --git a/include/pressio/mpl/is_same.hpp b/include/pressio/mpl/is_same.hpp deleted file mode 100644 index f0815df00..000000000 --- a/include/pressio/mpl/is_same.hpp +++ /dev/null @@ -1,63 +0,0 @@ -/* -//@HEADER -// ************************************************************************ -// -// is_same.hpp -// Pressio -// Copyright 2019 -// National Technology & Engineering Solutions of Sandia, LLC (NTESS) -// -// Under the terms of Contract DE-NA0003525 with NTESS, the -// U.S. Government retains certain rights in this software. -// -// Pressio is licensed under BSD-3-Clause terms of use: -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived -// from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -// COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -// IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// -// Questions? Contact Francesco Rizzi (fnrizzi@sandia.gov) -// -// ************************************************************************ -//@HEADER -*/ - -#ifndef MPL_IS_SAME_HPP_ -#define MPL_IS_SAME_HPP_ - -namespace pressio { namespace mpl { - -template -struct is_same : std::is_same {}; - -// only avaialable from c++14 -// template -// inline constexpr bool is_same_v = is_same::value; - -}} // end namespace pressio::mpl - -#endif // MPL_IS_SAME_HPP_ diff --git a/include/pressio/mpl/is_std_complex.hpp b/include/pressio/mpl/is_std_complex.hpp index 6c75c3e0f..18f3fde9b 100644 --- a/include/pressio/mpl/is_std_complex.hpp +++ b/include/pressio/mpl/is_std_complex.hpp @@ -49,7 +49,10 @@ #ifndef MPL_IS_STD_COMPLEX_HPP_ #define MPL_IS_STD_COMPLEX_HPP_ -namespace pressio{ namespace mpl{ +#include +#include + +namespace pressio{ namespace mpl{ template @@ -57,10 +60,9 @@ struct is_std_complex : std::false_type{}; template struct is_std_complex + std::complex >::value > > : std::true_type{}; diff --git a/include/pressio/ode/concepts/ode_has_const_discrete_residual_jacobian_method.hpp b/include/pressio/ode/concepts/ode_has_const_discrete_residual_jacobian_method.hpp index 82709be44..adf128ff1 100644 --- a/include/pressio/ode/concepts/ode_has_const_discrete_residual_jacobian_method.hpp +++ b/include/pressio/ode/concepts/ode_has_const_discrete_residual_jacobian_method.hpp @@ -70,7 +70,7 @@ template < class ResidualType, class JacobianType> struct has_const_discrete_residual_jacobian_method< T, 1, StepType, IndVarType, state_t, ResidualType, JacobianType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype ( @@ -98,7 +98,7 @@ template < class ResidualType, class JacobianType> struct has_const_discrete_residual_jacobian_method< T, 2, StepType, IndVarType, state_t, ResidualType, JacobianType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype ( @@ -126,7 +126,7 @@ template < class ResidualType, class JacobianType> struct has_const_discrete_residual_jacobian_method< T, 3, StepType, IndVarType, state_t, ResidualType, JacobianType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype ( @@ -156,7 +156,7 @@ template < class ResidualType, class JacobianType> struct has_const_discrete_residual_jacobian_method< T, 4, StepType, IndVarType, state_t, ResidualType, JacobianType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype ( diff --git a/include/pressio/ode/concepts/ode_others.hpp b/include/pressio/ode/concepts/ode_others.hpp index cad84ce08..e5e214e1e 100644 --- a/include/pressio/ode/concepts/ode_others.hpp +++ b/include/pressio/ode/concepts/ode_others.hpp @@ -10,7 +10,7 @@ struct Steppable : std::false_type{}; template struct Steppable< T, - mpl::enable_if_t< + std::enable_if_t< ::pressio::has_independent_variable_typedef::value && ::pressio::has_state_typedef::value && std::is_void< @@ -34,7 +34,7 @@ struct SteppableWithAuxiliaryArgs : std::false_type{}; template struct SteppableWithAuxiliaryArgs< - mpl::enable_if_t< + std::enable_if_t< ::pressio::has_independent_variable_typedef::value && ::pressio::has_state_typedef::value && std::is_void< @@ -68,7 +68,7 @@ struct StateObserver : std::false_type{}; template struct StateObserver< T, IndVarType, StateType, - mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype( std::declval().operator() @@ -88,7 +88,7 @@ struct StateGuesser : std::false_type{}; template struct StateGuesser< T, IndVarType, StateType, - mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype( std::declval() @@ -110,7 +110,7 @@ struct StepSizePolicy : std::false_type{}; template struct StepSizePolicy< T, IndVarType, - mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype ( @@ -133,7 +133,7 @@ struct StepSizePolicyWithReductionScheme : std::false_type{}; template struct StepSizePolicyWithReductionScheme< T, IndVarType, - mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype ( diff --git a/include/pressio/ode/concepts/ode_predicates_for_system.hpp b/include/pressio/ode/concepts/ode_predicates_for_system.hpp index ef5b3909f..8dc8b8667 100644 --- a/include/pressio/ode/concepts/ode_predicates_for_system.hpp +++ b/include/pressio/ode/concepts/ode_predicates_for_system.hpp @@ -57,8 +57,8 @@ struct has_const_create_state_method_return_result : std::false_type{}; template struct has_const_create_state_method_return_result< T, StateType, - ::pressio::mpl::enable_if_t< - mpl::is_same< + std::enable_if_t< + std::is_same< StateType, decltype(std::declval().createState()) >::value @@ -73,9 +73,9 @@ struct has_const_create_rhs_method_return_result template struct has_const_create_rhs_method_return_result< T, RhsType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< !std::is_void::value and - mpl::is_same< + std::is_same< RhsType, decltype( std::declval().createRhs() @@ -92,9 +92,9 @@ struct has_const_create_mass_matrix_method_return_result template struct has_const_create_mass_matrix_method_return_result< T, MMType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< !std::is_void::value and - mpl::is_same< + std::is_same< MMType, decltype( std::declval().createMassMatrix() @@ -111,7 +111,7 @@ struct has_const_create_jacobian_method_return_result template struct has_const_create_jacobian_method_return_result< T, JacobianType, - mpl::enable_if_t< + std::enable_if_t< !std::is_void::value and std::is_same< JacobianType, @@ -130,9 +130,9 @@ struct has_const_create_discrete_residual_method_return_result template struct has_const_create_discrete_residual_method_return_result< T, ResultType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< !std::is_void::value and - mpl::is_same< + std::is_same< ResultType, decltype ( @@ -150,9 +150,9 @@ struct has_const_create_discrete_jacobian_method_return_result template struct has_const_create_discrete_jacobian_method_return_result< T, JacobianType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< !std::is_void::value and - mpl::is_same< + std::is_same< JacobianType, decltype( std::declval().createDiscreteJacobian() diff --git a/include/pressio/ode/concepts/ode_system.hpp b/include/pressio/ode/concepts/ode_system.hpp index e95489d6f..4137df05d 100644 --- a/include/pressio/ode/concepts/ode_system.hpp +++ b/include/pressio/ode/concepts/ode_system.hpp @@ -13,7 +13,7 @@ struct OdeSystem : std::false_type{}; template struct OdeSystem< T, - mpl::enable_if_t< + std::enable_if_t< ::pressio::has_independent_variable_typedef::value && ::pressio::has_state_typedef::value && ::pressio::has_rhs_typedef::value @@ -42,7 +42,7 @@ struct OdeSystemFusingRhsAndJacobian : std::false_type{}; template struct OdeSystemFusingRhsAndJacobian< T, - mpl::enable_if_t< + std::enable_if_t< ::pressio::has_independent_variable_typedef::value && ::pressio::has_state_typedef::value && ::pressio::has_rhs_typedef::value @@ -81,7 +81,7 @@ struct OdeSystemFusingMassMatrixAndRhs : std::false_type{}; template struct OdeSystemFusingMassMatrixAndRhs< T, - mpl::enable_if_t< + std::enable_if_t< ::pressio::has_independent_variable_typedef::value && ::pressio::has_state_typedef::value && ::pressio::has_rhs_typedef::value @@ -117,7 +117,7 @@ struct CompleteOdeSystem : std::false_type{}; template struct CompleteOdeSystem< T, - mpl::enable_if_t< + std::enable_if_t< ::pressio::has_independent_variable_typedef::value && ::pressio::has_state_typedef::value && ::pressio::has_rhs_typedef::value @@ -161,7 +161,7 @@ struct FullyDiscreteSystemWithJacobian : std::false_type{}; template struct FullyDiscreteSystemWithJacobian< T, NumStates, - mpl::enable_if_t< + std::enable_if_t< ::pressio::has_independent_variable_typedef::value && ::pressio::has_state_typedef::value && ::pressio::has_discrete_residual_typedef::value @@ -196,7 +196,7 @@ struct RealValuedOdeSystem : std::false_type{}; template struct RealValuedOdeSystem< - T, mpl::enable_if_t< + T, std::enable_if_t< OdeSystem::value && std::is_floating_point< scalar_trait_t >::value && std::is_floating_point< scalar_trait_t >::value @@ -212,7 +212,7 @@ struct RealValuedOdeSystemFusingRhsAndJacobian : std::false_type{}; template struct RealValuedOdeSystemFusingRhsAndJacobian< T, - mpl::enable_if_t< + std::enable_if_t< OdeSystemFusingRhsAndJacobian::value && std::is_floating_point< scalar_trait_t >::value && std::is_floating_point< scalar_trait_t >::value @@ -228,7 +228,7 @@ struct RealValuedOdeSystemFusingMassMatrixAndRhs : std::false_type{}; template struct RealValuedOdeSystemFusingMassMatrixAndRhs< - T, mpl::enable_if_t< + T, std::enable_if_t< OdeSystemFusingMassMatrixAndRhs::value && std::is_floating_point< scalar_trait_t >::value && std::is_floating_point< scalar_trait_t >::value @@ -245,7 +245,7 @@ struct RealValuedCompleteOdeSystem : std::false_type{}; template struct RealValuedCompleteOdeSystem< - T, mpl::enable_if_t< + T, std::enable_if_t< CompleteOdeSystem::value && std::is_floating_point< scalar_trait_t >::value && std::is_floating_point< scalar_trait_t >::value @@ -263,7 +263,7 @@ struct RealValuedFullyDiscreteSystemWithJacobian : std::false_type{}; template struct RealValuedFullyDiscreteSystemWithJacobian< T, NumStates, - mpl::enable_if_t< + std::enable_if_t< FullyDiscreteSystemWithJacobian::value && std::is_floating_point< scalar_trait_t >::value && std::is_floating_point< scalar_trait_t >::value @@ -284,7 +284,7 @@ struct ImplicitResidualJacobianPolicy : std::false_type{}; template struct ImplicitResidualJacobianPolicy< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::has_independent_variable_typedef::value && ::pressio::has_state_typedef::value && ::pressio::has_residual_typedef::value diff --git a/include/pressio/ode/impl/ode_advance_to_target_time.hpp b/include/pressio/ode/impl/ode_advance_to_target_time.hpp index 380084644..c51bfd7bf 100644 --- a/include/pressio/ode/impl/ode_advance_to_target_time.hpp +++ b/include/pressio/ode/impl/ode_advance_to_target_time.hpp @@ -57,7 +57,7 @@ template < bool useExtraArgs, class StepSizePolicyType, class IndVarType, class ...Args > -mpl::enable_if_t< useExtraArgs==true > +std::enable_if_t< useExtraArgs==true > call_dt_policy(StepSizePolicyType && dtPolicy, const StepCount & step, const ::pressio::ode::StepStartAt & time, @@ -71,7 +71,7 @@ template< bool useExtraArgs, class StepSizePolicyType, class IndVarType, class ...Args > -mpl::enable_if_t< useExtraArgs==false > +std::enable_if_t< useExtraArgs==false > call_dt_policy(StepSizePolicyType && dtPolicy, const StepCount & step, const ::pressio::ode::StepStartAt time, diff --git a/include/pressio/ode/impl/ode_explicit_stepper_with_mass_matrix.hpp b/include/pressio/ode/impl/ode_explicit_stepper_with_mass_matrix.hpp index 1e1489b85..4c3b2183b 100644 --- a/include/pressio/ode/impl/ode_explicit_stepper_with_mass_matrix.hpp +++ b/include/pressio/ode/impl/ode_explicit_stepper_with_mass_matrix.hpp @@ -139,7 +139,7 @@ class ExplicitStepperWithMassMatrixImpl // const mass_matrix_type & M, // const RightHandSideType & b){ { solver.solve(M, x, b) }; } // #else - // mpl::enable_if_t< + // std::enable_if_t< // std::is_void< // decltype( // std::declval().solve( diff --git a/include/pressio/ode/impl/ode_implicit_discrete_jacobian.hpp b/include/pressio/ode/impl/ode_implicit_discrete_jacobian.hpp index 0fb8f9345..ba09e9316 100644 --- a/include/pressio/ode/impl/ode_implicit_discrete_jacobian.hpp +++ b/include/pressio/ode/impl/ode_implicit_discrete_jacobian.hpp @@ -57,7 +57,7 @@ namespace pressio{ namespace ode{ namespace impl{ on output, jac contains the discrete jacobian */ template -mpl::enable_if_t< +std::enable_if_t< std::is_convertible< StepSizeType, typename Traits::scalar_type >::value @@ -80,7 +80,7 @@ discrete_jacobian(::pressio::ode::BDF1, on output, jac contains the discrete jacobian */ template -mpl::enable_if_t< +std::enable_if_t< ::pressio::all_have_traits_and_same_scalar::value && std::is_convertible< StepSizeType, typename Traits::scalar_type @@ -104,7 +104,7 @@ discrete_jacobian(::pressio::ode::BDF1, - on output, jac contains the discrete jacobian */ template -mpl::enable_if_t< +std::enable_if_t< std::is_convertible< StepSizeType, typename Traits::scalar_type >::value @@ -127,7 +127,7 @@ discrete_jacobian(::pressio::ode::BDF2, - on output, jac contains the discrete jacobian */ template -mpl::enable_if_t< +std::enable_if_t< ::pressio::all_have_traits_and_same_scalar::value && std::is_convertible< StepSizeType, typename Traits::scalar_type @@ -152,7 +152,7 @@ discrete_jacobian(::pressio::ode::BDF2, - on output, jac contains the discrete jacobian */ template -mpl::enable_if_t< +std::enable_if_t< std::is_convertible< StepSizeType, typename Traits::scalar_type >::value diff --git a/include/pressio/ode/impl/ode_implicit_discrete_residual.hpp b/include/pressio/ode/impl/ode_implicit_discrete_residual.hpp index e3dfed48f..42e813eb8 100644 --- a/include/pressio/ode/impl/ode_implicit_discrete_residual.hpp +++ b/include/pressio/ode/impl/ode_implicit_discrete_residual.hpp @@ -63,7 +63,7 @@ template < class StencilStatesContainerType, class StepSizeType > -mpl::enable_if_t< +std::enable_if_t< ::pressio::all_have_traits_and_same_scalar::value && std::is_convertible< StepSizeType, typename Traits::scalar_type @@ -100,7 +100,7 @@ template < class StencilStatesContainerType, class StepSizeType > -mpl::enable_if_t< +std::enable_if_t< ::pressio::all_have_traits_and_same_scalar::value && std::is_convertible< StepSizeType, typename Traits::scalar_type @@ -142,7 +142,7 @@ template < class StencilStatesContainerType, class StepSizeType > -mpl::enable_if_t< +std::enable_if_t< ::pressio::all_have_traits_and_same_scalar::value && std::is_convertible< StepSizeType, typename Traits::scalar_type @@ -183,7 +183,7 @@ template < class StencilStatesContainerType, class StepSizeType > -mpl::enable_if_t< +std::enable_if_t< ::pressio::all_have_traits_and_same_scalar::value && std::is_convertible< StepSizeType, typename Traits::scalar_type @@ -233,7 +233,7 @@ template < class StencilVelocitiesContainerType, class StepSizeType > -mpl::enable_if_t< +std::enable_if_t< ::pressio::all_have_traits_and_same_scalar::value && std::is_convertible< StepSizeType, typename Traits::scalar_type diff --git a/include/pressio/ode/impl/ode_implicit_stepper_arbitrary.hpp b/include/pressio/ode/impl/ode_implicit_stepper_arbitrary.hpp index ad80502db..712a67def 100644 --- a/include/pressio/ode/impl/ode_implicit_stepper_arbitrary.hpp +++ b/include/pressio/ode/impl/ode_implicit_stepper_arbitrary.hpp @@ -135,7 +135,7 @@ class StepperArbitrary // 1 aux states, 2 total states template< std::size_t _numAuxStates = numAuxStates> - mpl::enable_if_t< _numAuxStates==1 > + std::enable_if_t< _numAuxStates==1 > residualAndJacobian(const state_type & odeState, residual_type & R, #ifdef PRESSIO_ENABLE_CXX17 @@ -157,7 +157,7 @@ class StepperArbitrary // 2 aux states, 3 total states template< std::size_t _numAuxStates = numAuxStates> - mpl::enable_if_t< _numAuxStates==2 > + std::enable_if_t< _numAuxStates==2 > residualAndJacobian(const state_type & odeState, residual_type & R, #ifdef PRESSIO_ENABLE_CXX17 @@ -181,7 +181,7 @@ class StepperArbitrary // 3 aux states, 4 total states template< std::size_t _numAuxStates = numAuxStates> - mpl::enable_if_t< _numAuxStates==3 > + std::enable_if_t< _numAuxStates==3 > residualAndJacobian(const state_type & odeState, residual_type & R, #ifdef PRESSIO_ENABLE_CXX17 @@ -207,7 +207,7 @@ class StepperArbitrary private: // one aux states template - mpl::enable_if_t + std::enable_if_t updateAuxiliaryStorage(const StateType & odeState) { auto & y_n = stencilStates_(ode::n()); @@ -216,7 +216,7 @@ class StepperArbitrary } template - mpl::enable_if_t + std::enable_if_t rollBackStates(StateType & odeState) { auto & y_n = stencilStates_(ode::n()); @@ -226,7 +226,7 @@ class StepperArbitrary // two aux states template - mpl::enable_if_t + std::enable_if_t updateAuxiliaryStorage(const StateType & odeState) { auto & y_n = stencilStates_(ode::n()); @@ -237,7 +237,7 @@ class StepperArbitrary } template - mpl::enable_if_t + std::enable_if_t rollBackStates(StateType & odeState) { auto & y_n = stencilStates_(ode::n()); @@ -249,7 +249,7 @@ class StepperArbitrary // three aux states template - mpl::enable_if_t + std::enable_if_t updateAuxiliaryStorage(const StateType & odeState) { auto & y_n = stencilStates_(ode::n()); @@ -262,7 +262,7 @@ class StepperArbitrary } template - mpl::enable_if_t + std::enable_if_t rollBackStates(StateType & odeState) { auto & y_n = stencilStates_(ode::n()); diff --git a/include/pressio/ode/impl/ode_stencil_data_container_static.hpp b/include/pressio/ode/impl/ode_stencil_data_container_static.hpp index f9c989849..03e7eae94 100644 --- a/include/pressio/ode/impl/ode_stencil_data_container_static.hpp +++ b/include/pressio/ode/impl/ode_stencil_data_container_static.hpp @@ -67,11 +67,11 @@ class StencilDataContainerStaticImpl data_type data_; public: - template = 0> + template = 0> StencilDataContainerStaticImpl(){} // constructor for n == 1 - template = 0> + template = 0> StencilDataContainerStaticImpl(ValueType const & y) : data_{::pressio::ops::clone(y)} { @@ -79,7 +79,7 @@ class StencilDataContainerStaticImpl } // constructor for n == 2 - template = 0> + template = 0> StencilDataContainerStaticImpl(ValueType const & y) : data_{::pressio::ops::clone(y), ::pressio::ops::clone(y)}{ @@ -87,7 +87,7 @@ class StencilDataContainerStaticImpl } // constructor for n == 3 - template = 0> + template = 0> StencilDataContainerStaticImpl(ValueType const & y) : data_{::pressio::ops::clone(y), ::pressio::ops::clone(y), @@ -96,7 +96,7 @@ class StencilDataContainerStaticImpl } // constructor for n == 4 - template = 0> + template = 0> StencilDataContainerStaticImpl(ValueType const & y) : data_{::pressio::ops::clone(y), ::pressio::ops::clone(y), @@ -184,18 +184,18 @@ class StencilDataContainerStaticImpl data_type data_; public: - template = 0> + template = 0> StencilDataContainerStaticImpl(){} // constructor for n == 1 - template = 0> + template = 0> StencilDataContainerStaticImpl(ValueType const & y) : data_{::pressio::ops::clone(y)}{ setZero(); } // constructor for n == 2 - template = 0> + template = 0> StencilDataContainerStaticImpl(ValueType const & y) : data_{::pressio::ops::clone(y), ::pressio::ops::clone(y)}{ @@ -203,7 +203,7 @@ class StencilDataContainerStaticImpl } // constructor for n == 3 - template = 0> + template = 0> StencilDataContainerStaticImpl(ValueType const & y) : data_{::pressio::ops::clone(y), ::pressio::ops::clone(y), @@ -212,7 +212,7 @@ class StencilDataContainerStaticImpl } // constructor for n == 4 - template = 0> + template = 0> StencilDataContainerStaticImpl(ValueType const & y) : data_{::pressio::ops::clone(y), ::pressio::ops::clone(y), diff --git a/include/pressio/ode/ode_advance_n_steps.hpp b/include/pressio/ode/ode_advance_n_steps.hpp index 17be1f3c3..b4a504549 100644 --- a/include/pressio/ode/ode_advance_n_steps.hpp +++ b/include/pressio/ode/ode_advance_n_steps.hpp @@ -64,7 +64,7 @@ template requires Steppable void #else - mpl::enable_if_t< Steppable::value > + std::enable_if_t< Steppable::value > #endif advance_n_steps(StepperType & stepper, StateType & state, @@ -91,7 +91,7 @@ template< class IndVarType > #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< Steppable::value && StepSizePolicy::value > @@ -125,7 +125,7 @@ template< class IndVarType > #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< Steppable::value && StateObserver::value > @@ -160,7 +160,7 @@ template< class StepSizePolicyType, class IndVarType> #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< Steppable::value && StepSizePolicy::value && StateObserver::value diff --git a/include/pressio/ode/ode_advance_n_steps_variadic.hpp b/include/pressio/ode/ode_advance_n_steps_variadic.hpp index 65090c544..e39285087 100644 --- a/include/pressio/ode/ode_advance_n_steps_variadic.hpp +++ b/include/pressio/ode/ode_advance_n_steps_variadic.hpp @@ -64,7 +64,7 @@ template< class AuxT, class ...Args> #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< SteppableWithAuxiliaryArgs::value > #else @@ -102,7 +102,7 @@ template< class AuxT, class ...Args> #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< SteppableWithAuxiliaryArgs::value && StepSizePolicy::value > @@ -141,7 +141,7 @@ template< class AuxT, class ...Args> #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< SteppableWithAuxiliaryArgs::value && StateObserver::value > @@ -182,7 +182,7 @@ template< class AuxT, class ...Args> #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< SteppableWithAuxiliaryArgs::value && StepSizePolicy::value && StateObserver::value diff --git a/include/pressio/ode/ode_advance_n_steps_with_guesser.hpp b/include/pressio/ode/ode_advance_n_steps_with_guesser.hpp index 7749943dd..47114512a 100644 --- a/include/pressio/ode/ode_advance_n_steps_with_guesser.hpp +++ b/include/pressio/ode/ode_advance_n_steps_with_guesser.hpp @@ -63,7 +63,7 @@ template< class IndVarType > #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< Steppable::value && StateGuesser::value > @@ -98,7 +98,7 @@ template< class IndVarType > #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< Steppable::value && StepSizePolicy::value && StateGuesser::value @@ -135,7 +135,7 @@ template< class IndVarType > #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< Steppable::value && StateGuesser::value && StateObserver::value @@ -173,7 +173,7 @@ template< class IndVarType > #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< Steppable::value && StepSizePolicy::value && StateGuesser::value diff --git a/include/pressio/ode/ode_advance_n_steps_with_guesser_variadic.hpp b/include/pressio/ode/ode_advance_n_steps_with_guesser_variadic.hpp index ca8936d48..db1286a29 100644 --- a/include/pressio/ode/ode_advance_n_steps_with_guesser_variadic.hpp +++ b/include/pressio/ode/ode_advance_n_steps_with_guesser_variadic.hpp @@ -63,7 +63,7 @@ template< class AuxT, class ...Args> #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< SteppableWithAuxiliaryArgs::value && StateGuesser::value > @@ -102,7 +102,7 @@ template< class AuxT, class ...Args> #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< SteppableWithAuxiliaryArgs::value && StepSizePolicy::value && StateGuesser::value @@ -143,7 +143,7 @@ template< class AuxT, class ...Args> #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< SteppableWithAuxiliaryArgs::value && StateGuesser::value && StateObserver::value @@ -185,7 +185,7 @@ template< class AuxT, class ...Args> #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< SteppableWithAuxiliaryArgs::value && StepSizePolicy::value && StateGuesser::value diff --git a/include/pressio/ode/ode_advance_to_target_point.hpp b/include/pressio/ode/ode_advance_to_target_point.hpp index 40557fcef..01278bcef 100644 --- a/include/pressio/ode/ode_advance_to_target_point.hpp +++ b/include/pressio/ode/ode_advance_to_target_point.hpp @@ -62,7 +62,7 @@ template< class IndVarType > #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< Steppable::value && StepSizePolicy::value > @@ -95,7 +95,7 @@ template< class IndVarType > #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< Steppable::value && StepSizePolicy::value && StateObserver::value diff --git a/include/pressio/ode/ode_advance_to_target_point_variadic.hpp b/include/pressio/ode/ode_advance_to_target_point_variadic.hpp index 492cf1bcd..c0eaa1516 100644 --- a/include/pressio/ode/ode_advance_to_target_point_variadic.hpp +++ b/include/pressio/ode/ode_advance_to_target_point_variadic.hpp @@ -64,7 +64,7 @@ template< class ...Args > #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< SteppableWithAuxiliaryArgs::value && StepSizePolicy::value && !StateObserver::value @@ -105,7 +105,7 @@ template< class ...Args > #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< SteppableWithAuxiliaryArgs::value && StepSizePolicy::value && StateObserver::value diff --git a/include/pressio/ode/ode_advance_to_target_point_with_step_recovery.hpp b/include/pressio/ode/ode_advance_to_target_point_with_step_recovery.hpp index f88878174..f18314111 100644 --- a/include/pressio/ode/ode_advance_to_target_point_with_step_recovery.hpp +++ b/include/pressio/ode/ode_advance_to_target_point_with_step_recovery.hpp @@ -62,7 +62,7 @@ template< class IndVarType > #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< StronglySteppable::value && StepSizePolicyWithReductionScheme::value > @@ -96,7 +96,7 @@ template< class IndVarType > #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< StronglySteppable::value && StepSizePolicyWithReductionScheme::value && StateObserver::value diff --git a/include/pressio/ode/ode_advance_to_target_point_with_step_recovery_variadic.hpp b/include/pressio/ode/ode_advance_to_target_point_with_step_recovery_variadic.hpp index 99abb1dd5..45e8e465c 100644 --- a/include/pressio/ode/ode_advance_to_target_point_with_step_recovery_variadic.hpp +++ b/include/pressio/ode/ode_advance_to_target_point_with_step_recovery_variadic.hpp @@ -64,7 +64,7 @@ template< class ...Args > #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< StronglySteppableWithAuxiliaryArgs::value && StepSizePolicyWithReductionScheme::value && !StateObserver::value @@ -106,7 +106,7 @@ template< class ...Args > #if not defined PRESSIO_ENABLE_CXX20 - mpl::enable_if_t< + std::enable_if_t< StronglySteppableWithAuxiliaryArgs::value && StepSizePolicyWithReductionScheme::value && StateObserver::value diff --git a/include/pressio/ode/ode_create_explicit_stepper.hpp b/include/pressio/ode/ode_create_explicit_stepper.hpp index 8f044ff56..eb65f3c73 100644 --- a/include/pressio/ode/ode_create_explicit_stepper.hpp +++ b/include/pressio/ode/ode_create_explicit_stepper.hpp @@ -80,7 +80,7 @@ template #else template< class SystemType, - mpl::enable_if_t< + std::enable_if_t< RealValuedOdeSystem>::value, int > = 0 > @@ -134,7 +134,7 @@ template #else template< class SystemType, - mpl::enable_if_t< + std::enable_if_t< RealValuedOdeSystemFusingMassMatrixAndRhs>::value, int > = 0 > diff --git a/include/pressio/ode/ode_create_implicit_stepper.hpp b/include/pressio/ode/ode_create_implicit_stepper.hpp index 0dc710370..ce02b2638 100644 --- a/include/pressio/ode/ode_create_implicit_stepper.hpp +++ b/include/pressio/ode/ode_create_implicit_stepper.hpp @@ -90,7 +90,7 @@ template #else template< class SystemType, - mpl::enable_if_t< + std::enable_if_t< RealValuedOdeSystemFusingRhsAndJacobian>::value, int > = 0 > @@ -160,7 +160,7 @@ template #else template< class SystemType, - mpl::enable_if_t< + std::enable_if_t< RealValuedCompleteOdeSystem>::value, int > = 0 > @@ -196,7 +196,7 @@ auto create_implicit_stepper(StepScheme schemeName, // (2) template< class ResidualJacobianPolicyType #if not defined PRESSIO_ENABLE_CXX20 - ,mpl::enable_if_t< + ,std::enable_if_t< ::pressio::ode::ImplicitResidualJacobianPolicy< mpl::remove_cvref_t>::value, int > = 0 diff --git a/include/pressio/ops/eigen/ops_abs.hpp b/include/pressio/ops/eigen/ops_abs.hpp index 37f5cb4d3..8c55461ee 100644 --- a/include/pressio/ops/eigen/ops_abs.hpp +++ b/include/pressio/ops/eigen/ops_abs.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // common abs constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/eigen/ops_add_to_diagonal.hpp b/include/pressio/ops/eigen/ops_add_to_diagonal.hpp index 4be5cd6b1..3d8600762 100644 --- a/include/pressio/ops/eigen/ops_add_to_diagonal.hpp +++ b/include/pressio/ops/eigen/ops_add_to_diagonal.hpp @@ -83,7 +83,7 @@ namespace ops{ to work, value has to be convertible to the the scalar type of ide */ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_sparse_matrix_eigen::value && std::is_convertible::scalar_type>::value > @@ -99,7 +99,7 @@ add_to_diagonal(T & o, const ScalarType & value) operation is well-formed */ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_dense_matrix_eigen::value && std::is_assignable< decltype( std::declval()(0,0) ), diff --git a/include/pressio/ops/eigen/ops_clone.hpp b/include/pressio/ops/eigen/ops_clone.hpp index e3fa921ec..d114f3186 100644 --- a/include/pressio/ops/eigen/ops_clone.hpp +++ b/include/pressio/ops/eigen/ops_clone.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::Traits::rank == 1 || ::pressio::Traits::rank == 2) && ::pressio::is_native_container_eigen::value, diff --git a/include/pressio/ops/eigen/ops_deep_copy.hpp b/include/pressio/ops/eigen/ops_deep_copy.hpp index 1f10d92f7..eb21abf59 100644 --- a/include/pressio/ops/eigen/ops_deep_copy.hpp +++ b/include/pressio/ops/eigen/ops_deep_copy.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_native_container_eigen::value && ::pressio::is_native_container_eigen::value && ::pressio::Traits::rank == ::pressio::Traits::rank diff --git a/include/pressio/ops/eigen/ops_dot.hpp b/include/pressio/ops/eigen/ops_dot.hpp index 3bd182ba9..b0bafa345 100644 --- a/include/pressio/ops/eigen/ops_dot.hpp +++ b/include/pressio/ops/eigen/ops_dot.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // dot common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -80,7 +80,7 @@ dot(const T1 & vecA, const T2 & vecB, DotResult & result) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // dot common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/eigen/ops_elementwise_multiply.hpp b/include/pressio/ops/eigen/ops_elementwise_multiply.hpp index 72f9f7799..36b9935a0 100644 --- a/include/pressio/ops/eigen/ops_elementwise_multiply.hpp +++ b/include/pressio/ops/eigen/ops_elementwise_multiply.hpp @@ -56,7 +56,7 @@ namespace pressio{ namespace ops{ //---------------------------------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // common elementwise_multiply constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/eigen/ops_extent.hpp b/include/pressio/ops/eigen/ops_extent.hpp index 9bfc23066..bc5088ad3 100644 --- a/include/pressio/ops/eigen/ops_extent.hpp +++ b/include/pressio/ops/eigen/ops_extent.hpp @@ -52,14 +52,14 @@ namespace pressio{ namespace ops{ template -mpl::enable_if_t< ::pressio::is_vector_eigen::value, std::size_t > +std::enable_if_t< ::pressio::is_vector_eigen::value, std::size_t > extent(const T & objectIn, const IndexType i) { return (i == 0) ? std::size_t(objectIn.size()) : std::size_t(1); } template -mpl::enable_if_t< +std::enable_if_t< ::pressio::is_dense_matrix_eigen::value or ::pressio::is_sparse_matrix_eigen::value, std::size_t > extent(const T & objectIn, const IndexType i) @@ -76,7 +76,7 @@ extent(const T & objectIn, const IndexType i) } template -mpl::enable_if_t< +std::enable_if_t< ::pressio::is_expression_acting_on_eigen::value, std::size_t > extent(const T & objectIn, const IndexType i) { diff --git a/include/pressio/ops/eigen/ops_fill.hpp b/include/pressio/ops/eigen/ops_fill.hpp index 9551d1ca2..43394a6f3 100644 --- a/include/pressio/ops/eigen/ops_fill.hpp +++ b/include/pressio/ops/eigen/ops_fill.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace ops{ native Eigen ops which use expressions, so value has to be convertible to the the scalar type of the object */ template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_native_container_eigen::value || ::pressio::is_expression_acting_on_eigen::value) && std::is_convertible::scalar_type>::value diff --git a/include/pressio/ops/eigen/ops_level2.hpp b/include/pressio/ops/eigen/ops_level2.hpp index 636e5d147..f3cebb1d6 100644 --- a/include/pressio/ops/eigen/ops_level2.hpp +++ b/include/pressio/ops/eigen/ops_level2.hpp @@ -69,7 +69,7 @@ template < class A_type, class x_type, class y_type, class alpha_t, class beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -121,7 +121,7 @@ product(::pressio::nontranspose /*unused*/, template < class y_type, class A_type, class x_type, class alpha_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -161,7 +161,7 @@ template < class A_type, class x_type, class y_type, class alpha_t, class beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -211,7 +211,7 @@ product(::pressio::transpose /*unused*/, // op(A) = A^T, construct result //------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/eigen/ops_level3.hpp b/include/pressio/ops/eigen/ops_level3.hpp index 2f2bf7f2a..242ee668a 100644 --- a/include/pressio/ops/eigen/ops_level3.hpp +++ b/include/pressio/ops/eigen/ops_level3.hpp @@ -62,7 +62,7 @@ template < class A_type, class B_type, class C_type, class alpha_t, class beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -114,7 +114,7 @@ template < class A_type, class B_type, class C_type, class alpha_t, class beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -163,7 +163,7 @@ product(::pressio::nontranspose /*unused*/, * special case A==B and op(A) = transpose **********************************/ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -204,7 +204,7 @@ product(::pressio::transpose /*unused*/, } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -240,7 +240,7 @@ product(::pressio::transpose modeA, // template < class A_type, class B_type, class ScalarType, class C_type> -// ::pressio::mpl::enable_if_t< +// std::enable_if_t< // ::pressio::is_dense_matrix_eigen::value and // ::pressio::is_dense_matrix_eigen::value // > @@ -265,7 +265,7 @@ product(::pressio::transpose modeA, // } // template < class A_type, class B_type, class ScalarType, class C_type> -// ::pressio::mpl::enable_if_t< +// std::enable_if_t< // ::pressio::is_dense_matrix_eigen::value and // ::pressio::is_dense_matrix_eigen::value // > diff --git a/include/pressio/ops/eigen/ops_min_max.hpp b/include/pressio/ops/eigen/ops_min_max.hpp index f63d051bf..49cbe134e 100644 --- a/include/pressio/ops/eigen/ops_min_max.hpp +++ b/include/pressio/ops/eigen/ops_min_max.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific (::pressio::is_native_container_eigen::value || ::pressio::is_expression_acting_on_eigen::value) @@ -67,7 +67,7 @@ max(const T & obj) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific (::pressio::is_native_container_eigen::value || ::pressio::is_expression_acting_on_eigen::value) diff --git a/include/pressio/ops/eigen/ops_norms.hpp b/include/pressio/ops/eigen/ops_norms.hpp index 0ece06ced..21d119dfb 100644 --- a/include/pressio/ops/eigen/ops_norms.hpp +++ b/include/pressio/ops/eigen/ops_norms.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // norm-1 common constraints ::pressio::Traits::rank == 1 // TPL/container specific @@ -69,7 +69,7 @@ norm1(const T & a) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // norm-2 common constraints ::pressio::Traits::rank == 1 // TPL/container specific diff --git a/include/pressio/ops/eigen/ops_pow.hpp b/include/pressio/ops/eigen/ops_pow.hpp index bcfa72714..cfb8f71ff 100644 --- a/include/pressio/ops/eigen/ops_pow.hpp +++ b/include/pressio/ops/eigen/ops_pow.hpp @@ -53,7 +53,7 @@ namespace pressio{ namespace ops{ // x^exponent template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::Traits::rank==1 and (::pressio::is_vector_eigen::value or ::pressio::is_expression_acting_on_eigen::value) @@ -69,7 +69,7 @@ pow(T & x, // y= x^exponent template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::Traits::rank==1 and ::pressio::Traits::rank==1 and (::pressio::is_native_container_eigen::value or ::pressio::is_expression_acting_on_eigen::value) @@ -90,7 +90,7 @@ pow(T1 & y, // y = |x|^exponent, expo>0 template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::Traits::rank==1 and ::pressio::Traits::rank==1 and (::pressio::is_native_container_eigen::value or ::pressio::is_expression_acting_on_eigen::value) @@ -118,7 +118,7 @@ abs_pow(T1 & y, // y = |x|^exponent, expo<0 template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::Traits::rank==1 and ::pressio::Traits::rank==1 and (::pressio::is_native_container_eigen::value or ::pressio::is_expression_acting_on_eigen::value) diff --git a/include/pressio/ops/eigen/ops_rank1_update.hpp b/include/pressio/ops/eigen/ops_rank1_update.hpp index 257dd2352..e7323c6a9 100644 --- a/include/pressio/ops/eigen/ops_rank1_update.hpp +++ b/include/pressio/ops/eigen/ops_rank1_update.hpp @@ -62,7 +62,7 @@ namespace pressio{ namespace ops{ // computing: V = a * V + b * V1 //---------------------------------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -109,7 +109,7 @@ template< class T, class T1, class T2, class a_Type, class b_Type, class c_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -166,7 +166,7 @@ template< class T, class T1, class T2, class T3, class a_Type, class b_Type, class c_Type, class d_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -233,7 +233,7 @@ template< class T, class T1, class T2, class T3, class T4, class a_Type, class b_Type, class c_Type, class d_Type, class e_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/eigen/ops_rank2_update.hpp b/include/pressio/ops/eigen/ops_rank2_update.hpp index 1574f459a..ffa8847c0 100644 --- a/include/pressio/ops/eigen/ops_rank2_update.hpp +++ b/include/pressio/ops/eigen/ops_rank2_update.hpp @@ -62,7 +62,7 @@ namespace pressio{ namespace ops{ // M = a * M + b * M1 //---------------------------------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 diff --git a/include/pressio/ops/eigen/ops_resize.hpp b/include/pressio/ops/eigen/ops_resize.hpp index 0b88d0c97..b8cbd0b98 100644 --- a/include/pressio/ops/eigen/ops_resize.hpp +++ b/include/pressio/ops/eigen/ops_resize.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_eigen::value > resize(T & o, ::pressio::ops::impl::ordinal_t newSize) @@ -65,7 +65,7 @@ resize(T & o, ::pressio::ops::impl::ordinal_t newSize) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_dense_matrix_eigen::value or ::pressio::is_sparse_matrix_eigen::value > diff --git a/include/pressio/ops/eigen/ops_scale.hpp b/include/pressio/ops/eigen/ops_scale.hpp index 22d07e82e..f10cb4ef9 100644 --- a/include/pressio/ops/eigen/ops_scale.hpp +++ b/include/pressio/ops/eigen/ops_scale.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace ops{ Eigen native operations which are based on expressions and require coefficients to be convertible to scalar types of the vector/matrix operand */ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints (::pressio::Traits::rank == 1 || ::pressio::Traits::rank == 2) diff --git a/include/pressio/ops/eigen/ops_set_zero.hpp b/include/pressio/ops/eigen/ops_set_zero.hpp index 47a8af4e4..0bd4c3b37 100644 --- a/include/pressio/ops/eigen/ops_set_zero.hpp +++ b/include/pressio/ops/eigen/ops_set_zero.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_native_container_eigen::value and !::pressio::is_sparse_matrix_eigen::value) or ::pressio::is_expression_acting_on_eigen::value @@ -63,7 +63,7 @@ set_zero(T & o) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_sparse_matrix_eigen::value > set_zero(T & M) diff --git a/include/pressio/ops/epetra/ops_abs.hpp b/include/pressio/ops/epetra/ops_abs.hpp index 3d98cca86..b71d2b36f 100644 --- a/include/pressio/ops/epetra/ops_abs.hpp +++ b/include/pressio/ops/epetra/ops_abs.hpp @@ -53,7 +53,7 @@ namespace pressio{ namespace ops{ // y= abs(x) template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_epetra::value && ::pressio::is_vector_epetra::value > diff --git a/include/pressio/ops/epetra/ops_clone.hpp b/include/pressio/ops/epetra/ops_clone.hpp index 475c03692..97836dde9 100644 --- a/include/pressio/ops/epetra/ops_clone.hpp +++ b/include/pressio/ops/epetra/ops_clone.hpp @@ -53,7 +53,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_vector_epetra::value || ::pressio::is_multi_vector_epetra::value), T> clone(const T & clonable) diff --git a/include/pressio/ops/epetra/ops_deep_copy.hpp b/include/pressio/ops/epetra/ops_deep_copy.hpp index 20c5c8cad..7ae468462 100644 --- a/include/pressio/ops/epetra/ops_deep_copy.hpp +++ b/include/pressio/ops/epetra/ops_deep_copy.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific ::pressio::is_vector_epetra::value or ::pressio::is_multi_vector_epetra::value diff --git a/include/pressio/ops/epetra/ops_dot.hpp b/include/pressio/ops/epetra/ops_dot.hpp index ef89692eb..99ce920ee 100644 --- a/include/pressio/ops/epetra/ops_dot.hpp +++ b/include/pressio/ops/epetra/ops_dot.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific ::pressio::is_vector_epetra::value && ::pressio::is_vector_epetra::value @@ -76,7 +76,7 @@ dot(const T1 & a, } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific ::pressio::is_vector_epetra::value && ::pressio::is_vector_epetra::value diff --git a/include/pressio/ops/epetra/ops_elementwise_multiply.hpp b/include/pressio/ops/epetra/ops_elementwise_multiply.hpp index afb49c412..50b09c8c4 100644 --- a/include/pressio/ops/epetra/ops_elementwise_multiply.hpp +++ b/include/pressio/ops/epetra/ops_elementwise_multiply.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace ops{ // computing elementwise: y = beta * y + alpha * x * z //---------------------------------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // common elementwise_multiply constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/epetra/ops_extent.hpp b/include/pressio/ops/epetra/ops_extent.hpp index d5a1c6a06..e72de93e6 100644 --- a/include/pressio/ops/epetra/ops_extent.hpp +++ b/include/pressio/ops/epetra/ops_extent.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_epetra::value, std::size_t> extent(const T & oIn, const IndexType i) { @@ -60,7 +60,7 @@ extent(const T & oIn, const IndexType i) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_multi_vector_epetra::value, std::size_t > extent(const T & oIn, const IndexType i) { diff --git a/include/pressio/ops/epetra/ops_fill.hpp b/include/pressio/ops/epetra/ops_fill.hpp index 9806316b7..71fe3f657 100644 --- a/include/pressio/ops/epetra/ops_fill.hpp +++ b/include/pressio/ops/epetra/ops_fill.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_vector_epetra::value || ::pressio::is_multi_vector_epetra::value) && std::is_convertible::scalar_type>::value diff --git a/include/pressio/ops/epetra/ops_level2.hpp b/include/pressio/ops/epetra/ops_level2.hpp index 1c71c8591..e014579db 100644 --- a/include/pressio/ops/epetra/ops_level2.hpp +++ b/include/pressio/ops/epetra/ops_level2.hpp @@ -95,7 +95,7 @@ template < typename y_type, typename beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -135,7 +135,7 @@ template < typename y_type, typename beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -190,7 +190,7 @@ template < typename y_type, typename beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -231,7 +231,7 @@ template < typename y_type, typename beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -284,7 +284,7 @@ product(::pressio::transpose /*unused*/, // while y is distributed, so A*x only fills the corresponding part of y // *-------------------------------------------------------------------*/ // template < typename A_type, typename x_type, typename scalar_type> -// ::pressio::mpl::enable_if_t< +// std::enable_if_t< // ::pressio::containers::predicates::is_multi_vector_wrapper_eigen::value and // ::pressio::containers::predicates::is_vector_wrapper_eigen::value // > @@ -296,7 +296,7 @@ product(::pressio::transpose /*unused*/, // ::pressio::containers::Vector & y) // { // static_assert -// (mpl::is_same< +// (std::is_same< // scalar_type, typename ::pressio::containers::details::traits::scalar_t>::value, // "Scalar compatibility broken"); @@ -316,7 +316,7 @@ product(::pressio::transpose /*unused*/, // * y is vector wrapper Eigen // *-------------------------------------------------------------------*/ // template -// ::pressio::mpl::enable_if_t< +// std::enable_if_t< // ::pressio::containers::predicates::is_multi_vector_wrapper_eigen::value and // ::pressio::containers::predicates::is_vector_wrapper_eigen::value // > diff --git a/include/pressio/ops/epetra/ops_level3.hpp b/include/pressio/ops/epetra/ops_level3.hpp index 80f647d77..f21794e60 100644 --- a/include/pressio/ops/epetra/ops_level3.hpp +++ b/include/pressio/ops/epetra/ops_level3.hpp @@ -66,7 +66,7 @@ C is an Eigen dense matrix template < typename A_type, typename B_type, typename alpha_type, typename beta_type, typename C_type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -125,7 +125,7 @@ C is an Eigen dense matrix returned by the function template < typename C_type, typename A_type, typename B_type, typename alpha_type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -169,7 +169,7 @@ C is an Eigen dense matrix template < typename A_type, typename alpha_type, typename beta_type, typename C_type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -231,7 +231,7 @@ product(::pressio::transpose /*unused*/, template < typename C_type, typename A_type, typename alpha_type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 diff --git a/include/pressio/ops/epetra/ops_min_max.hpp b/include/pressio/ops/epetra/ops_min_max.hpp index 475e1c03a..9bfd8811c 100644 --- a/include/pressio/ops/epetra/ops_min_max.hpp +++ b/include/pressio/ops/epetra/ops_min_max.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific (::pressio::is_vector_epetra::value || ::pressio::is_multi_vector_epetra::value) @@ -78,7 +78,7 @@ max(T & obj) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific (::pressio::is_vector_epetra::value || ::pressio::is_multi_vector_epetra::value) diff --git a/include/pressio/ops/epetra/ops_multi_vector_update.hpp b/include/pressio/ops/epetra/ops_multi_vector_update.hpp index f2e9ac8b4..69bc477f0 100644 --- a/include/pressio/ops/epetra/ops_multi_vector_update.hpp +++ b/include/pressio/ops/epetra/ops_multi_vector_update.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace ops{ // overloads for computing: MV = a * MV + b * MV1 //---------------------------------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -88,7 +88,7 @@ update(T & mv, const alpha_t &a, } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 diff --git a/include/pressio/ops/epetra/ops_norms.hpp b/include/pressio/ops/epetra/ops_norms.hpp index c832c6019..bae87e4e0 100644 --- a/include/pressio/ops/epetra/ops_norms.hpp +++ b/include/pressio/ops/epetra/ops_norms.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // norm-1 common constraints ::pressio::Traits::rank == 1 // TPL/container specific @@ -71,7 +71,7 @@ norm1(const T & a) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // norm-1 common constraints ::pressio::Traits::rank == 1 // TPL/container specific diff --git a/include/pressio/ops/epetra/ops_pow.hpp b/include/pressio/ops/epetra/ops_pow.hpp index f5cabc2e2..be00fcccc 100644 --- a/include/pressio/ops/epetra/ops_pow.hpp +++ b/include/pressio/ops/epetra/ops_pow.hpp @@ -53,7 +53,7 @@ namespace pressio{ namespace ops{ // y = |x|^exponent, expo>0 template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_epetra::value and ::pressio::is_vector_epetra::value > @@ -76,7 +76,7 @@ abs_pow(T1 & y, // y = |x|^exponent, expo<0 template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_epetra::value and ::pressio::is_vector_epetra::value > @@ -104,7 +104,7 @@ abs_pow(T1 & y, } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_epetra::value > pow(T & x, diff --git a/include/pressio/ops/epetra/ops_rank1_update.hpp b/include/pressio/ops/epetra/ops_rank1_update.hpp index 801b86453..56a8e72c1 100644 --- a/include/pressio/ops/epetra/ops_rank1_update.hpp +++ b/include/pressio/ops/epetra/ops_rank1_update.hpp @@ -56,7 +56,7 @@ namespace pressio{ namespace ops{ //---------------------------------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -101,7 +101,7 @@ template< class T, class T1, class T2, class a_Type, class b_Type, class c_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -154,7 +154,7 @@ template< class T, class T1, class T2, class T3, class a_Type, class b_Type, class c_Type, class d_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -215,7 +215,7 @@ template< class T, class T1, class T2, class T3, class T4, class a_Type, class b_Type, class c_Type, class d_Type, class e_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/epetra/ops_scale.hpp b/include/pressio/ops/epetra/ops_scale.hpp index b3ee207e0..f30400e67 100644 --- a/include/pressio/ops/epetra/ops_scale.hpp +++ b/include/pressio/ops/epetra/ops_scale.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints (::pressio::Traits::rank == 1 || ::pressio::Traits::rank == 2) diff --git a/include/pressio/ops/epetra/ops_set_zero.hpp b/include/pressio/ops/epetra/ops_set_zero.hpp index a6da4a11f..3d31858c8 100644 --- a/include/pressio/ops/epetra/ops_set_zero.hpp +++ b/include/pressio/ops/epetra/ops_set_zero.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_epetra::value or ::pressio::is_multi_vector_epetra::value > diff --git a/include/pressio/ops/kokkos/ops_abs.hpp b/include/pressio/ops/kokkos/ops_abs.hpp index 2cec86f75..a34662f9d 100644 --- a/include/pressio/ops/kokkos/ops_abs.hpp +++ b/include/pressio/ops/kokkos/ops_abs.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace ops{ // y = abs(x) template -::pressio::mpl::enable_if_t< +std::enable_if_t< // common abs constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/kokkos/ops_clone.hpp b/include/pressio/ops/kokkos/ops_clone.hpp index 15380e43a..35ae8105d 100644 --- a/include/pressio/ops/kokkos/ops_clone.hpp +++ b/include/pressio/ops/kokkos/ops_clone.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::Traits::rank == 1 && ::pressio::is_native_container_kokkos::value, T> clone(const T & clonable) @@ -63,7 +63,7 @@ clone(const T & clonable) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::Traits::rank == 2 && ::pressio::is_native_container_kokkos::value, T> clone(const T & clonable) diff --git a/include/pressio/ops/kokkos/ops_deep_copy.hpp b/include/pressio/ops/kokkos/ops_deep_copy.hpp index b1ad12d87..8e3602f0a 100644 --- a/include/pressio/ops/kokkos/ops_deep_copy.hpp +++ b/include/pressio/ops/kokkos/ops_deep_copy.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template< typename T1, typename T2 > -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_native_container_kokkos::value or ::pressio::is_expression_acting_on_kokkos::value) and (::pressio::is_native_container_kokkos::value diff --git a/include/pressio/ops/kokkos/ops_dot.hpp b/include/pressio/ops/kokkos/ops_dot.hpp index 1ff6c394c..688c1c375 100644 --- a/include/pressio/ops/kokkos/ops_dot.hpp +++ b/include/pressio/ops/kokkos/ops_dot.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace ops{ namespace impl{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_native_container_kokkos::value or ::pressio::is_expression_acting_on_kokkos::value) and (::pressio::is_native_container_kokkos::value @@ -75,7 +75,7 @@ kokkos_ops_dot(const T1 & a, }//end namespace impl template -::pressio::mpl::enable_if_t< +std::enable_if_t< // dot common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -97,7 +97,7 @@ dot(const T1 & a, } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // dot common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/kokkos/ops_elementwise_multiply.hpp b/include/pressio/ops/kokkos/ops_elementwise_multiply.hpp index 6b881b797..d3f733da9 100644 --- a/include/pressio/ops/kokkos/ops_elementwise_multiply.hpp +++ b/include/pressio/ops/kokkos/ops_elementwise_multiply.hpp @@ -57,7 +57,7 @@ namespace pressio{ namespace ops{ // computing elementwise: y = beta * y + alpha * x * z //---------------------------------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // common elementwise_multiply constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/kokkos/ops_extent.hpp b/include/pressio/ops/kokkos/ops_extent.hpp index b6553f2f8..9cbe39ed3 100644 --- a/include/pressio/ops/kokkos/ops_extent.hpp +++ b/include/pressio/ops/kokkos/ops_extent.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -mpl::enable_if_t< +std::enable_if_t< ::pressio::is_native_container_kokkos::value || ::pressio::is_expression_acting_on_kokkos::value, std::size_t > extent(const T & objectIn, const IndexType i) diff --git a/include/pressio/ops/kokkos/ops_fill.hpp b/include/pressio/ops/kokkos/ops_fill.hpp index 7e0a9813e..9d04ed4d8 100644 --- a/include/pressio/ops/kokkos/ops_fill.hpp +++ b/include/pressio/ops/kokkos/ops_fill.hpp @@ -60,7 +60,7 @@ requires (::pressio::is_native_container_kokkos::value and std::convertible_to::scalar_type> void #else -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_native_container_kokkos::value or ::pressio::is_expression_acting_on_kokkos::value) and std::is_convertible::scalar_type>::value diff --git a/include/pressio/ops/kokkos/ops_level2.hpp b/include/pressio/ops/kokkos/ops_level2.hpp index 9d762699f..4144c2502 100644 --- a/include/pressio/ops/kokkos/ops_level2.hpp +++ b/include/pressio/ops/kokkos/ops_level2.hpp @@ -67,7 +67,7 @@ template < class A_type, class x_type, class y_type, class alpha_t, class beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 and ::pressio::Traits::rank == 1 and @@ -124,7 +124,7 @@ template < class A_type, class x_type, class y_type, class alpha_t, class beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 and ::pressio::Traits::rank == 1 and diff --git a/include/pressio/ops/kokkos/ops_level3.hpp b/include/pressio/ops/kokkos/ops_level3.hpp index f525af47d..31f7108d4 100644 --- a/include/pressio/ops/kokkos/ops_level3.hpp +++ b/include/pressio/ops/kokkos/ops_level3.hpp @@ -61,7 +61,7 @@ namespace pressio{ namespace ops{ // specialize for op(A) = A and op(B) = B //------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -102,7 +102,7 @@ product(::pressio::nontranspose /*unused*/, // specialize for op(A) = A^T and op(B) = B //------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -143,7 +143,7 @@ product(::pressio::transpose /*unused*/, * special case A==B and op(A)=A^T, op(B)=B ------------------------------------------*/ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -171,7 +171,7 @@ product(::pressio::transpose modeA, * special case A==B and op(A)=A^T, op(B)=B, return C -----------------------------------------------------*/ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 diff --git a/include/pressio/ops/kokkos/ops_min_max.hpp b/include/pressio/ops/kokkos/ops_min_max.hpp index 615e5fed7..c9d265279 100644 --- a/include/pressio/ops/kokkos/ops_min_max.hpp +++ b/include/pressio/ops/kokkos/ops_min_max.hpp @@ -54,7 +54,7 @@ namespace pressio{ namespace ops{ namespace impl{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ViewType::rank == 1, typename ::pressio::Traits::scalar_type > @@ -71,7 +71,7 @@ kokkos_reduce(const ViewType & view) { } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ViewType::rank == 2, typename ::pressio::Traits::scalar_type > @@ -95,7 +95,7 @@ kokkos_reduce(const ViewType & view) { } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // min/max common constraints (::pressio::Traits::rank == 1 || ::pressio::Traits::rank == 2) @@ -116,7 +116,7 @@ max(const T & obj) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // min/max common constraints (::pressio::Traits::rank == 1 || ::pressio::Traits::rank == 2) diff --git a/include/pressio/ops/kokkos/ops_norms_vector.hpp b/include/pressio/ops/kokkos/ops_norms_vector.hpp index c7a406daf..bb1adde77 100644 --- a/include/pressio/ops/kokkos/ops_norms_vector.hpp +++ b/include/pressio/ops/kokkos/ops_norms_vector.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // norm-1 common constraints ::pressio::Traits::rank == 1 // TPL/container specific @@ -72,7 +72,7 @@ norm1(const T & a) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // norm-2 common constraints ::pressio::Traits::rank == 1 // TPL/container specific diff --git a/include/pressio/ops/kokkos/ops_pow.hpp b/include/pressio/ops/kokkos/ops_pow.hpp index d1af25e23..ea1c1f016 100644 --- a/include/pressio/ops/kokkos/ops_pow.hpp +++ b/include/pressio/ops/kokkos/ops_pow.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_native_container_kokkos::value or ::pressio::is_expression_acting_on_kokkos::value) > @@ -71,7 +71,7 @@ pow(T & x, // y = |x|^exponent, expo>0 template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_native_container_kokkos::value or ::pressio::is_expression_acting_on_kokkos::value) and (::pressio::is_native_container_kokkos::value or @@ -102,7 +102,7 @@ abs_pow(T1 & y, // y = |x|^exponent, expo<0 template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_native_container_kokkos::value or ::pressio::is_expression_acting_on_kokkos::value) and (::pressio::is_native_container_kokkos::value or diff --git a/include/pressio/ops/kokkos/ops_rank2_update.hpp b/include/pressio/ops/kokkos/ops_rank2_update.hpp index 0a5ddbaad..47b2ca65a 100644 --- a/include/pressio/ops/kokkos/ops_rank2_update.hpp +++ b/include/pressio/ops/kokkos/ops_rank2_update.hpp @@ -58,7 +58,7 @@ namespace pressio{ namespace ops{ // where MV is an kokkos multivector wrapper //---------------------------------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 diff --git a/include/pressio/ops/kokkos/ops_resize.hpp b/include/pressio/ops/kokkos/ops_resize.hpp index a127982ed..0fc1ea479 100644 --- a/include/pressio/ops/kokkos/ops_resize.hpp +++ b/include/pressio/ops/kokkos/ops_resize.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_kokkos::value > resize(T & o, ::pressio::ops::impl::ordinal_t newSize) @@ -65,7 +65,7 @@ resize(T & o, ::pressio::ops::impl::ordinal_t newSize) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_dense_matrix_kokkos::value > resize(T & o, diff --git a/include/pressio/ops/kokkos/ops_scale.hpp b/include/pressio/ops/kokkos/ops_scale.hpp index 2f2072c16..bfaba5795 100644 --- a/include/pressio/ops/kokkos/ops_scale.hpp +++ b/include/pressio/ops/kokkos/ops_scale.hpp @@ -54,7 +54,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints (::pressio::Traits::rank == 1 || ::pressio::Traits::rank == 2) diff --git a/include/pressio/ops/kokkos/ops_set_zero.hpp b/include/pressio/ops/kokkos/ops_set_zero.hpp index d37716195..9536cd36d 100644 --- a/include/pressio/ops/kokkos/ops_set_zero.hpp +++ b/include/pressio/ops/kokkos/ops_set_zero.hpp @@ -54,7 +54,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_native_container_kokkos::value or ::pressio::is_expression_acting_on_kokkos::value) > diff --git a/include/pressio/ops/kokkos/ops_vector_update.hpp b/include/pressio/ops/kokkos/ops_vector_update.hpp index d9b8e259a..a6ba70cf4 100644 --- a/include/pressio/ops/kokkos/ops_vector_update.hpp +++ b/include/pressio/ops/kokkos/ops_vector_update.hpp @@ -76,7 +76,7 @@ template< typename T, typename T1, typename a_Type, typename b_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -105,7 +105,7 @@ update(T & v, const a_Type &a, } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -138,7 +138,7 @@ template< typename T, typename T1, typename T2, typename a_Type, typename b_Type, typename c_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -194,7 +194,7 @@ template< typename T, typename T1, typename T2, typename b_Type, typename c_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -252,7 +252,7 @@ template< typename T, typename T1, typename T2, typename T3, typename a_Type, typename b_Type, typename c_Type, typename d_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -320,7 +320,7 @@ template< typename T, typename T1, typename T2, typename T3, typename b_Type, typename c_Type, typename d_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -390,7 +390,7 @@ template< typename T, typename T1, typename T2, typename T3, typename T4, typename a_Type, typename b_Type, typename c_Type, typename d_Type, typename e_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -469,7 +469,7 @@ template< typename T, typename T1, typename T2, typename T3, typename T4, typename b_Type, typename c_Type, typename d_Type, typename e_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/ops_get_native.hpp b/include/pressio/ops/ops_get_native.hpp index eeb20df24..05c4d5e8b 100644 --- a/include/pressio/ops/ops_get_native.hpp +++ b/include/pressio/ops/ops_get_native.hpp @@ -52,21 +52,21 @@ namespace pressio{ namespace ops{ namespace impl{ template -mpl::enable_if_t< +std::enable_if_t< !::pressio::is_expression::value, T& > get_native(T & objectIn){ return objectIn; } template -mpl::enable_if_t< +std::enable_if_t< !::pressio::is_expression::value, const T& > get_native(const T & objectIn){ return objectIn; } template -mpl::enable_if_t< +std::enable_if_t< ::pressio::is_expression::value, decltype(std::declval().native()) > @@ -75,7 +75,7 @@ get_native(const T & objectIn){ } template -mpl::enable_if_t< +std::enable_if_t< ::pressio::is_expression::value, decltype(std::declval().native()) > @@ -90,7 +90,7 @@ struct NativeType; #ifdef PRESSIO_ENABLE_TPL_KOKKOS template struct NativeType< - T, mpl::enable_if_t<::pressio::is_vector_kokkos::value> + T, std::enable_if_t<::pressio::is_vector_kokkos::value> > { using type = T; @@ -99,7 +99,7 @@ struct NativeType< template struct NativeType< - T, mpl::enable_if_t<::pressio::is_expression::value> + T, std::enable_if_t<::pressio::is_expression::value> > { using type = typename ::pressio::Traits::native_expr_type; @@ -108,12 +108,12 @@ struct NativeType< #ifdef PRESSIO_ENABLE_TPL_TRILINOS template::value, int > = 0 > auto get_underlying_tpetra_object(T & o){ return o.getVectorView(); } template::value, int > = 0 > auto get_underlying_tpetra_object(const T & o){ // constcast here because for block vector @@ -122,17 +122,17 @@ auto get_underlying_tpetra_object(const T & o){ } template::value, int > = 0 > auto get_underlying_tpetra_object(const T & o){ return o.getMultiVectorView(); } template::value, int > = 0 > auto get_underlying_tpetra_object(T & o){ return o.getMultiVectorView(); } template::value, int > = 0 > auto get_underlying_tpetra_object(T o){ return o.native(); } diff --git a/include/pressio/ops/ops_ordinal_type.hpp b/include/pressio/ops/ops_ordinal_type.hpp index 044ddfc74..2b0555b13 100644 --- a/include/pressio/ops/ops_ordinal_type.hpp +++ b/include/pressio/ops/ops_ordinal_type.hpp @@ -59,7 +59,7 @@ template struct GlobalOrdinalType { using type template struct OrdinalType< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_vector_eigen::value || ::pressio::is_dense_matrix_eigen::value > @@ -95,7 +95,7 @@ struct OrdinalType< template struct OrdinalType< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_vector_kokkos::value || ::pressio::is_dense_matrix_kokkos::value > @@ -109,7 +109,7 @@ struct OrdinalType< template struct LocalOrdinalType< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_vector_tpetra::value || ::pressio::is_vector_tpetra_block::value || ::pressio::is_multi_vector_tpetra_block::value @@ -123,7 +123,7 @@ struct LocalOrdinalType< template struct GlobalOrdinalType< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_vector_tpetra::value || ::pressio::is_vector_tpetra_block::value || ::pressio::is_multi_vector_tpetra_block::value @@ -137,7 +137,7 @@ struct GlobalOrdinalType< template struct LocalOrdinalType< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_vector_epetra::value || ::pressio::is_multi_vector_epetra::value > @@ -149,7 +149,7 @@ struct LocalOrdinalType< template struct GlobalOrdinalType< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_vector_epetra::value || ::pressio::is_multi_vector_epetra::value > @@ -162,7 +162,7 @@ struct GlobalOrdinalType< template struct OrdinalType< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_expression::value > > @@ -176,7 +176,7 @@ struct OrdinalType< template struct LocalOrdinalType< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_expression::value > > @@ -190,7 +190,7 @@ struct LocalOrdinalType< template struct GlobalOrdinalType< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_expression::value > > diff --git a/include/pressio/ops/teuchos/ops_clone.hpp b/include/pressio/ops/teuchos/ops_clone.hpp index 0886bac8b..6c9ae132d 100644 --- a/include/pressio/ops/teuchos/ops_clone.hpp +++ b/include/pressio/ops/teuchos/ops_clone.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_dense_vector_teuchos::value, T> clone(const T & clonable) { diff --git a/include/pressio/ops/teuchos/ops_extent.hpp b/include/pressio/ops/teuchos/ops_extent.hpp index c07c793dd..4a2b6b525 100644 --- a/include/pressio/ops/teuchos/ops_extent.hpp +++ b/include/pressio/ops/teuchos/ops_extent.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -mpl::enable_if_t< +std::enable_if_t< ::pressio::is_dense_vector_teuchos::value, std::size_t > extent(const T & objectIn, IndexType i) { diff --git a/include/pressio/ops/teuchos/ops_fill.hpp b/include/pressio/ops/teuchos/ops_fill.hpp index dd1d55b77..6c00985a5 100644 --- a/include/pressio/ops/teuchos/ops_fill.hpp +++ b/include/pressio/ops/teuchos/ops_fill.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_dense_vector_teuchos::value && std::is_convertible::scalar_type>::value > diff --git a/include/pressio/ops/teuchos/ops_level2.hpp b/include/pressio/ops/teuchos/ops_level2.hpp index 0af38319c..509394b74 100644 --- a/include/pressio/ops/teuchos/ops_level2.hpp +++ b/include/pressio/ops/teuchos/ops_level2.hpp @@ -62,7 +62,7 @@ template < typename A_type, typename x_type, typename y_type, class alpha_t, class beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_dense_matrix_teuchos::value and ::pressio::is_vector_eigen::value and ::pressio::is_vector_eigen::value @@ -93,7 +93,7 @@ template < typename A_type, typename x_type, typename y_type, class alpha_t, class beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< is_dense_matrix_teuchos::value and ::pressio::is_vector_eigen::value and ::pressio::is_vector_eigen::value diff --git a/include/pressio/ops/teuchos/ops_norms.hpp b/include/pressio/ops/teuchos/ops_norms.hpp index d4fd49f74..2974972b4 100644 --- a/include/pressio/ops/teuchos/ops_norms.hpp +++ b/include/pressio/ops/teuchos/ops_norms.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // norm-2 common constraints ::pressio::Traits::rank == 1 // TPL/container specific @@ -68,7 +68,7 @@ norm1(const T & v) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // norm-2 common constraints ::pressio::Traits::rank == 1 // TPL/container specific diff --git a/include/pressio/ops/teuchos/ops_scale.hpp b/include/pressio/ops/teuchos/ops_scale.hpp index 531bb2b5b..44daa795c 100644 --- a/include/pressio/ops/teuchos/ops_scale.hpp +++ b/include/pressio/ops/teuchos/ops_scale.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints (::pressio::Traits::rank == 1 || ::pressio::Traits::rank == 2) diff --git a/include/pressio/ops/teuchos/ops_set_zero.hpp b/include/pressio/ops/teuchos/ops_set_zero.hpp index 28c8d9452..4f383b9f8 100644 --- a/include/pressio/ops/teuchos/ops_set_zero.hpp +++ b/include/pressio/ops/teuchos/ops_set_zero.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_dense_vector_teuchos::value > set_zero(T & objectIn) diff --git a/include/pressio/ops/tpetra/ops_abs.hpp b/include/pressio/ops/tpetra/ops_abs.hpp index 1083d7cc2..3d8439210 100644 --- a/include/pressio/ops/tpetra/ops_abs.hpp +++ b/include/pressio/ops/tpetra/ops_abs.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ( ::pressio::is_vector_tpetra::value || ::pressio::is_expression_column_acting_on_tpetra::value) && (::pressio::is_vector_tpetra::value diff --git a/include/pressio/ops/tpetra/ops_clone.hpp b/include/pressio/ops/tpetra/ops_clone.hpp index 4bb425719..da008155e 100644 --- a/include/pressio/ops/tpetra/ops_clone.hpp +++ b/include/pressio/ops/tpetra/ops_clone.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_vector_tpetra::value || ::pressio::is_multi_vector_tpetra::value), T> clone(const T & clonable) diff --git a/include/pressio/ops/tpetra/ops_deep_copy.hpp b/include/pressio/ops/tpetra/ops_deep_copy.hpp index 3715cac38..7a992eaf9 100644 --- a/include/pressio/ops/tpetra/ops_deep_copy.hpp +++ b/include/pressio/ops/tpetra/ops_deep_copy.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific ::pressio::is_vector_tpetra::value or ::pressio::is_multi_vector_tpetra::value diff --git a/include/pressio/ops/tpetra/ops_dot.hpp b/include/pressio/ops/tpetra/ops_dot.hpp index 25b85cfaa..6f7ef7bf7 100644 --- a/include/pressio/ops/tpetra/ops_dot.hpp +++ b/include/pressio/ops/tpetra/ops_dot.hpp @@ -53,7 +53,7 @@ namespace pressio{ namespace ops{ template < typename T1, typename T2, - ::pressio::mpl::enable_if_t< + std::enable_if_t< // TPL/container specific ( ::pressio::is_vector_tpetra::value || ::pressio::is_expression_column_acting_on_tpetra::value) @@ -74,7 +74,7 @@ auto dot(const T1 & a, const T2 & b) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific ( ::pressio::is_vector_tpetra::value || ::pressio::is_expression_column_acting_on_tpetra::value) diff --git a/include/pressio/ops/tpetra/ops_elementwise_multiply.hpp b/include/pressio/ops/tpetra/ops_elementwise_multiply.hpp index 9767f3e05..f9747eae8 100644 --- a/include/pressio/ops/tpetra/ops_elementwise_multiply.hpp +++ b/include/pressio/ops/tpetra/ops_elementwise_multiply.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace ops{ // computing elementwise: y = beta * y + alpha * x * z //---------------------------------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific ( ::pressio::is_vector_tpetra::value || ::pressio::is_expression_column_acting_on_tpetra::value) diff --git a/include/pressio/ops/tpetra/ops_extent.hpp b/include/pressio/ops/tpetra/ops_extent.hpp index 35f6f8850..228e01aae 100644 --- a/include/pressio/ops/tpetra/ops_extent.hpp +++ b/include/pressio/ops/tpetra/ops_extent.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_tpetra::value, std::size_t > extent(const T & oIn, const IndexType i) { @@ -60,7 +60,7 @@ extent(const T & oIn, const IndexType i) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_expression_column_acting_on_tpetra::value, std::size_t > extent(const T & oIn, const IndexType i) { @@ -68,7 +68,7 @@ extent(const T & oIn, const IndexType i) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_multi_vector_tpetra::value, std::size_t > extent(const T & oIn, const IndexType i) { diff --git a/include/pressio/ops/tpetra/ops_fill.hpp b/include/pressio/ops/tpetra/ops_fill.hpp index 592172ea8..39ae09f29 100644 --- a/include/pressio/ops/tpetra/ops_fill.hpp +++ b/include/pressio/ops/tpetra/ops_fill.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_vector_tpetra::value || ::pressio::is_multi_vector_tpetra::value || ::pressio::is_expression_column_acting_on_tpetra::value) diff --git a/include/pressio/ops/tpetra/ops_level2.hpp b/include/pressio/ops/tpetra/ops_level2.hpp index 1ff762ee3..fae1ec3c0 100644 --- a/include/pressio/ops/tpetra/ops_level2.hpp +++ b/include/pressio/ops/tpetra/ops_level2.hpp @@ -65,7 +65,7 @@ op(A) = A or A^T namespace impl{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_multi_vector_tpetra::value and ::pressio::is_vector_eigen::value and ::pressio::is_vector_tpetra::value @@ -95,7 +95,7 @@ _product_tpetra_mv_sharedmem_vec(const alpha_t & alpha, // when the operand is a kokkos wrapper we use kokkos functionalities directly template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_multi_vector_tpetra::value and ::pressio::is_vector_kokkos::value and ::pressio::is_vector_tpetra::value @@ -120,7 +120,7 @@ _product_tpetra_mv_sharedmem_vec(const alpha_t & alpha, } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_multi_vector_tpetra::value and (::pressio::is_expression_acting_on_kokkos::value or ::pressio::is_dense_vector_teuchos::value) and @@ -169,7 +169,7 @@ _product_tpetra_mv_sharedmem_vec(const alpha_t & alpha, // y = tpetra vector or column expression // ------------------------------- template < class A_type, class x_type, class y_type, class alpha_t, class beta_t> -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -205,7 +205,7 @@ product(::pressio::nontranspose /*unused*/, // y = tpetra vector or column expression // ------------------------------- template < class A_type, class x_type, class y_type, class alpha_t, class beta_t> -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -243,7 +243,7 @@ product(::pressio::nontranspose /*unused*/, // ------------------------------- #ifdef PRESSIO_ENABLE_TPL_EIGEN template < class A_type, class x_type, class y_type, class alpha_t, class beta_t> -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -282,7 +282,7 @@ product(::pressio::nontranspose /*unused*/, // y = tpetra vector // ------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -319,7 +319,7 @@ product(::pressio::nontranspose mode, // y = tpetra vector or column expression // ------------------------------- template < class A_type, class x_type, class y_type, class alpha_t, class beta_t> -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -377,7 +377,7 @@ product(::pressio::nontranspose /*unused*/, // y = Eigen vector // ------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -434,7 +434,7 @@ product(::pressio::transpose /*unused*/, // y = Kokkos vector // ------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/tpetra/ops_level3.hpp b/include/pressio/ops/tpetra/ops_level3.hpp index 51d0c8460..aa91e3553 100644 --- a/include/pressio/ops/tpetra/ops_level3.hpp +++ b/include/pressio/ops/tpetra/ops_level3.hpp @@ -63,7 +63,7 @@ template < class A_type, class B_type, class C_type, class alpha_t, class beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -144,7 +144,7 @@ template < class C_type, class A_type, class B_type, class alpha_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -183,7 +183,7 @@ template < class A_type, class C_type, class alpha_t, class beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -235,7 +235,7 @@ product(::pressio::transpose /*unused*/, } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -271,7 +271,7 @@ A = tpetra multivector C is a Kokkos dense matrix *-------------------------------------------------------------------*/ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -326,7 +326,7 @@ A = tpetra multivector C is a Kokkos dense matrix *-------------------------------------------------------------------*/ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -361,7 +361,7 @@ B = tpetra multivector C is a Kokkos dense matrix *-------------------------------------------------------------------*/ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -420,7 +420,7 @@ product(::pressio::transpose /*unused*/, // // specialize for when A is a diagonal expression // //------------------------------------------- // template -// ::pressio::mpl::enable_if_t< +// std::enable_if_t< // ::pressio::containers::predicates::is_multi_vector_wrapper_tpetra::value and // ::pressio::containers::predicates::is_multi_vector_wrapper_tpetra::value and // ::pressio::containers::predicates::is_vector_wrapper_tpetra::value diff --git a/include/pressio/ops/tpetra/ops_min_max.hpp b/include/pressio/ops/tpetra/ops_min_max.hpp index 3187e3b01..4aedb5981 100644 --- a/include/pressio/ops/tpetra/ops_min_max.hpp +++ b/include/pressio/ops/tpetra/ops_min_max.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific ( ::pressio::is_vector_tpetra::value || ::pressio::is_multi_vector_tpetra::value @@ -90,7 +90,7 @@ max(const T & obj) template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific ( ::pressio::is_vector_tpetra::value || ::pressio::is_multi_vector_tpetra::value diff --git a/include/pressio/ops/tpetra/ops_multi_vector_update.hpp b/include/pressio/ops/tpetra/ops_multi_vector_update.hpp index e9a0691c4..44f57e405 100644 --- a/include/pressio/ops/tpetra/ops_multi_vector_update.hpp +++ b/include/pressio/ops/tpetra/ops_multi_vector_update.hpp @@ -57,7 +57,7 @@ namespace pressio{ namespace ops{ //---------------------------------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -84,7 +84,7 @@ update(T & mv, const a_t &a, } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 diff --git a/include/pressio/ops/tpetra/ops_norms.hpp b/include/pressio/ops/tpetra/ops_norms.hpp index 34f492df8..09a730245 100644 --- a/include/pressio/ops/tpetra/ops_norms.hpp +++ b/include/pressio/ops/tpetra/ops_norms.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_vector_tpetra::value // scalar compatibility && (std::is_floating_point::scalar_type>::value @@ -69,7 +69,7 @@ norm1(const T & a) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_tpetra::value // scalar compatibility && (std::is_floating_point::scalar_type>::value @@ -88,7 +88,7 @@ norm2(const T & a) template < typename T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_expression_column_acting_on_tpetra::value // scalar compatibility && (std::is_floating_point::scalar_type>::value @@ -101,7 +101,7 @@ auto norm1(const T & a){ template < typename T, -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_expression_column_acting_on_tpetra::value // scalar compatibility && (std::is_floating_point::scalar_type>::value diff --git a/include/pressio/ops/tpetra/ops_pow.hpp b/include/pressio/ops/tpetra/ops_pow.hpp index 141877aea..678caea23 100644 --- a/include/pressio/ops/tpetra/ops_pow.hpp +++ b/include/pressio/ops/tpetra/ops_pow.hpp @@ -53,7 +53,7 @@ namespace pressio{ namespace ops{ // y = |x|^exponent, expo>0 template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_vector_tpetra::value || ::pressio::is_expression_column_acting_on_tpetra::value) && (::pressio::is_vector_tpetra::value @@ -88,7 +88,7 @@ abs_pow(T1 & y_in, // y = |x|^exponent, expo<0 template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_vector_tpetra::value || ::pressio::is_expression_column_acting_on_tpetra::value) && (::pressio::is_vector_tpetra::value @@ -126,7 +126,7 @@ abs_pow(T1 & y_in, } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_tpetra::value || ::pressio::is_expression_column_acting_on_tpetra::value > diff --git a/include/pressio/ops/tpetra/ops_rank1_update.hpp b/include/pressio/ops/tpetra/ops_rank1_update.hpp index fa7119223..62e192e98 100644 --- a/include/pressio/ops/tpetra/ops_rank1_update.hpp +++ b/include/pressio/ops/tpetra/ops_rank1_update.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace ops{ // computing: V = a * V + b * V1 //---------------------------------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -91,7 +91,7 @@ template< class T, class T1, class T2, class a_Type, class b_Type, class c_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -139,7 +139,7 @@ template< class T, class T1, class T2, class T3, class a_Type, class b_Type, class c_Type, class d_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -196,7 +196,7 @@ template< class T, class T1, class T2, class T3, class T4, class a_Type, class b_Type, class c_Type, class d_Type, class e_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/tpetra/ops_scale.hpp b/include/pressio/ops/tpetra/ops_scale.hpp index 3e90ad25e..07cee5cd8 100644 --- a/include/pressio/ops/tpetra/ops_scale.hpp +++ b/include/pressio/ops/tpetra/ops_scale.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific (::pressio::is_vector_tpetra::value || ::pressio::is_multi_vector_tpetra::value diff --git a/include/pressio/ops/tpetra/ops_set_zero.hpp b/include/pressio/ops/tpetra/ops_set_zero.hpp index 360557f97..cc1a46acc 100644 --- a/include/pressio/ops/tpetra/ops_set_zero.hpp +++ b/include/pressio/ops/tpetra/ops_set_zero.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_tpetra::value || ::pressio::is_multi_vector_tpetra::value || ::pressio::is_expression_column_acting_on_tpetra::value diff --git a/include/pressio/ops/tpetra_block/ops_abs.hpp b/include/pressio/ops/tpetra_block/ops_abs.hpp index 25840fa23..7c967317f 100644 --- a/include/pressio/ops/tpetra_block/ops_abs.hpp +++ b/include/pressio/ops/tpetra_block/ops_abs.hpp @@ -53,7 +53,7 @@ namespace pressio{ namespace ops{ // y= abs(x) template -::pressio::mpl::enable_if_t< +std::enable_if_t< ( ::pressio::is_vector_tpetra_block::value || ::pressio::is_expression_column_acting_on_tpetra_block::value) && (::pressio::is_vector_tpetra_block::value diff --git a/include/pressio/ops/tpetra_block/ops_clone.hpp b/include/pressio/ops/tpetra_block/ops_clone.hpp index 6b6ae6f27..d3e175870 100644 --- a/include/pressio/ops/tpetra_block/ops_clone.hpp +++ b/include/pressio/ops/tpetra_block/ops_clone.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_vector_tpetra_block::value || ::pressio::is_multi_vector_tpetra_block::value), T> clone(const T & clonable) diff --git a/include/pressio/ops/tpetra_block/ops_deep_copy.hpp b/include/pressio/ops/tpetra_block/ops_deep_copy.hpp index 6983b9b39..2c4ab152a 100644 --- a/include/pressio/ops/tpetra_block/ops_deep_copy.hpp +++ b/include/pressio/ops/tpetra_block/ops_deep_copy.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific ::pressio::is_vector_tpetra_block::value or ::pressio::is_multi_vector_tpetra_block::value diff --git a/include/pressio/ops/tpetra_block/ops_dot.hpp b/include/pressio/ops/tpetra_block/ops_dot.hpp index 329759c2a..fb2e517d0 100644 --- a/include/pressio/ops/tpetra_block/ops_dot.hpp +++ b/include/pressio/ops/tpetra_block/ops_dot.hpp @@ -53,7 +53,7 @@ namespace pressio{ namespace ops{ template < typename T1, typename T2, -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific ( ::pressio::is_vector_tpetra_block::value || ::pressio::is_expression_column_acting_on_tpetra_block::value) @@ -74,7 +74,7 @@ auto dot(const T1 & a, const T2 & b) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific ( ::pressio::is_vector_tpetra_block::value || ::pressio::is_expression_column_acting_on_tpetra_block::value) diff --git a/include/pressio/ops/tpetra_block/ops_elementwise_multiply.hpp b/include/pressio/ops/tpetra_block/ops_elementwise_multiply.hpp index e4a64c81b..cd5f58ae3 100644 --- a/include/pressio/ops/tpetra_block/ops_elementwise_multiply.hpp +++ b/include/pressio/ops/tpetra_block/ops_elementwise_multiply.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace ops{ // computing elementwise: y = beta * y + alpha * x * z //---------------------------------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< ( ::pressio::is_vector_tpetra_block::value || ::pressio::is_expression_column_acting_on_tpetra_block::value) && ( ::pressio::is_vector_tpetra_block::value diff --git a/include/pressio/ops/tpetra_block/ops_extent.hpp b/include/pressio/ops/tpetra_block/ops_extent.hpp index 8444d41ea..07959bee1 100644 --- a/include/pressio/ops/tpetra_block/ops_extent.hpp +++ b/include/pressio/ops/tpetra_block/ops_extent.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_tpetra_block::value, std::size_t > extent(const T & oIn, const IndexType i) { @@ -65,7 +65,7 @@ extent(const T & oIn, const IndexType i) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_expression_column_acting_on_tpetra_block::value, std::size_t > extent(const T & oIn, const IndexType i) { @@ -73,7 +73,7 @@ extent(const T & oIn, const IndexType i) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_multi_vector_tpetra_block::value, std::size_t > extent(const T & oIn, const IndexType i) { diff --git a/include/pressio/ops/tpetra_block/ops_fill.hpp b/include/pressio/ops/tpetra_block/ops_fill.hpp index 2c547abba..b6285e1a2 100644 --- a/include/pressio/ops/tpetra_block/ops_fill.hpp +++ b/include/pressio/ops/tpetra_block/ops_fill.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ( ::pressio::is_vector_tpetra_block::value || ::pressio::is_expression_column_acting_on_tpetra_block::value || ::pressio::is_multi_vector_tpetra_block::value) diff --git a/include/pressio/ops/tpetra_block/ops_level2.hpp b/include/pressio/ops/tpetra_block/ops_level2.hpp index 799dc0e99..60c4727af 100644 --- a/include/pressio/ops/tpetra_block/ops_level2.hpp +++ b/include/pressio/ops/tpetra_block/ops_level2.hpp @@ -63,7 +63,7 @@ namespace pressio{ namespace ops{ // y = tpetra block vector or column expression on mv // ------------------------------- template < class A_type, class x_type, class y_type, class alpha_t, class beta_t> -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -101,7 +101,7 @@ product(::pressio::nontranspose mode, // y = tpetra block vector or column expression // ------------------------------- template < class A_type, class x_type, class y_type, class alpha_t, class beta_t> -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -141,7 +141,7 @@ product(::pressio::nontranspose mode, // ------------------------------- #ifdef PRESSIO_ENABLE_TPL_EIGEN template < class A_type, class x_type, class y_type, class alpha_t, class beta_t> -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -180,7 +180,7 @@ product(::pressio::nontranspose mode, // y = Eigen Vector or Pressio expression based on Eigen container // ------------------------------- template < class A_type, class x_type, class y_type, class alpha_t, class beta_t> -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 @@ -220,7 +220,7 @@ product(::pressio::transpose mode, // y = Kokkos vector // ------------------------------- template < class A_type, class x_type, class y_type, class alpha_t, class beta_t> -::pressio::mpl::enable_if_t< +std::enable_if_t< // level2 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/tpetra_block/ops_level3.hpp b/include/pressio/ops/tpetra_block/ops_level3.hpp index cc9b42a1e..132ffaf45 100644 --- a/include/pressio/ops/tpetra_block/ops_level3.hpp +++ b/include/pressio/ops/tpetra_block/ops_level3.hpp @@ -66,7 +66,7 @@ C is an Eigen dense matrix template < class A_type, class B_type, class C_type, class alpha_t, class beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -105,7 +105,7 @@ C is an Eigen dense matrix returned by the function template < class C_type, class A_type, class B_type, class alpha_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -139,7 +139,7 @@ product(::pressio::transpose modeA, template < class A_type, class C_type, class alpha_t, class beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -166,7 +166,7 @@ product(::pressio::transpose modeA, template < class C_type, class A_type, class alpha_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -200,7 +200,7 @@ C is a Kokkos dense matrix template < class A_type, class C_type, class alpha_t, class beta_t > -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -232,7 +232,7 @@ product(::pressio::transpose modeA, C is a Kokkos dense matrix *-------------------------------------------------------------------*/ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -263,7 +263,7 @@ B = tpetra block multivector C is a Kokkos dense matrix *-------------------------------------------------------------------*/ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // level3 common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -306,7 +306,7 @@ product(::pressio::transpose modeA, // template < // class A_type, class B_type, class scalar_type, class C_type // > -// ::pressio::mpl::enable_if_t< +// std::enable_if_t< // ::pressio::containers::predicates::is_multi_vector_wrapper_tpetra_block::value and // ::pressio::containers::predicates::is_multi_vector_wrapper_tpetra_block::value and // ::pressio::ops::constraints::sharedmem_host_subscriptable_rank2_container::value @@ -343,7 +343,7 @@ product(::pressio::transpose modeA, // template < // class C_type, class A_type, class B_type, class scalar_type // > -// ::pressio::mpl::enable_if_t< +// std::enable_if_t< // ::pressio::containers::predicates::is_multi_vector_wrapper_tpetra_block::value and // ::pressio::containers::predicates::is_multi_vector_wrapper_tpetra_block::value and // ::pressio::ops::constraints::sharedmem_host_subscriptable_rank2_container::value and @@ -369,7 +369,7 @@ product(::pressio::transpose modeA, // // * special case A==B // // **********************************/ // template -// ::pressio::mpl::enable_if_t< +// std::enable_if_t< // ::pressio::containers::predicates::is_multi_vector_wrapper_tpetra_block::value and // ::pressio::ops::constraints::sharedmem_host_subscriptable_rank2_container::value and // !::pressio::containers::predicates::is_dense_matrix_wrapper_kokkos::value @@ -407,7 +407,7 @@ product(::pressio::transpose modeA, // } // template -// ::pressio::mpl::enable_if_t< +// std::enable_if_t< // ::pressio::containers::predicates::is_multi_vector_wrapper_tpetra_block::value and // ::pressio::ops::constraints::rank2_container_kokkos_with_native_data_access::value // > @@ -443,7 +443,7 @@ product(::pressio::transpose modeA, // } // template -// ::pressio::mpl::enable_if_t< +// std::enable_if_t< // ::pressio::containers::predicates::is_multi_vector_wrapper_tpetra_block::value and // (::pressio::ops::constraints::sharedmem_host_subscriptable_rank2_container::value or // ::pressio::ops::constraints::rank2_container_kokkos_with_native_data_access::value), @@ -465,7 +465,7 @@ product(::pressio::transpose modeA, // // specialize for when A is a diagonal expression // //------------------------------------------- // template -// ::pressio::mpl::enable_if_t< +// std::enable_if_t< // ::pressio::containers::predicates::is_multi_vector_wrapper_tpetra_block::value and // ::pressio::containers::predicates::is_multi_vector_wrapper_tpetra_block::value and // ::pressio::containers::predicates::is_vector_wrapper_tpetra_block::value diff --git a/include/pressio/ops/tpetra_block/ops_min_max.hpp b/include/pressio/ops/tpetra_block/ops_min_max.hpp index b62c3e928..3cb0259dc 100644 --- a/include/pressio/ops/tpetra_block/ops_min_max.hpp +++ b/include/pressio/ops/tpetra_block/ops_min_max.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // min/max common constraints (::pressio::Traits::rank == 1 || ::pressio::Traits::rank == 2) @@ -72,7 +72,7 @@ max(const T & o) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // min/max common constraints (::pressio::Traits::rank == 1 || ::pressio::Traits::rank == 2) diff --git a/include/pressio/ops/tpetra_block/ops_multi_vector_update.hpp b/include/pressio/ops/tpetra_block/ops_multi_vector_update.hpp index 24c424d3c..313bf65bc 100644 --- a/include/pressio/ops/tpetra_block/ops_multi_vector_update.hpp +++ b/include/pressio/ops/tpetra_block/ops_multi_vector_update.hpp @@ -57,7 +57,7 @@ namespace pressio{ namespace ops{ //---------------------------------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 @@ -84,7 +84,7 @@ update(T & mv, const a_t &a, } template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 2 && ::pressio::Traits::rank == 2 diff --git a/include/pressio/ops/tpetra_block/ops_norms.hpp b/include/pressio/ops/tpetra_block/ops_norms.hpp index c4bba7e94..fb7cf8e82 100644 --- a/include/pressio/ops/tpetra_block/ops_norms.hpp +++ b/include/pressio/ops/tpetra_block/ops_norms.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_tpetra_block::value // scalar compatibility && (std::is_floating_point::scalar_type>::value @@ -74,7 +74,7 @@ norm2(const T & a) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_tpetra_block::value // scalar compatibility && (std::is_floating_point::scalar_type>::value @@ -97,7 +97,7 @@ norm1(const T & a) template < typename T, -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_expression_column_acting_on_tpetra_block::value // scalar compatibility && (std::is_floating_point::scalar_type>::value @@ -112,7 +112,7 @@ auto norm1(const T & o) template < typename T, -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_expression_column_acting_on_tpetra_block::value // scalar compatibility && (std::is_floating_point::scalar_type>::value diff --git a/include/pressio/ops/tpetra_block/ops_pow.hpp b/include/pressio/ops/tpetra_block/ops_pow.hpp index 08af0b930..549969e51 100644 --- a/include/pressio/ops/tpetra_block/ops_pow.hpp +++ b/include/pressio/ops/tpetra_block/ops_pow.hpp @@ -53,7 +53,7 @@ namespace pressio{ namespace ops{ // y = |x|^exponent, expo>0 template -::pressio::mpl::enable_if_t< +std::enable_if_t< ( ::pressio::is_vector_tpetra_block::value || ::pressio::is_expression_column_acting_on_tpetra_block::value) && (::pressio::is_vector_tpetra_block::value @@ -79,7 +79,7 @@ abs_pow(T1 & y, // y = |x|^exponent, expo<0 template -::pressio::mpl::enable_if_t< +std::enable_if_t< (::pressio::is_vector_tpetra_block::value || ::pressio::is_expression_column_acting_on_tpetra_block::value) && (::pressio::is_vector_tpetra_block::value @@ -105,7 +105,7 @@ abs_pow(T1 & y, } template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_tpetra_block::value || ::pressio::is_expression_column_acting_on_tpetra_block::value > diff --git a/include/pressio/ops/tpetra_block/ops_rank1_update.hpp b/include/pressio/ops/tpetra_block/ops_rank1_update.hpp index 0383943e4..36879c815 100644 --- a/include/pressio/ops/tpetra_block/ops_rank1_update.hpp +++ b/include/pressio/ops/tpetra_block/ops_rank1_update.hpp @@ -55,7 +55,7 @@ namespace pressio{ namespace ops{ // computing: V = a * V + b * V1 //---------------------------------------------------------------------- template -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -91,7 +91,7 @@ template< class T, class T1, class T2, class a_Type, class b_Type, class c_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -139,7 +139,7 @@ template< class T, class T1, class T2, class T3, class a_Type, class b_Type, class c_Type, class d_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 @@ -196,7 +196,7 @@ template< class T, class T1, class T2, class T3, class T4, class a_Type, class b_Type, class c_Type, class d_Type, class e_Type > -::pressio::mpl::enable_if_t< +std::enable_if_t< // rank-1 update common constraints ::pressio::Traits::rank == 1 && ::pressio::Traits::rank == 1 diff --git a/include/pressio/ops/tpetra_block/ops_scale.hpp b/include/pressio/ops/tpetra_block/ops_scale.hpp index 6e53b94f0..314a85331 100644 --- a/include/pressio/ops/tpetra_block/ops_scale.hpp +++ b/include/pressio/ops/tpetra_block/ops_scale.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< // TPL/container specific ( ::pressio::is_vector_tpetra_block::value || ::pressio::is_multi_vector_tpetra_block::value diff --git a/include/pressio/ops/tpetra_block/ops_set_zero.hpp b/include/pressio/ops/tpetra_block/ops_set_zero.hpp index 188769e68..06a288e5f 100644 --- a/include/pressio/ops/tpetra_block/ops_set_zero.hpp +++ b/include/pressio/ops/tpetra_block/ops_set_zero.hpp @@ -52,7 +52,7 @@ namespace pressio{ namespace ops{ template -::pressio::mpl::enable_if_t< +std::enable_if_t< ( ::pressio::is_vector_tpetra_block::value || ::pressio::is_expression_column_acting_on_tpetra_block::value || ::pressio::is_multi_vector_tpetra_block::value) diff --git a/include/pressio/qr/base/qr_out_of_place_base.hpp b/include/pressio/qr/base/qr_out_of_place_base.hpp index b3c40c1d2..b8560b739 100644 --- a/include/pressio/qr/base/qr_out_of_place_base.hpp +++ b/include/pressio/qr/base/qr_out_of_place_base.hpp @@ -75,7 +75,7 @@ class QROutOfPlaceBase } template - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::Traits::rank ==1 and ::pressio::Traits::rank ==1 and meta::is_legitimate_vector_type_for_qr_project::value @@ -85,7 +85,7 @@ class QROutOfPlaceBase } template - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::Traits::rank ==1 and ::pressio::Traits::rank ==1 > diff --git a/include/pressio/qr/base/qr_solve_base.hpp b/include/pressio/qr/base/qr_solve_base.hpp index 5e67de9f5..46296856e 100644 --- a/include/pressio/qr/base/qr_solve_base.hpp +++ b/include/pressio/qr/base/qr_solve_base.hpp @@ -67,7 +67,7 @@ class QRSolveBase public: template - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::Traits::rank ==1 > solve(const VectorType & rhs, VectorType & y)const { diff --git a/include/pressio/qr/impl/eigen/qr_eigen_dense_out_of_place_impl.hpp b/include/pressio/qr/impl/eigen/qr_eigen_dense_out_of_place_impl.hpp index 95e77cbf4..e309bf7d8 100644 --- a/include/pressio/qr/impl/eigen/qr_eigen_dense_out_of_place_impl.hpp +++ b/include/pressio/qr/impl/eigen/qr_eigen_dense_out_of_place_impl.hpp @@ -56,7 +56,7 @@ namespace pressio{ namespace qr{ namespace impl{ template< typename MatrixType, typename R_t> class QRHouseholderDenseEigenMatrix< MatrixType, R_t, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dense_matrix_eigen::value > > diff --git a/include/pressio/qr/impl/epetra/qr_epetra_multi_vector_tsqr_impl.hpp b/include/pressio/qr/impl/epetra/qr_epetra_multi_vector_tsqr_impl.hpp index 08055d7a0..c8523c0b4 100644 --- a/include/pressio/qr/impl/epetra/qr_epetra_multi_vector_tsqr_impl.hpp +++ b/include/pressio/qr/impl/epetra/qr_epetra_multi_vector_tsqr_impl.hpp @@ -102,7 +102,7 @@ class EpetraMVTSQR } template - ::pressio::mpl::enable_if_t< + std::enable_if_t< !is_dense_matrix_teuchos::value and !std::is_void::value, const T & > @@ -112,7 +112,7 @@ class EpetraMVTSQR } template - ::pressio::mpl::enable_if_t< + std::enable_if_t< is_dense_matrix_teuchos::value and !std::is_void::value, const T & > diff --git a/include/pressio/qr/impl/qr_in_place.hpp b/include/pressio/qr/impl/qr_in_place.hpp index 5e796b8e4..63953a88b 100644 --- a/include/pressio/qr/impl/qr_in_place.hpp +++ b/include/pressio/qr/impl/qr_in_place.hpp @@ -96,7 +96,7 @@ class QRSolver // > // class QRSolver< // MatrixType, algo, true, R_type, Q_type, -// ::pressio::mpl::enable_if_t< +// std::enable_if_t< // meta::is_legitimate_r_type::value and // containers::predicates::is_multi_vector_wrapper::value // > diff --git a/include/pressio/qr/impl/qr_out_of_place.hpp b/include/pressio/qr/impl/qr_out_of_place.hpp index cf586349b..af0213979 100644 --- a/include/pressio/qr/impl/qr_out_of_place.hpp +++ b/include/pressio/qr/impl/qr_out_of_place.hpp @@ -113,7 +113,7 @@ class QRSolver // > // class QRSolver< // MatrixType, algo, false, R_type, Q_type, -// ::pressio::mpl::enable_if_t< +// std::enable_if_t< // meta::is_legitimate_r_type::value and // (containers::predicates::is_multi_vector_wrapper_epetra::value or // containers::predicates::is_multi_vector_wrapper_tpetra::value) diff --git a/include/pressio/qr/impl/qr_rfactor_solve_impl.hpp b/include/pressio/qr/impl/qr_rfactor_solve_impl.hpp index 18daede6a..097531003 100644 --- a/include/pressio/qr/impl/qr_rfactor_solve_impl.hpp +++ b/include/pressio/qr/impl/qr_rfactor_solve_impl.hpp @@ -59,7 +59,7 @@ namespace pressio{ namespace qr{ namespace impl{ #ifdef PRESSIO_ENABLE_TPL_EIGEN template< typename VectorType, typename R_type> -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_vector_eigen::value and ::pressio::is_dense_matrix_eigen::value > @@ -73,7 +73,7 @@ solve(const VectorType & rhs, #ifdef PRESSIO_ENABLE_TPL_TRILINOS template -::pressio::mpl::enable_if_t< +std::enable_if_t< ::pressio::is_dense_vector_teuchos::value and ::pressio::is_dense_matrix_teuchos_rcp::value > @@ -102,7 +102,7 @@ solve(const VectorType & rhs, R_type Rmatrix, VectorType & y) } template -::pressio::mpl::enable_if_t< +std::enable_if_t< !::pressio::is_dense_vector_teuchos::value and ::pressio::is_dense_matrix_teuchos_rcp::value > diff --git a/include/pressio/qr/impl/tpetra/qr_tpetra_block_multi_vector_tsqr_impl.hpp b/include/pressio/qr/impl/tpetra/qr_tpetra_block_multi_vector_tsqr_impl.hpp index 0077d7f36..fc0620af2 100644 --- a/include/pressio/qr/impl/tpetra/qr_tpetra_block_multi_vector_tsqr_impl.hpp +++ b/include/pressio/qr/impl/tpetra/qr_tpetra_block_multi_vector_tsqr_impl.hpp @@ -116,7 +116,7 @@ class TpetraBlockMVTSQR } template - ::pressio::mpl::enable_if_t< + std::enable_if_t< !::pressio::is_dense_matrix_teuchos::value and !std::is_void::value, const T & @@ -128,7 +128,7 @@ class TpetraBlockMVTSQR } template - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dense_matrix_teuchos::value and !std::is_void::value, const T & diff --git a/include/pressio/qr/impl/tpetra/qr_tpetra_multi_vector_tsqr_impl.hpp b/include/pressio/qr/impl/tpetra/qr_tpetra_multi_vector_tsqr_impl.hpp index 987209aea..ee7a62f51 100644 --- a/include/pressio/qr/impl/tpetra/qr_tpetra_multi_vector_tsqr_impl.hpp +++ b/include/pressio/qr/impl/tpetra/qr_tpetra_multi_vector_tsqr_impl.hpp @@ -105,7 +105,7 @@ class TpetraMVTSQR } template - ::pressio::mpl::enable_if_t< + std::enable_if_t< !::pressio::is_dense_matrix_teuchos::value and !std::is_void::value, const T & @@ -116,7 +116,7 @@ class TpetraMVTSQR } template - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dense_matrix_teuchos::value and !std::is_void::value, const T & diff --git a/include/pressio/qr/qr_meta.hpp b/include/pressio/qr/qr_meta.hpp index 72f63b1a5..625a7fa34 100644 --- a/include/pressio/qr/qr_meta.hpp +++ b/include/pressio/qr/qr_meta.hpp @@ -57,7 +57,7 @@ struct is_legitimate_r_type : std::false_type {}; template struct is_legitimate_r_type::rank == 2 and ::pressio::Traits::is_shared_mem and ::pressio::Traits::is_dense @@ -70,7 +70,7 @@ struct is_legitimate_vector_type_for_qr_project : std::false_type {}; template struct is_legitimate_vector_type_for_qr_project::rank == 1 and // the vector type should be from same package as Q (false @@ -96,7 +96,7 @@ struct is_legitimate_vector_type_for_qr_project // struct is_legitimate_algo_for_epetra_mv::value // or std::is_same::value // > @@ -109,7 +109,7 @@ struct is_legitimate_vector_type_for_qr_project // struct is_legitimate_algo_for_tpetra_mv::value // or std::is_same::value // > diff --git a/include/pressio/qr/qr_traits.hpp b/include/pressio/qr/qr_traits.hpp index bca6557e6..8e1d268c2 100644 --- a/include/pressio/qr/qr_traits.hpp +++ b/include/pressio/qr/qr_traits.hpp @@ -70,7 +70,7 @@ struct qr_traits_shared_all{ template struct Traits< qr::impl::QRSolver, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_dense_matrix_eigen::value > > : qr_traits_shared_all @@ -120,7 +120,7 @@ struct impl_class_helper{ template struct impl_class_helper< matrix_t, qr::TSQR, R_t, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_multi_vector_tpetra::value > > @@ -131,7 +131,7 @@ struct impl_class_helper< template struct impl_class_helper< matrix_t, qr::TSQR, R_t, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_multi_vector_tpetra_block::value > > @@ -142,7 +142,7 @@ struct impl_class_helper< template struct impl_class_helper< matrix_t, qr::ModifiedGramSchmidt, R_t, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_multi_vector_tpetra::value > > @@ -153,7 +153,7 @@ struct impl_class_helper< template struct impl_class_helper< matrix_t, qr::Householder, R_t, - ::pressio::mpl::enable_if_t< + std::enable_if_t< ::pressio::is_multi_vector_tpetra::value > >{ @@ -199,7 +199,7 @@ struct Traits< template struct Traits< qr::impl::QRSolver, - ::pressio::mpl::enable_if_t<::pressio::is_multi_vector_tpetra::value> + std::enable_if_t<::pressio::is_multi_vector_tpetra::value> > : qr_traits_shared_all { @@ -233,7 +233,7 @@ struct Traits< template struct Traits< qr::impl::QRSolver, - ::pressio::mpl::enable_if_t< ::pressio::is_multi_vector_tpetra_block::value > + std::enable_if_t< ::pressio::is_multi_vector_tpetra_block::value > > : qr_traits_shared_all { diff --git a/include/pressio/rom/concepts_helpers.hpp b/include/pressio/rom/concepts_helpers.hpp index da44cfc2f..40d7569ee 100644 --- a/include/pressio/rom/concepts_helpers.hpp +++ b/include/pressio/rom/concepts_helpers.hpp @@ -100,7 +100,7 @@ struct mask_action{ template struct mask_action< MaskerType, OperandType, - mpl::enable_if_t< + std::enable_if_t< !std::is_void< decltype (std::declval().createResultOfMaskActionOn @@ -131,7 +131,7 @@ struct fom_mass_matrix_action{ template struct fom_mass_matrix_action< MassMatrixOpType, OperandType, - mpl::enable_if_t< + std::enable_if_t< !std::is_void< decltype (std::declval().createResultOfMassMatrixActionOn diff --git a/include/pressio/rom/galerkin_unsteady_explicit.hpp b/include/pressio/rom/galerkin_unsteady_explicit.hpp index d1124a872..ba3b4f516 100644 --- a/include/pressio/rom/galerkin_unsteady_explicit.hpp +++ b/include/pressio/rom/galerkin_unsteady_explicit.hpp @@ -25,7 +25,7 @@ template #else template< class TrialSubspaceType, class FomSystemType, - mpl::enable_if_t< + std::enable_if_t< PossiblyAffineRealValuedTrialColumnSubspace::value && RealValuedSemiDiscreteFom::value && !RealValuedSemiDiscreteFomWithMassMatrixAction::value @@ -65,7 +65,7 @@ template #else template< class TrialSubspaceType, class FomSystemType, - mpl::enable_if_t< + std::enable_if_t< PossiblyAffineRealValuedTrialColumnSubspace::value && RealValuedSemiDiscreteFomWithMassMatrixAction::value && std::is_same::value diff --git a/include/pressio/rom/galerkin_unsteady_implicit.hpp b/include/pressio/rom/galerkin_unsteady_implicit.hpp index a13acc7ed..0f66a45af 100644 --- a/include/pressio/rom/galerkin_unsteady_implicit.hpp +++ b/include/pressio/rom/galerkin_unsteady_implicit.hpp @@ -24,7 +24,7 @@ template #else template< class TrialSubspaceType, class FomSystemType, - mpl::enable_if_t< + std::enable_if_t< PossiblyAffineRealValuedTrialColumnSubspace::value && RealValuedSemiDiscreteFomWithJacobianAction::value && !RealValuedSemiDiscreteFomWithJacobianAndMassMatrixAction::value @@ -67,7 +67,7 @@ template #else template< class TrialSubspaceType, class FomSystemType, - mpl::enable_if_t< + std::enable_if_t< PossiblyAffineRealValuedTrialColumnSubspace::value && RealValuedSemiDiscreteFomWithJacobianAndMassMatrixAction< FomSystemType, typename TrialSubspaceType::basis_matrix_type>::value diff --git a/include/pressio/rom/impl/galerkin_helpers.hpp b/include/pressio/rom/impl/galerkin_helpers.hpp index 24d28b792..e60828a3b 100644 --- a/include/pressio/rom/impl/galerkin_helpers.hpp +++ b/include/pressio/rom/impl/galerkin_helpers.hpp @@ -28,7 +28,7 @@ template struct CreateGalerkinRhs; #ifdef PRESSIO_ENABLE_TPL_EIGEN template struct CreateGalerkinRhs< - T, mpl::enable_if_t< ::pressio::is_vector_eigen::value > + T, std::enable_if_t< ::pressio::is_vector_eigen::value > > { T operator()(std::size_t ext){ return T(ext); } @@ -44,7 +44,7 @@ struct CreateGalerkinMassMatrix; #ifdef PRESSIO_ENABLE_TPL_EIGEN template struct CreateGalerkinMassMatrix< - T, mpl::enable_if_t< ::pressio::is_dense_matrix_eigen::value > + T, std::enable_if_t< ::pressio::is_dense_matrix_eigen::value > > { T operator()(std::size_t ext){ return T(ext, ext); } diff --git a/include/pressio/rom/impl/galerkin_unsteady_system_fully_discrete_fom.hpp b/include/pressio/rom/impl/galerkin_unsteady_system_fully_discrete_fom.hpp index 54b347ec0..f1978b86c 100644 --- a/include/pressio/rom/impl/galerkin_unsteady_system_fully_discrete_fom.hpp +++ b/include/pressio/rom/impl/galerkin_unsteady_system_fully_discrete_fom.hpp @@ -67,7 +67,7 @@ class GalerkinDefaultFullyDiscreteSystem } template - mpl::enable_if_t< (_n==2) > + std::enable_if_t< (_n==2) > discreteResidualAndJacobian(const step_t & currentStepNumber, const independent_variable_type & time_np1, const independent_variable_type & dt, @@ -97,7 +97,7 @@ class GalerkinDefaultFullyDiscreteSystem } template - mpl::enable_if_t< (_n==3) > + std::enable_if_t< (_n==3) > discreteResidualAndJacobian(const step_t & currentStepNumber, const independent_variable_type & time_np1, const independent_variable_type & dt, diff --git a/include/pressio/rom/impl/galerkin_unsteady_system_hypred_fully_discrete_fom.hpp b/include/pressio/rom/impl/galerkin_unsteady_system_hypred_fully_discrete_fom.hpp index 281260a63..91634a7fd 100644 --- a/include/pressio/rom/impl/galerkin_unsteady_system_hypred_fully_discrete_fom.hpp +++ b/include/pressio/rom/impl/galerkin_unsteady_system_hypred_fully_discrete_fom.hpp @@ -76,7 +76,7 @@ class GalerkinHypRedFullyDiscreteSystem } template - mpl::enable_if_t< (_n==2) > + std::enable_if_t< (_n==2) > discreteResidualAndJacobian(const step_t & currentStepNumber, const independent_variable_type & time_np1, const independent_variable_type & dt, @@ -102,7 +102,7 @@ class GalerkinHypRedFullyDiscreteSystem } template - mpl::enable_if_t< (_n==3) > + std::enable_if_t< (_n==3) > discreteResidualAndJacobian(const step_t & currentStepNumber, const independent_variable_type & time_np1, const independent_variable_type & dt, diff --git a/include/pressio/rom/impl/linear_trial_column_subspace.hpp b/include/pressio/rom/impl/linear_trial_column_subspace.hpp index 13d9fd5c2..0d9c00f2b 100644 --- a/include/pressio/rom/impl/linear_trial_column_subspace.hpp +++ b/include/pressio/rom/impl/linear_trial_column_subspace.hpp @@ -11,7 +11,7 @@ struct CreateReducedState; template struct CreateReducedState< ReducedStateType, - mpl::enable_if_t< ::pressio::is_vector_eigen::value > + std::enable_if_t< ::pressio::is_vector_eigen::value > > { template @@ -25,7 +25,7 @@ struct CreateReducedState< template struct CreateReducedState< ReducedStateType, - mpl::enable_if_t< ::pressio::is_vector_kokkos::value > + std::enable_if_t< ::pressio::is_vector_kokkos::value > > { template diff --git a/include/pressio/rom/impl/lspg_unsteady_fully_discrete_system.hpp b/include/pressio/rom/impl/lspg_unsteady_fully_discrete_system.hpp index 907cd5ef4..02935713a 100644 --- a/include/pressio/rom/impl/lspg_unsteady_fully_discrete_system.hpp +++ b/include/pressio/rom/impl/lspg_unsteady_fully_discrete_system.hpp @@ -101,7 +101,7 @@ class LspgFullyDiscreteSystem } template - mpl::enable_if_t< (_n==2) > + std::enable_if_t< (_n==2) > discreteResidualAndJacobian(const step_t & currentStepNumber, const independent_variable_type & time_np1, const independent_variable_type & dt, @@ -130,7 +130,7 @@ class LspgFullyDiscreteSystem } template - mpl::enable_if_t< (_n==3) > + std::enable_if_t< (_n==3) > discreteResidualAndJacobian(const step_t & currentStepNumber, const independent_variable_type & time_np1, const independent_variable_type & dt, diff --git a/include/pressio/rom/impl/lspg_unsteady_problem.hpp b/include/pressio/rom/impl/lspg_unsteady_problem.hpp index e0fb8fc40..6f03d7e88 100644 --- a/include/pressio/rom/impl/lspg_unsteady_problem.hpp +++ b/include/pressio/rom/impl/lspg_unsteady_problem.hpp @@ -20,7 +20,7 @@ template <> struct DeducedStepperType<-1>{ template struct DeducedStepperType< TotalNumberOfDesiredStates, - mpl::enable_if_t< (TotalNumberOfDesiredStates>0) > + std::enable_if_t< (TotalNumberOfDesiredStates>0) > > { template @@ -51,7 +51,7 @@ class LspgUnsteadyProblem class FomSystemType, class ...Args, int _TotalNumberOfDesiredStates = TotalNumberOfDesiredStates, - mpl::enable_if_t< _TotalNumberOfDesiredStates == -1, int > = 0 + std::enable_if_t< _TotalNumberOfDesiredStates == -1, int > = 0 > LspgUnsteadyProblem(::pressio::ode::StepScheme odeSchemeName, const TrialSubspaceType & trialSubspace, @@ -69,7 +69,7 @@ class LspgUnsteadyProblem class FomSystemType, class ...Args, int _TotalNumberOfDesiredStates = TotalNumberOfDesiredStates, - mpl::enable_if_t< (_TotalNumberOfDesiredStates > 0), int > = 0 + std::enable_if_t< (_TotalNumberOfDesiredStates > 0), int > = 0 > LspgUnsteadyProblem(const TrialSubspaceType & trialSubspace, const FomSystemType & fomSystem, diff --git a/include/pressio/rom/impl/ode_has_const_discrete_residual_jacobian_action_method.hpp b/include/pressio/rom/impl/ode_has_const_discrete_residual_jacobian_action_method.hpp index 848787640..af74eaf8b 100644 --- a/include/pressio/rom/impl/ode_has_const_discrete_residual_jacobian_action_method.hpp +++ b/include/pressio/rom/impl/ode_has_const_discrete_residual_jacobian_action_method.hpp @@ -22,7 +22,7 @@ template < class ResidualType, class ManifoldJacobian, class JacobianType> struct has_const_discrete_residual_jacobian_action_method< T, 1, StepType, IndVarType, StateType, ResidualType, ManifoldJacobian, JacobianType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype ( @@ -50,7 +50,7 @@ template < class ResidualType, class ManifoldJacobian, class JacobianType> struct has_const_discrete_residual_jacobian_action_method< T, 2, StepType, IndVarType, StateType, ResidualType, ManifoldJacobian, JacobianType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype ( @@ -79,7 +79,7 @@ template < class ResidualType, class ManifoldJacobian, class JacobianType> struct has_const_discrete_residual_jacobian_action_method< T, 3, StepType, IndVarType, StateType, ResidualType, ManifoldJacobian, JacobianType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype ( diff --git a/include/pressio/rom/lspg_unsteady.hpp b/include/pressio/rom/lspg_unsteady.hpp index ddb1471cf..8c42305d7 100644 --- a/include/pressio/rom/lspg_unsteady.hpp +++ b/include/pressio/rom/lspg_unsteady.hpp @@ -65,7 +65,7 @@ template #else template< class TrialSubspaceType, class FomSystemType, class MaskerType, - mpl::enable_if_t< + std::enable_if_t< PossiblyAffineRealValuedTrialColumnSubspace::value && RealValuedSemiDiscreteFomWithJacobianAction::value && std::is_same::value @@ -119,7 +119,7 @@ template && std::same_as #else template::value && RealValuedSemiDiscreteFomWithJacobianAction::value && std::is_same::value diff --git a/include/pressio/rom/predicates.hpp b/include/pressio/rom/predicates.hpp index d124cdab2..aec98b521 100644 --- a/include/pressio/rom/predicates.hpp +++ b/include/pressio/rom/predicates.hpp @@ -12,7 +12,7 @@ struct has_const_create_##NAMEA##_return_result \ : std::false_type{};\ template \ struct has_const_create_##NAMEA##_return_result().create##NAMEB()\ @@ -34,7 +34,7 @@ struct has_const_map_from_reduced_state_return_void template struct has_const_map_from_reduced_state_return_void< T, - mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype( std::declval().mapFromReducedState @@ -55,7 +55,7 @@ struct has_const_create_full_state_from_reduced_state template struct has_const_create_full_state_from_reduced_state< T, - mpl::enable_if_t< + std::enable_if_t< std::is_same< decltype( std::declval().createFullStateFromReducedState @@ -76,9 +76,9 @@ struct has_const_create_residual_method_return_result template struct has_const_create_residual_method_return_result< T, ResidualType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< !std::is_void::value and - mpl::is_same< + std::is_same< ResidualType, decltype( std::declval().createResidual() @@ -95,7 +95,7 @@ struct has_const_residual_method_accept_state_result_return_void template struct has_const_residual_method_accept_state_result_return_void< T, StateType, ResidualType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype( std::declval().residual( @@ -214,7 +214,7 @@ struct has_const_create_result_of_jacobian_action_on template struct has_const_create_result_of_jacobian_action_on< T, OperandType, - mpl::enable_if_t< + std::enable_if_t< !std::is_void< decltype ( @@ -235,7 +235,7 @@ struct has_const_create_apply_mass_matrix_result_method_accept_operand_return_re template struct has_const_create_apply_mass_matrix_result_method_accept_operand_return_result< T, OperandType, - mpl::enable_if_t< + std::enable_if_t< !std::is_void< decltype ( @@ -256,7 +256,7 @@ struct has_const_rhs_method_accept_state_indvar_result_return_void template struct has_const_rhs_method_accept_state_indvar_result_return_void< T, StateType, IndVarType, RhsType, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype( std::declval().rhs( diff --git a/include/pressio/rom/reduced_operators_traits.hpp b/include/pressio/rom/reduced_operators_traits.hpp index 2f83df2c0..13379ef0a 100644 --- a/include/pressio/rom/reduced_operators_traits.hpp +++ b/include/pressio/rom/reduced_operators_traits.hpp @@ -18,7 +18,7 @@ struct SteadyGalerkinDefaultReducedOperatorsTraits #ifdef PRESSIO_ENABLE_TPL_EIGEN template struct SteadyGalerkinDefaultReducedOperatorsTraits< - T, mpl::enable_if_t<::pressio::is_vector_eigen::value> > + T, std::enable_if_t<::pressio::is_vector_eigen::value> > { using reduced_state_type = T; using reduced_residual_type = T; @@ -62,7 +62,7 @@ struct ExplicitGalerkinDefaultReducedOperatorsTraits #ifdef PRESSIO_ENABLE_TPL_EIGEN template struct ExplicitGalerkinDefaultReducedOperatorsTraits< - T, mpl::enable_if_t<::pressio::is_vector_eigen::value> > + T, std::enable_if_t<::pressio::is_vector_eigen::value> > { using reduced_state_type = T; using reduced_rhs_type = T; @@ -103,7 +103,7 @@ struct ImplicitGalerkinDefaultReducedOperatorsTraits #ifdef PRESSIO_ENABLE_TPL_EIGEN template struct ImplicitGalerkinDefaultReducedOperatorsTraits< - T, mpl::enable_if_t<::pressio::is_vector_eigen::value> > + T, std::enable_if_t<::pressio::is_vector_eigen::value> > { using reduced_state_type = T; using reduced_residual_type = T; @@ -149,7 +149,7 @@ struct SteadyLspgDefaultReducedOperatorsTraits #ifdef PRESSIO_ENABLE_TPL_EIGEN template struct SteadyLspgDefaultReducedOperatorsTraits< - T, mpl::enable_if_t<::pressio::is_vector_eigen::value> > + T, std::enable_if_t<::pressio::is_vector_eigen::value> > { using reduced_state_type = T; using gradient_type = T; @@ -171,7 +171,7 @@ struct UnsteadyLspgDefaultReducedOperatorsTraits #ifdef PRESSIO_ENABLE_TPL_EIGEN template struct UnsteadyLspgDefaultReducedOperatorsTraits< - T, mpl::enable_if_t<::pressio::is_vector_eigen::value> > + T, std::enable_if_t<::pressio::is_vector_eigen::value> > { using reduced_state_type = T; using gradient_type = T; diff --git a/include/pressio/rom/rom_concepts.hpp b/include/pressio/rom/rom_concepts.hpp index ea9d64df4..35d94e54b 100644 --- a/include/pressio/rom/rom_concepts.hpp +++ b/include/pressio/rom/rom_concepts.hpp @@ -60,7 +60,7 @@ struct ReducedState : std::false_type{}; #ifdef PRESSIO_ENABLE_TPL_EIGEN template struct ReducedState< - T, mpl::enable_if_t< ::pressio::is_vector_eigen::value > > : std::true_type{}; + T, std::enable_if_t< ::pressio::is_vector_eigen::value > > : std::true_type{}; #endif // ---------------------------------------------------------------------------- @@ -72,7 +72,7 @@ struct VectorSubspace: std::false_type{}; template struct VectorSubspace< T, - mpl::enable_if_t< + std::enable_if_t< std::is_copy_constructible::value && ::pressio::has_basis_matrix_typedef::value && std::is_copy_constructible::value @@ -106,7 +106,7 @@ struct PossiblyAffineTrialColumnSubspace : std::false_type{}; template struct PossiblyAffineTrialColumnSubspace< T, - mpl::enable_if_t< + std::enable_if_t< ::pressio::has_reduced_state_typedef::value && ReducedState::value && ::pressio::has_basis_matrix_typedef::value @@ -163,7 +163,7 @@ struct PossiblyAffineRealValuedTrialColumnSubspace: std::false_type{}; template struct PossiblyAffineRealValuedTrialColumnSubspace< T, - mpl::enable_if_t< + std::enable_if_t< PossiblyAffineTrialColumnSubspace::value && std::is_floating_point< scalar_trait_t >::value && std::is_floating_point< scalar_trait_t >::value @@ -181,7 +181,7 @@ struct MaskableWith : std::false_type{}; template struct MaskableWith< T, MaskerType, - mpl::enable_if_t< + std::enable_if_t< std::is_copy_constructible< decltype (std::declval().createResultOfMaskActionOn @@ -211,7 +211,7 @@ struct SteadyFomWithJacobianAction : std::false_type{}; template struct SteadyFomWithJacobianAction< T, JacobianActionOperandType, - mpl::enable_if_t< + std::enable_if_t< ::pressio::has_state_typedef::value && ::pressio::has_residual_typedef::value && std::is_copy_constructible::value @@ -250,7 +250,7 @@ struct SemiDiscreteFom : std::false_type{}; template struct SemiDiscreteFom< T, - mpl::enable_if_t< + std::enable_if_t< ::pressio::has_time_typedef::value && ::pressio::has_state_typedef::value && ::pressio::has_rhs_typedef::value @@ -270,7 +270,7 @@ struct SemiDiscreteFomWithMassMatrixAction : std::false_type{}; template struct SemiDiscreteFomWithMassMatrixAction< T, MassMatrixActionOperandType, - mpl::enable_if_t< + std::enable_if_t< SemiDiscreteFom::value // && std::is_copy_constructible< @@ -304,7 +304,7 @@ struct SemiDiscreteFomWithJacobianAction : std::false_type{}; template struct SemiDiscreteFomWithJacobianAction< T, JacobianActionOperandType, - mpl::enable_if_t< + std::enable_if_t< SemiDiscreteFom::value && ::pressio::rom::has_const_create_result_of_jacobian_action_on< T, JacobianActionOperandType>::value @@ -326,7 +326,7 @@ struct SemiDiscreteFomWithJacobianAndMassMatrixAction : std::false_type{}; template struct SemiDiscreteFomWithJacobianAndMassMatrixAction< T, OperandType, - mpl::enable_if_t< + std::enable_if_t< SemiDiscreteFomWithJacobianAction::value && SemiDiscreteFomWithMassMatrixAction::value > @@ -339,14 +339,14 @@ struct FullyDiscreteSystemWithJacobianAction : std::false_type{}; template struct FullyDiscreteSystemWithJacobianAction< T, TotalNumStates, JacobianActionOperandType, - mpl::enable_if_t< + std::enable_if_t< (TotalNumStates == 2 || TotalNumStates == 3) && ::pressio::has_time_typedef::value && ::pressio::has_state_typedef::value && ::pressio::has_discrete_residual_typedef::value && std::is_copy_constructible::value && std::is_copy_constructible::value - && mpl::is_same< + && std::is_same< typename T::discrete_residual_type, decltype(std::declval().createDiscreteTimeResidual()) >::value @@ -382,7 +382,7 @@ struct RealValuedSteadyFomWithJacobianAction : std::false_type{}; template struct RealValuedSteadyFomWithJacobianAction< T, JacobianActionOperandType, - mpl::enable_if_t< + std::enable_if_t< SteadyFomWithJacobianAction::value && std::is_floating_point< scalar_trait_t >::value && std::is_floating_point< scalar_trait_t >::value @@ -399,7 +399,7 @@ struct RealValuedSemiDiscreteFom : std::false_type{}; template struct RealValuedSemiDiscreteFom< T, - mpl::enable_if_t< + std::enable_if_t< SemiDiscreteFom::value && std::is_floating_point< typename T::time_type>::value && std::is_floating_point< scalar_trait_t >::value @@ -414,7 +414,7 @@ struct RealValuedSemiDiscreteFomWithMassMatrixAction : std::false_type{}; template struct RealValuedSemiDiscreteFomWithMassMatrixAction< T, MassMatrixActionOperandType, - mpl::enable_if_t< + std::enable_if_t< RealValuedSemiDiscreteFom::value && SemiDiscreteFomWithMassMatrixAction::value && std::is_floating_point< @@ -430,7 +430,7 @@ struct RealValuedSemiDiscreteFomWithJacobianAction : std::false_type{}; template struct RealValuedSemiDiscreteFomWithJacobianAction< T, OperandType, - mpl::enable_if_t< + std::enable_if_t< RealValuedSemiDiscreteFom::value && SemiDiscreteFomWithJacobianAction::value && std::is_floating_point< @@ -446,7 +446,7 @@ struct RealValuedSemiDiscreteFomWithJacobianAndMassMatrixAction : std::false_typ template struct RealValuedSemiDiscreteFomWithJacobianAndMassMatrixAction< T, OperandType, - mpl::enable_if_t< + std::enable_if_t< RealValuedSemiDiscreteFomWithJacobianAction::value && RealValuedSemiDiscreteFomWithMassMatrixAction::value > @@ -459,7 +459,7 @@ struct RealValuedFullyDiscreteSystemWithJacobianAction : std::false_type{}; template struct RealValuedFullyDiscreteSystemWithJacobianAction< T, TotalNumStates, OperandType, - mpl::enable_if_t< + std::enable_if_t< FullyDiscreteSystemWithJacobianAction::value && std::is_floating_point< scalar_trait_t >::value && std::is_floating_point< scalar_trait_t >::value diff --git a/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_geqrf_impl.hpp b/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_geqrf_impl.hpp index 2e38c6ae1..04d43c0a2 100644 --- a/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_geqrf_impl.hpp +++ b/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_geqrf_impl.hpp @@ -106,11 +106,11 @@ class KokkosDirect<::pressio::linearsolvers::direct::geqrf, MatrixType> * T and MatrixType have same execution space */ template - mpl::enable_if_t< - mpl::is_same::value + std::enable_if_t< + std::is_same::value and ::pressio::is_vector_kokkos::value /*and ::pressio::containers::details::traits::has_host_execution_space and*/ - and mpl::is_same::value + and std::is_same::value > solve(const _MatrixType & A, const T& b, T & y) { @@ -132,11 +132,11 @@ class KokkosDirect<::pressio::linearsolvers::direct::geqrf, MatrixType> * T and MatrixType have same execution space */ template - mpl::enable_if_t< - mpl::is_same::value + std::enable_if_t< + std::is_same::value and ::pressio::is_vector_kokkos::value /*::pressio::containers::details::traits::has_host_execution_space and*/ - and mpl::is_same::value + and std::is_same::value > solveAllowMatOverwrite(_MatrixType & A, const T& b, T & y) { diff --git a/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_getrs_impl.hpp b/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_getrs_impl.hpp index ede5caa0b..df52529df 100644 --- a/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_getrs_impl.hpp +++ b/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_getrs_impl.hpp @@ -105,11 +105,11 @@ class KokkosDirect<::pressio::linearsolvers::direct::getrs, MatrixType> * T and MatrixType have same execution space */ template < typename _MatrixType = MatrixType, typename T> - mpl::enable_if_t< - mpl::is_same::value + std::enable_if_t< + std::is_same::value and ::pressio::is_vector_kokkos::value /*::pressio::containers::details::traits::has_host_execution_space and*/ - and mpl::is_same::value + and std::is_same::value > solve(const _MatrixType & A, const T& b, T & y) { @@ -133,11 +133,11 @@ class KokkosDirect<::pressio::linearsolvers::direct::getrs, MatrixType> * T and MatrixType have same execution space */ template < typename _MatrixType = MatrixType, typename T> - mpl::enable_if_t< - mpl::is_same::value + std::enable_if_t< + std::is_same::value and ::pressio::is_vector_kokkos::value /*::pressio::containers::details::traits::has_host_execution_space and*/ - and mpl::is_same::value + and std::is_same::value > solveAllowMatOverwrite(_MatrixType & A, const T& b, T & y) { @@ -180,11 +180,11 @@ class KokkosDirect<::pressio::linearsolvers::direct::getrs, MatrixType> * T and MatrixType have same execution space */ template < typename _MatrixType = MatrixType, typename T> - mpl::enable_if_t< - mpl::is_same::value + std::enable_if_t< + std::is_same::value and ::pressio::is_vector_kokkos::value /*and ::pressio::containers::details::traits::has_host_execution_space and*/ - and mpl::is_same::value + and std::is_same::value > solveAllowMatOverwrite(_MatrixType & A, const T& b, T & y) { diff --git a/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_potrs_lower_impl.hpp b/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_potrs_lower_impl.hpp index edc7340d0..2c8967301 100644 --- a/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_potrs_lower_impl.hpp +++ b/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_potrs_lower_impl.hpp @@ -95,11 +95,11 @@ class KokkosDirect<::pressio::linearsolvers::direct::potrsL, MatrixType> * T and MatrixType have same execution space */ template < typename _MatrixType = MatrixType, typename T> - mpl::enable_if_t< - mpl::is_same::value + std::enable_if_t< + std::is_same::value and ::pressio::is_vector_kokkos::value /*and ::pressio::containers::details::traits::has_host_execution_space and*/ - and mpl::is_same::value + and std::is_same::value > solve(const _MatrixType & A, const T& b, T & y) { @@ -123,11 +123,11 @@ class KokkosDirect<::pressio::linearsolvers::direct::potrsL, MatrixType> * T and MatrixType have same execution space */ template < typename _MatrixType = MatrixType, typename T> - mpl::enable_if_t< - mpl::is_same::value + std::enable_if_t< + std::is_same::value and ::pressio::is_vector_kokkos::value /*and ::pressio::containers::details::traits::has_host_execution_space and*/ - and mpl::is_same::value + and std::is_same::value > solveAllowMatOverwrite(_MatrixType & A, const T& b, T & y) { diff --git a/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_potrs_upper_impl.hpp b/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_potrs_upper_impl.hpp index c9e8fc4c3..ea92bac64 100644 --- a/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_potrs_upper_impl.hpp +++ b/include/pressio/solvers_linear/impl/solvers_linear_kokkos_direct_potrs_upper_impl.hpp @@ -94,11 +94,11 @@ class KokkosDirect<::pressio::linearsolvers::direct::potrsU, MatrixType> * T and MatrixType have same execution space */ template - mpl::enable_if_t< - mpl::is_same::value + std::enable_if_t< + std::is_same::value and ::pressio::is_vector_kokkos::value /*and ::pressio::containers::details::traits::has_host_execution_space and*/ - and mpl::is_same::value + and std::is_same::value > solve(const _MatrixType & A, const T& b, T & y) { @@ -122,11 +122,11 @@ class KokkosDirect<::pressio::linearsolvers::direct::potrsU, MatrixType> * T and MatrixType have same execution space */ template - mpl::enable_if_t< - mpl::is_same::value + std::enable_if_t< + std::is_same::value and ::pressio::is_vector_kokkos::value /*and ::pressio::containers::details::traits::has_host_execution_space and*/ - and mpl::is_same::value + and std::is_same::value > solveAllowMatOverwrite(_MatrixType & A, const T& b, T & y) { diff --git a/include/pressio/solvers_linear/impl/solvers_linear_solver_selector_impl.hpp b/include/pressio/solvers_linear/impl/solvers_linear_solver_selector_impl.hpp index b86626a2d..66924aa20 100644 --- a/include/pressio/solvers_linear/impl/solvers_linear_solver_selector_impl.hpp +++ b/include/pressio/solvers_linear/impl/solvers_linear_solver_selector_impl.hpp @@ -72,7 +72,7 @@ struct Selector{ template struct Selector< TagType, MatrixType, - mpl::enable_if_t< + std::enable_if_t< ::pressio::linearsolvers::Traits::iterative and (::pressio::is_dense_matrix_eigen::value or ::pressio::is_sparse_matrix_eigen::value) @@ -86,7 +86,7 @@ struct Selector< template struct Selector< TagType, MatrixType, - mpl::enable_if_t< + std::enable_if_t< ::pressio::linearsolvers::Traits::direct and (::pressio::is_dense_matrix_eigen::value or ::pressio::is_sparse_matrix_eigen::value)> @@ -101,7 +101,7 @@ struct Selector< template struct Selector< TagType, MatrixType, - mpl::enable_if_t< + std::enable_if_t< ::pressio::linearsolvers::Traits::direct and (::pressio::is_dense_matrix_kokkos::value) > diff --git a/include/pressio/solvers_nonlinear/impl/functions.hpp b/include/pressio/solvers_nonlinear/impl/functions.hpp index 468bb5756..170ab3fbc 100644 --- a/include/pressio/solvers_nonlinear/impl/functions.hpp +++ b/include/pressio/solvers_nonlinear/impl/functions.hpp @@ -10,7 +10,7 @@ namespace pressio{ namespace nonlinearsolvers{ namespace impl{ #else template< class RegistryType, class StateType, class SystemType, - mpl::enable_if_t::value, int> = 0 + std::enable_if_t::value, int> = 0 > #endif void compute_residual(RegistryType & reg, @@ -31,7 +31,7 @@ requires NonlinearSystem #else template< class RegistryType, class StateType, class SystemType, - mpl::enable_if_t< NonlinearSystem::value, int> = 0 + std::enable_if_t< NonlinearSystem::value, int> = 0 > #endif void compute_residual(RegistryType & reg, @@ -137,7 +137,7 @@ requires RealValuedNonlinearSystemFusingResidualAndJacobian #else template< class RegistryType, class SystemType, - mpl::enable_if_t< + std::enable_if_t< RealValuedNonlinearSystemFusingResidualAndJacobian::value, int> = 0 > @@ -168,7 +168,7 @@ requires RealValuedNonlinearSystemFusingResidualAndJacobian #else template< class RegistryType, class SystemType, - mpl::enable_if_t< + std::enable_if_t< RealValuedNonlinearSystemFusingResidualAndJacobian::value, int> = 0 > @@ -196,7 +196,7 @@ requires RealValuedNonlinearSystemFusingResidualAndJacobian #else template< class RegistryType, class SystemType, - mpl::enable_if_t< + std::enable_if_t< RealValuedNonlinearSystemFusingResidualAndJacobian::value, int> = 0 > @@ -236,7 +236,7 @@ requires RealValuedNonlinearSystemFusingResidualAndJacobian #else template< class RegistryType, class SystemType, - mpl::enable_if_t< + std::enable_if_t< RealValuedNonlinearSystemFusingResidualAndJacobian::value, int> = 0 > @@ -399,7 +399,7 @@ void reset_for_new_solve_loop(LevenbergMarquardtNormalEqTag /*tagJ*/, // ===================================================== template -mpl::enable_if_t< !RegistryType::template contains() > +std::enable_if_t< !RegistryType::template contains() > compute_norm2_if_tag_if_present(Tag /*t*/, const RegistryType & reg, bool isInitial, @@ -407,7 +407,7 @@ compute_norm2_if_tag_if_present(Tag /*t*/, { /* noop */ } template -mpl::enable_if_t< RegistryType::template contains() > +std::enable_if_t< RegistryType::template contains() > compute_norm2_if_tag_if_present(Tag /*t*/, const RegistryType & reg, bool isInitial, diff --git a/include/pressio/solvers_nonlinear/impl/nonlinear_least_squares.hpp b/include/pressio/solvers_nonlinear/impl/nonlinear_least_squares.hpp index 7b260c609..ffb53a4f9 100644 --- a/include/pressio/solvers_nonlinear/impl/nonlinear_least_squares.hpp +++ b/include/pressio/solvers_nonlinear/impl/nonlinear_least_squares.hpp @@ -246,7 +246,7 @@ class NonLinLeastSquares : public RegistryType } template - mpl::enable_if_t< std::is_same<_Tag, LevenbergMarquardtNormalEqTag>::value > + std::enable_if_t< std::is_same<_Tag, LevenbergMarquardtNormalEqTag>::value > solve_lm_impl(const SystemType & system, StateType & solutionInOut) { @@ -276,7 +276,7 @@ class NonLinLeastSquares : public RegistryType } template - mpl::enable_if_t< !std::is_same<_Tag, LevenbergMarquardtNormalEqTag>::value > + std::enable_if_t< !std::is_same<_Tag, LevenbergMarquardtNormalEqTag>::value > solve_lm_impl(const SystemType & /*system*/, StateType & /*solutionInOut*/) { diff --git a/include/pressio/solvers_nonlinear/impl/registries.hpp b/include/pressio/solvers_nonlinear/impl/registries.hpp index 9b63b8b07..7e9e53d1c 100644 --- a/include/pressio/solvers_nonlinear/impl/registries.hpp +++ b/include/pressio/solvers_nonlinear/impl/registries.hpp @@ -9,9 +9,9 @@ namespace nonlinearsolvers{ namespace impl{ #define GETMETHOD(N) \ - template::value, int> = 0> \ + template::value, int> = 0> \ auto & get(){ return d##N##_; } \ - template::value, int> = 0> \ + template::value, int> = 0> \ const auto & get() const { return d##N##_; } diff --git a/include/pressio/solvers_nonlinear/impl/solvers_tagbased_registry.hpp b/include/pressio/solvers_nonlinear/impl/solvers_tagbased_registry.hpp index 48d5c8fcb..7731df783 100644 --- a/include/pressio/solvers_nonlinear/impl/solvers_tagbased_registry.hpp +++ b/include/pressio/solvers_nonlinear/impl/solvers_tagbased_registry.hpp @@ -116,7 +116,7 @@ class TagBasedStaticRegistryExtension template< class TagToFind, - mpl::enable_if_t< Extendable::template contains(), int> * = nullptr + std::enable_if_t< Extendable::template contains(), int> * = nullptr > auto & get(){ return reg_.template get(); @@ -124,7 +124,7 @@ class TagBasedStaticRegistryExtension template< class TagToFind, - mpl::enable_if_t< !Extendable::template contains(), int> * = nullptr + std::enable_if_t< !Extendable::template contains(), int> * = nullptr > auto & get(){ return newReg_.template get(); @@ -132,7 +132,7 @@ class TagBasedStaticRegistryExtension template< class TagToFind, - mpl::enable_if_t< Extendable::template contains(), int> * = nullptr + std::enable_if_t< Extendable::template contains(), int> * = nullptr > const auto & get() const { return reg_.template get(); @@ -140,7 +140,7 @@ class TagBasedStaticRegistryExtension template< class TagToFind, - mpl::enable_if_t< !Extendable::template contains(), int> * = nullptr + std::enable_if_t< !Extendable::template contains(), int> * = nullptr > const auto & get() const { return newReg_.template get(); diff --git a/include/pressio/solvers_nonlinear/solvers_concepts.hpp b/include/pressio/solvers_nonlinear/solvers_concepts.hpp index 5ce5d21ec..ba4a3aac1 100644 --- a/include/pressio/solvers_nonlinear/solvers_concepts.hpp +++ b/include/pressio/solvers_nonlinear/solvers_concepts.hpp @@ -59,7 +59,7 @@ struct NonlinearSystem : std::false_type{}; template struct NonlinearSystem< T, - mpl::enable_if_t< + std::enable_if_t< ::pressio::has_state_typedef::value && ::pressio::has_residual_typedef::value && std::is_copy_constructible::value @@ -80,7 +80,7 @@ struct NonlinearSystemFusingResidualAndJacobian : std::false_type{}; template struct NonlinearSystemFusingResidualAndJacobian< T, - mpl::enable_if_t< + std::enable_if_t< ::pressio::has_state_typedef::value && ::pressio::has_residual_typedef::value && ::pressio::has_jacobian_typedef::value @@ -102,7 +102,7 @@ struct NonlinearSystemFusingResidualAndJacobian< template struct RealValuedNonlinearSystem : std::false_type{}; template struct RealValuedNonlinearSystem< T, - mpl::enable_if_t< + std::enable_if_t< NonlinearSystem::value && std::is_floating_point< scalar_trait_t >::value && std::is_floating_point< scalar_trait_t >::value @@ -112,7 +112,7 @@ template struct RealValuedNonlinearSystem< template struct RealValuedNonlinearSystemFusingResidualAndJacobian : std::false_type{}; template struct RealValuedNonlinearSystemFusingResidualAndJacobian< T, - mpl::enable_if_t< + std::enable_if_t< NonlinearSystemFusingResidualAndJacobian::value && std::is_floating_point< scalar_trait_t >::value && std::is_floating_point< scalar_trait_t >::value @@ -128,7 +128,7 @@ template struct scalar_of; template struct scalar_of< - T, mpl::enable_if_t< + T, std::enable_if_t< RealValuedNonlinearSystem::value || RealValuedNonlinearSystemFusingResidualAndJacobian::value> > diff --git a/include/pressio/solvers_nonlinear/solvers_default_types.hpp b/include/pressio/solvers_nonlinear/solvers_default_types.hpp index 32eccac0f..2c24af082 100644 --- a/include/pressio/solvers_nonlinear/solvers_default_types.hpp +++ b/include/pressio/solvers_nonlinear/solvers_default_types.hpp @@ -14,7 +14,7 @@ struct normal_eqs_default_types{ #ifdef PRESSIO_ENABLE_TPL_EIGEN template struct normal_eqs_default_types< - T, mpl::enable_if_t<::pressio::is_vector_eigen::value> > + T, std::enable_if_t<::pressio::is_vector_eigen::value> > { using hessian_type = Eigen::Matrix::scalar_type, -1, -1>; using gradient_type = T; @@ -39,7 +39,7 @@ struct valid_state_for_least_squares : std::false_type{}; #ifdef PRESSIO_ENABLE_TPL_EIGEN template struct valid_state_for_least_squares< - T, mpl::enable_if_t< ::pressio::is_vector_eigen::value > + T, std::enable_if_t< ::pressio::is_vector_eigen::value > > : std::true_type{}; #endif diff --git a/include/pressio/solvers_nonlinear/solvers_predicates.hpp b/include/pressio/solvers_nonlinear/solvers_predicates.hpp index 61dd251fe..1c660e4fa 100644 --- a/include/pressio/solvers_nonlinear/solvers_predicates.hpp +++ b/include/pressio/solvers_nonlinear/solvers_predicates.hpp @@ -62,8 +62,8 @@ struct has_const_create_state_method_return_result template struct has_const_create_state_method_return_result< T, StateType, - ::pressio::mpl::enable_if_t< - mpl::is_same< + std::enable_if_t< + std::is_same< StateType, decltype(std::declval().createState()) >::value @@ -76,8 +76,8 @@ struct has_const_create_residual_method_return_result : std::false_type{}; template struct has_const_create_residual_method_return_result ().createResidual() ) >::value @@ -100,7 +100,7 @@ template < > struct has_const_residual_method_accept_state_result_return_void< T, StateType, ResidualType, - mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype( std::declval().residual @@ -119,8 +119,8 @@ struct has_const_create_jacobian_method_return_result : std::false_type{}; template struct has_const_create_jacobian_method_return_result ().createJacobian() ) >::value @@ -143,7 +143,7 @@ template < > struct has_const_jacobian_method_accept_state_result_return_void< T, StateType, JacobianType, - mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype( std::declval().jacobian @@ -175,7 +175,7 @@ template < > struct has_const_residualandjacobian_method_accept_state_result_return_void< T, StateType, ResidualType, JacobianType, - mpl::enable_if_t< + std::enable_if_t< std::is_void< decltype( std::declval().residualAndJacobian diff --git a/include/pressio/type_traits/all_have_same_rank.hpp b/include/pressio/type_traits/all_have_same_rank.hpp index d8177b082..c233e7f2d 100644 --- a/include/pressio/type_traits/all_have_same_rank.hpp +++ b/include/pressio/type_traits/all_have_same_rank.hpp @@ -62,7 +62,7 @@ struct all_have_same_rank{ template struct all_have_same_rank< - mpl::enable_if_t< all_have_traits::value >, + std::enable_if_t< all_have_traits::value >, T1, T2 > { @@ -72,7 +72,7 @@ struct all_have_same_rank< template struct all_have_same_rank< - mpl::enable_if_t< all_have_traits::value >, + std::enable_if_t< all_have_traits::value >, T1, T2, T3, rest...> { static constexpr auto value = diff --git a/include/pressio/type_traits/all_have_traits.hpp b/include/pressio/type_traits/all_have_traits.hpp index 2a6557cbd..9dd921519 100644 --- a/include/pressio/type_traits/all_have_traits.hpp +++ b/include/pressio/type_traits/all_have_traits.hpp @@ -55,7 +55,7 @@ struct has_traits : std::false_type{}; template struct has_traits< - T, mpl::enable_if_t< + T, std::enable_if_t< // I need to check for something meaninful // because if I only check for ::pressio::Traits // any type would yield true since ::pressio::Traits diff --git a/include/pressio/type_traits/all_have_traits_and_same_scalar.hpp b/include/pressio/type_traits/all_have_traits_and_same_scalar.hpp index 5c59abdd9..31ddaf2ea 100644 --- a/include/pressio/type_traits/all_have_traits_and_same_scalar.hpp +++ b/include/pressio/type_traits/all_have_traits_and_same_scalar.hpp @@ -61,7 +61,7 @@ struct all_have_traits_and_same_scalar{ template struct all_have_traits_and_same_scalar< - mpl::enable_if_t< all_have_traits::value >, + std::enable_if_t< all_have_traits::value >, T1, T2 > { @@ -73,7 +73,7 @@ struct all_have_traits_and_same_scalar< template struct all_have_traits_and_same_scalar< - mpl::enable_if_t< all_have_traits::value >, + std::enable_if_t< all_have_traits::value >, T1, T2, T3, rest...> { static constexpr auto value = diff --git a/include/pressio/type_traits/native_eigen_dense_matrix.hpp b/include/pressio/type_traits/native_eigen_dense_matrix.hpp index 9075e78b7..7ec142d04 100644 --- a/include/pressio/type_traits/native_eigen_dense_matrix.hpp +++ b/include/pressio/type_traits/native_eigen_dense_matrix.hpp @@ -63,7 +63,7 @@ struct is_static_dense_matrix_eigen : std::false_type {}; template struct is_static_dense_matrix_eigen< T, - mpl::enable_if_t< + std::enable_if_t< !is_vector_eigen::value and std::is_same< typename std::remove_cv::type, @@ -86,7 +86,7 @@ struct is_dynamic_dense_matrix_eigen : std::false_type {}; template struct is_dynamic_dense_matrix_eigen< T, - mpl::enable_if_t< + std::enable_if_t< !is_vector_eigen::value and !is_static_dense_matrix_eigen::value and std::is_same< @@ -109,7 +109,7 @@ struct is_dynamic_dense_matrix_eigen< template struct is_dynamic_dense_matrix_eigen< T, - mpl::enable_if_t< + std::enable_if_t< !is_vector_eigen::value and !is_static_dense_matrix_eigen::value and std::is_same< @@ -133,7 +133,7 @@ struct is_dynamic_dense_matrix_eigen< template struct is_dynamic_dense_matrix_eigen< T, - mpl::enable_if_t< + std::enable_if_t< !is_vector_eigen::value and !is_static_dense_matrix_eigen::value and std::is_same< @@ -156,7 +156,7 @@ struct is_dense_row_major_matrix_eigen : std::false_type {}; template struct is_dense_row_major_matrix_eigen< T, - mpl::enable_if_t< + std::enable_if_t< (is_static_dense_matrix_eigen::value or is_dynamic_dense_matrix_eigen::value) and int(T::IsRowMajor)==1 @@ -170,7 +170,7 @@ struct is_dense_col_major_matrix_eigen : std::false_type {}; template struct is_dense_col_major_matrix_eigen< T, - mpl::enable_if_t< + std::enable_if_t< (is_static_dense_matrix_eigen::value or is_dynamic_dense_matrix_eigen::value) and int(T::IsRowMajor)==0 @@ -184,7 +184,7 @@ struct is_dense_matrix_eigen : std::false_type {}; template struct is_dense_matrix_eigen< T, - mpl::enable_if_t< + std::enable_if_t< is_static_dense_matrix_eigen::value or is_dynamic_dense_matrix_eigen::value > diff --git a/include/pressio/type_traits/native_eigen_sparse_matrix.hpp b/include/pressio/type_traits/native_eigen_sparse_matrix.hpp index 8c5bbac6c..ee706c0a1 100644 --- a/include/pressio/type_traits/native_eigen_sparse_matrix.hpp +++ b/include/pressio/type_traits/native_eigen_sparse_matrix.hpp @@ -64,7 +64,7 @@ struct is_sparse_matrix_eigen : std::false_type {}; template struct is_sparse_matrix_eigen< T, - mpl::enable_if_t< + std::enable_if_t< !is_vector_eigen::value and std::is_same< typename std::remove_cv::type, diff --git a/include/pressio/type_traits/native_eigen_vector.hpp b/include/pressio/type_traits/native_eigen_vector.hpp index 1d1b4efb2..d4b08c072 100644 --- a/include/pressio/type_traits/native_eigen_vector.hpp +++ b/include/pressio/type_traits/native_eigen_vector.hpp @@ -59,7 +59,7 @@ struct is_dynamic_row_vector_eigen : std::false_type {}; template struct is_dynamic_row_vector_eigen< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_same< typename std::remove_cv::type, Eigen::Matrix @@ -74,7 +74,7 @@ struct is_static_row_vector_eigen : std::false_type {}; template struct is_static_row_vector_eigen< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_same< typename std::remove_cv::type, Eigen::Matrix @@ -90,7 +90,7 @@ struct is_dynamic_column_vector_eigen : std::false_type {}; template struct is_dynamic_column_vector_eigen< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_same< typename std::remove_cv::type, Eigen::Matrix @@ -105,7 +105,7 @@ struct is_static_column_vector_eigen : std::false_type {}; template struct is_static_column_vector_eigen< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_same< typename std::remove_cv::type, Eigen::Matrix @@ -121,7 +121,7 @@ struct is_static_vector_eigen : std::false_type {}; template struct is_static_vector_eigen< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< is_static_row_vector_eigen::value || is_static_column_vector_eigen::value > @@ -134,7 +134,7 @@ struct is_dynamic_vector_eigen : std::false_type {}; template struct is_dynamic_vector_eigen< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< is_dynamic_row_vector_eigen::value or is_dynamic_column_vector_eigen::value > @@ -147,7 +147,7 @@ struct is_vector_eigen : std::false_type {}; template struct is_vector_eigen< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< is_dynamic_vector_eigen::value or is_static_vector_eigen::value > diff --git a/include/pressio/type_traits/native_kokkos_dense_matrix.hpp b/include/pressio/type_traits/native_kokkos_dense_matrix.hpp index c82819c1f..638fca55d 100644 --- a/include/pressio/type_traits/native_kokkos_dense_matrix.hpp +++ b/include/pressio/type_traits/native_kokkos_dense_matrix.hpp @@ -90,7 +90,7 @@ struct is_dense_matrix_kokkos : std::false_type {}; template struct is_dense_matrix_kokkos< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< is_static_dense_matrix_kokkos::value or is_dynamic_dense_matrix_kokkos::value > diff --git a/include/pressio/type_traits/native_kokkos_vector.hpp b/include/pressio/type_traits/native_kokkos_vector.hpp index 9af34a36c..2634f6f9c 100644 --- a/include/pressio/type_traits/native_kokkos_vector.hpp +++ b/include/pressio/type_traits/native_kokkos_vector.hpp @@ -103,7 +103,7 @@ struct is_vector_kokkos : std::false_type {}; template struct is_vector_kokkos< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< is_static_vector_kokkos::value or is_dynamic_vector_kokkos::value > diff --git a/include/pressio/type_traits/native_teuchos_vector.hpp b/include/pressio/type_traits/native_teuchos_vector.hpp index 63750772f..00fd24824 100644 --- a/include/pressio/type_traits/native_teuchos_vector.hpp +++ b/include/pressio/type_traits/native_teuchos_vector.hpp @@ -59,7 +59,7 @@ struct is_dense_vector_teuchos : std::false_type {}; template struct is_dense_vector_teuchos< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_same< typename std::remove_cv::type, Teuchos::SerialDenseVector diff --git a/include/pressio/type_traits/native_tpetra_block_multi_vector.hpp b/include/pressio/type_traits/native_tpetra_block_multi_vector.hpp index 8423968b5..a447a2257 100644 --- a/include/pressio/type_traits/native_tpetra_block_multi_vector.hpp +++ b/include/pressio/type_traits/native_tpetra_block_multi_vector.hpp @@ -59,7 +59,7 @@ struct is_multi_vector_tpetra_block : std::false_type {}; template struct is_multi_vector_tpetra_block< T, - ::pressio::mpl::enable_if_t< + std::enable_if_t< std::is_same< typename std::remove_cv::type, Tpetra::BlockMultiVector< diff --git a/include/pressio/type_traits/scalar_trait_t.hpp b/include/pressio/type_traits/scalar_trait_t.hpp index 75c5b93ba..0e25ac1f2 100644 --- a/include/pressio/type_traits/scalar_trait_t.hpp +++ b/include/pressio/type_traits/scalar_trait_t.hpp @@ -57,7 +57,7 @@ template struct _scalar_trait template struct _scalar_trait< - T, mpl::enable_if_t< has_traits::value > + T, std::enable_if_t< has_traits::value > > { using type = typename ::pressio::Traits::scalar_type; diff --git a/include/pressio/type_traits/traits_tpl.hpp b/include/pressio/type_traits/traits_tpl.hpp index 79457794b..7b8880b7e 100644 --- a/include/pressio/type_traits/traits_tpl.hpp +++ b/include/pressio/type_traits/traits_tpl.hpp @@ -71,7 +71,7 @@ struct is_native_container_kokkos { #ifdef PRESSIO_ENABLE_TPL_EIGEN template struct Traits< T, - mpl::enable_if_t< is_vector_eigen::value > > + std::enable_if_t< is_vector_eigen::value > > { static constexpr int rank = 1; using scalar_type = typename T::Scalar; @@ -81,7 +81,7 @@ struct Traits< T, #ifdef PRESSIO_ENABLE_TPL_KOKKOS template struct Traits< T, - ::pressio::mpl::enable_if_t< is_vector_kokkos::value > > + std::enable_if_t< is_vector_kokkos::value > > { static constexpr int rank = 1; using scalar_type = typename T::traits::value_type; @@ -91,7 +91,7 @@ struct Traits< T, #ifdef PRESSIO_ENABLE_TPL_TRILINOS template struct Traits< T, - mpl::enable_if_t< + std::enable_if_t< is_vector_tpetra::value || is_vector_tpetra_block::value > > { static constexpr int rank = 1; @@ -102,7 +102,7 @@ struct Traits< T, #ifdef PRESSIO_ENABLE_TPL_TRILINOS template struct Traits< T, - mpl::enable_if_t< is_vector_epetra::value > > + std::enable_if_t< is_vector_epetra::value > > { static constexpr int rank = 1; using scalar_type = double; @@ -112,7 +112,7 @@ struct Traits< T, #ifdef PRESSIO_ENABLE_TPL_TRILINOS template struct Traits< T, - mpl::enable_if_t< + std::enable_if_t< is_dense_vector_teuchos::value > > { static constexpr int rank = 1; @@ -123,7 +123,7 @@ struct Traits< T, #ifdef PRESSIO_ENABLE_TPL_EIGEN template struct Traits< - T, mpl::enable_if_t< + T, std::enable_if_t< is_dense_matrix_eigen::value > > { @@ -136,7 +136,7 @@ struct Traits< #ifdef PRESSIO_ENABLE_TPL_KOKKOS template struct Traits< - T, ::pressio::mpl::enable_if_t< + T, std::enable_if_t< is_dense_matrix_kokkos::value > > { @@ -148,7 +148,7 @@ struct Traits< #ifdef PRESSIO_ENABLE_TPL_TRILINOS template struct Traits< - T, mpl::enable_if_t< + T, std::enable_if_t< is_dense_matrix_teuchos::value > > { @@ -160,7 +160,7 @@ struct Traits< #ifdef PRESSIO_ENABLE_TPL_TRILINOS template struct Traits< - T, ::pressio::mpl::enable_if_t< + T, std::enable_if_t< is_multi_vector_tpetra::value || is_multi_vector_tpetra_block::value > > @@ -171,7 +171,7 @@ struct Traits< template struct Traits< - T, ::pressio::mpl::enable_if_t< + T, std::enable_if_t< is_multi_vector_epetra::value > > { @@ -183,7 +183,7 @@ struct Traits< #ifdef PRESSIO_ENABLE_TPL_EIGEN template struct Traits< - T, mpl::enable_if_t< + T, std::enable_if_t< is_sparse_matrix_eigen::value > > { diff --git a/include/pressio/utils/utils_instance_or_reference_wrapper.hpp b/include/pressio/utils/utils_instance_or_reference_wrapper.hpp index 8e6a507f6..499787dc0 100644 --- a/include/pressio/utils/utils_instance_or_reference_wrapper.hpp +++ b/include/pressio/utils/utils_instance_or_reference_wrapper.hpp @@ -72,7 +72,7 @@ class InstanceOrReferenceWrapper InstanceOrReferenceWrapper & operator=(InstanceOrReferenceWrapper &&) = default; ~InstanceOrReferenceWrapper() = default; - template< class _T = T, mpl::enable_if_t::value, int> = 0> + template< class _T = T, std::enable_if_t::value, int> = 0> InstanceOrReferenceWrapper(){} explicit InstanceOrReferenceWrapper(T & valIn)