const char * exc_name,
ExceptionType e) noexcept
{
- static_assert(std::is_base_of<ExceptionBase, ExceptionType>::value,
+ static_assert(std::is_base_of_v<ExceptionBase, ExceptionType>,
"The provided exception must inherit from ExceptionBase.");
// Fill the fields of the exception object
e.set_fields(file, line, function, cond, exc_name);
{
initialized = true;
static_assert(
- std::is_base_of<CutOffFunctionBase<1>, CutOffFunctionBaseType<1>>::value,
+ std::is_base_of_v<CutOffFunctionBase<1>, CutOffFunctionBaseType<1>>,
"You can only construct a CutOffFunctionTensorProduct function from "
"a class derived from CutOffFunctionBase.");
{
public:
static_assert(
- std::is_base_of<TransferableQuadraturePointData, DataType>::value,
+ std::is_base_of_v<TransferableQuadraturePointData, DataType>,
"User's DataType class should be derived from TransferableQuadraturePointData");
/**
const CellIteratorType &cell,
const unsigned int n_q_points)
{
- static_assert(std::is_base_of<DataType, T>::value,
+ static_assert(std::is_base_of_v<DataType, T>,
"User's T class should be derived from user's DataType class");
// The first time this method is called, it has to initialize the reference
// to the triangulation object
CellDataStorage<CellIteratorType, DataType>::get_data(
const CellIteratorType &cell)
{
- static_assert(std::is_base_of<DataType, T>::value,
+ static_assert(std::is_base_of_v<DataType, T>,
"User's T class should be derived from user's DataType class");
Assert(&cell->get_triangulation() == tria, ExcTriangulationMismatch());
CellDataStorage<CellIteratorType, DataType>::get_data(
const CellIteratorType &cell) const
{
- static_assert(std::is_base_of<DataType, T>::value,
+ static_assert(std::is_base_of_v<DataType, T>,
"User's T class should be derived from user's DataType class");
Assert(&cell->get_triangulation() == tria, ExcTriangulationMismatch());
CellDataStorage<CellIteratorType, DataType>::try_get_data(
const CellIteratorType &cell)
{
- static_assert(std::is_base_of<DataType, T>::value,
+ static_assert(std::is_base_of_v<DataType, T>,
"User's T class should be derived from user's DataType class");
Assert(&cell->get_triangulation() == tria, ExcTriangulationMismatch());
CellDataStorage<CellIteratorType, DataType>::try_get_data(
const CellIteratorType &cell) const
{
- static_assert(std::is_base_of<DataType, T>::value,
+ static_assert(std::is_base_of_v<DataType, T>,
"User's T class should be derived from user's DataType class");
Assert(&cell->get_triangulation() == tria, ExcTriangulationMismatch());
const CellDataStorage<CellIteratorType, DataType> *data_storage,
FullMatrix<double> & matrix_data)
{
- static_assert(
- std::is_base_of<TransferableQuadraturePointData, DataType>::value,
- "User's DataType class should be derived from QPData");
+ static_assert(std::is_base_of_v<TransferableQuadraturePointData, DataType>,
+ "User's DataType class should be derived from QPData");
if (const auto qpd = data_storage->try_get_data(cell))
{
const FullMatrix<double> & values_at_qp,
CellDataStorage<CellIteratorType, DataType> *data_storage)
{
- static_assert(
- std::is_base_of<TransferableQuadraturePointData, DataType>::value,
- "User's DataType class should be derived from QPData");
+ static_assert(std::is_base_of_v<TransferableQuadraturePointData, DataType>,
+ "User's DataType class should be derived from QPData");
if (const auto qpd = data_storage->try_get_data(cell))
{
struct is_base_of_all
{
static constexpr bool value = internal::TemplateConstraints::all_true<
- std::is_base_of<Base, Derived>::value...>::value;
+ std::is_base_of_v<Base, Derived>...>::value;
};
typename ValueType = double,
typename SymbolicType,
typename T = std::enable_if_t<
- !std::is_base_of<Expression, SymbolicType>::value &&
+ !std::is_base_of_v<Expression, SymbolicType> &&
dealii::internal::is_explicitly_convertible<
SymbolicType,
const SymEngine::RCP<const SymEngine::Basic> &>::value>>
(std::is_same<typename std::decay<FEPairs>::type,
std::pair<std::unique_ptr<FiniteElement<dim, spacedim>>,
unsigned int>>::value ||
- std::is_base_of<FiniteElement<dim, spacedim>,
- typename std::decay<FEPairs>::type>::value)...>>
+ std::is_base_of_v<FiniteElement<dim, spacedim>,
+ typename std::decay<FEPairs>::type>)...>>
FESystem(FEPairs &&...fe_pairs);
/**
* object @p op for which the conversion function
* <code>linear_operator</code> is defined.
*/
- template <
- typename Op,
- typename = std::enable_if_t<
- !std::is_base_of<LinearOperator<Range, Domain, Payload>, Op>::value>>
+ template <typename Op,
+ typename = std::enable_if_t<
+ !std::is_base_of_v<LinearOperator<Range, Domain, Payload>, Op>>>
LinearOperator(const Op &op)
{
*this = linear_operator<Range, Domain, Payload, Op>(op);
* Templated copy assignment operator for an object @p op for which the
* conversion function <code>linear_operator</code> is defined.
*/
- template <
- typename Op,
- typename = std::enable_if_t<
- !std::is_base_of<LinearOperator<Range, Domain, Payload>, Op>::value>>
+ template <typename Op,
+ typename = std::enable_if_t<
+ !std::is_base_of_v<LinearOperator<Range, Domain, Payload>, Op>>>
LinearOperator<Range, Domain, Payload> &
operator=(const Op &op)
{
*/
template <typename Solver, typename Preconditioner>
std::enable_if_t<
- std::is_base_of<TrilinosWrappers::SolverBase, Solver>::value &&
- std::is_base_of<TrilinosWrappers::PreconditionBase,
- Preconditioner>::value,
+ std::is_base_of_v<TrilinosWrappers::SolverBase, Solver> &&
+ std::is_base_of_v<TrilinosWrappers::PreconditionBase,
+ Preconditioner>,
TrilinosPayload>
inverse_payload(Solver &, const Preconditioner &) const;
*/
template <typename Solver, typename Preconditioner>
std::enable_if_t<
- !(std::is_base_of<TrilinosWrappers::SolverBase, Solver>::value &&
- std::is_base_of<TrilinosWrappers::PreconditionBase,
- Preconditioner>::value),
+ !(std::is_base_of_v<TrilinosWrappers::SolverBase, Solver> &&
+ std::is_base_of_v<TrilinosWrappers::PreconditionBase,
+ Preconditioner>),
TrilinosPayload>
inverse_payload(Solver &, const Preconditioner &) const;
template <typename Solver, typename Preconditioner>
std::enable_if_t<
- std::is_base_of<TrilinosWrappers::SolverBase, Solver>::value &&
- std::is_base_of<TrilinosWrappers::PreconditionBase,
- Preconditioner>::value,
+ std::is_base_of_v<TrilinosWrappers::SolverBase, Solver> &&
+ std::is_base_of_v<TrilinosWrappers::PreconditionBase, Preconditioner>,
TrilinosPayload>
TrilinosPayload::inverse_payload(
Solver & solver,
template <typename Solver, typename Preconditioner>
std::enable_if_t<
- !(std::is_base_of<TrilinosWrappers::SolverBase, Solver>::value &&
- std::is_base_of<TrilinosWrappers::PreconditionBase,
- Preconditioner>::value),
+ !(std::is_base_of_v<TrilinosWrappers::SolverBase, Solver> &&
+ std::is_base_of_v<TrilinosWrappers::PreconditionBase,
+ Preconditioner>),
TrilinosPayload>
TrilinosPayload::inverse_payload(Solver &, const Preconditioner &) const
{