Reference documentation for deal.II version 9.2.0
\(\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\}}\)
Classes | Static Public Attributes | Static Private Member Functions | List of all members
IsBlockVector< VectorType > Struct Template Reference

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


struct  no_type
struct  yes_type

Static Public Attributes

static const bool value

Static Private Member Functions

template<typename T >
static yes_type check_for_block_vector (const BlockVectorBase< T > *)
static no_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.

Wolfgang Bangerth, 2010

Definition at line 67 of file block_vector_base.h.

Member Function Documentation

◆ check_for_block_vector() [1/2]

template<typename VectorType >
template<typename T >
static yes_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 no_type IsBlockVector< VectorType >::check_for_block_vector (   ...)

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

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