|
|
template<typename T , typename = std::enable_if_t<std::is_base_of_v<ExprBase, T>>, typename = std::enable_if_t<std::is_arithmetic_v<typename T::value_type>>, typename = std::enable_if_t<T::rank == 0>> |
| auto | Feel::Examples::compute_norm_old (T const &expr) |
| |
|
template<typename ExprT > |
| auto | Feel::Examples::expr_old (ExprT const &e, std::enable_if_t< std::is_base_of_v< ExprBase, ExprT > > *=nullptr) |
| |
|
template<typename QuadType , typename Quad1Type , typename ExprType > |
| auto | Feel::Examples::integrate_old (QuadType const &quad, Quad1Type const &quad1, ExprType const &expr, std::enable_if_t< std::is_integral< QuadType >::value &&!std::is_integral< Quad1Type >::value > *=nullptr) |
| |
|
template<typename QuadType , typename Quad1Type , typename ExprType > |
| auto | Feel::Examples::integrate_old (QuadType const &quad, Quad1Type const &quad1, ExprType const &expr, std::enable_if_t< std::is_integral< QuadType >::value &&std::is_integral< Quad1Type >::value > *=nullptr) |
| |
|
template<typename Container > |
| std::enable_if_t< is_iterable_v< Container >, void > | Feel::Examples::process_old (Container const &c) |
| |
|
template<typename ExprT > |
| auto | Feel::Examples::trace_old (ExprT const &v, std::enable_if_t< std::is_base_of_v< ExprBase, ExprT > > *=nullptr) |
| |
|
template<typename ExprT > |
| auto | Feel::Examples::vonmises_old (ExprT const &v, std::enable_if_t< std::is_base_of_v< ExprBase, ExprT > > *=nullptr) |
| |
Before/After examples of C++20 concept modernization.
This file demonstrates concrete improvements from replacing SFINAE with C++20 concepts in Feel++ code.