Reference documentation for deal.II version Git 170b4c9308 2021-10-26 16:43:28 -0600
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Static Public Attributes | Static Private Member Functions | List of all members
IsBlockVector< VectorType > Struct Template Reference

#include <deal.II/lac/block_vector_base.h>

Static Public Attributes

static const bool value

Static Private Member Functions

template<typename T >
static std::true_type check_for_block_vector (const BlockVectorBase< T > *)
static std::false_type check_for_block_vector (...)

Detailed Description

template<typename VectorType>
struct IsBlockVector< VectorType >

A class that can be used to determine whether a given type is a block vector type or not. For example,

has the value false, whereas

is true. This is sometimes useful in template contexts where we may want to do things differently depending on whether a template type denotes a regular or a block vector type.

Definition at line 66 of file block_vector_base.h.

Member Function Documentation

◆ check_for_block_vector() [1/2]

template<typename VectorType >
template<typename T >
static std::true_type IsBlockVector< VectorType >::check_for_block_vector ( const BlockVectorBase< T > *  )

Overload returning true if the class is derived from BlockVectorBase, which is what block vectors do.

◆ check_for_block_vector() [2/2]

template<typename VectorType >
static std::false_type IsBlockVector< VectorType >::check_for_block_vector (   ...)

Catch all for all other potential vector types that are not block vectors.

The documentation for this struct was generated from the following file: