Dune Core Modules (unstable)

A Vector class to support different block types. More...

#include <dune/istl/multitypeblockvector.hh>

Public Types

using size_type = std::size_t
 Type used for vector sizes.
 
typedef MultiTypeBlockVector< Args... > type
 
using field_type = Std::detected_t< std::common_type_t, typename FieldTraits< std::decay_t< Args > >::field_type... >
 The type used for scalars. More...
 

Public Member Functions

size_type dim () const
 Number of scalar elements.
 
template<size_type index>
std::tuple_element< index, TupleType >::typeoperator[] ([[maybe_unused]] const std::integral_constant< size_type, index > indexVariable)
 Random-access operator. More...
 
template<size_type index>
const std::tuple_element< index, TupleType >::typeoperator[] ([[maybe_unused]] const std::integral_constant< size_type, index > indexVariable) const
 Const random-access operator. More...
 
template<typename T >
void operator= (const T &newval)
 Assignment operator.
 
void operator+= (const type &newv)
 
void operator-= (const type &newv)
 
template<class T , std::enable_if_t< IsNumber< T >::value, int > = 0>
void operator*= (const T &w)
 Multiplication with a scalar.
 
template<class T , std::enable_if_t< IsNumber< T >::value, int > = 0>
void operator/= (const T &w)
 Division by a scalar.
 
auto one_norm () const
 Compute the 1-norm.
 
auto one_norm_real () const
 Compute the simplified 1-norm (uses 1-norm also for complex values)
 
FieldTraits< field_type >::real_type two_norm2 () const
 Compute the squared Euclidean norm.
 
FieldTraits< field_type >::real_type two_norm () const
 Compute the Euclidean norm.
 
FieldTraits< field_type >::real_type infinity_norm () const
 Compute the maximum norm.
 
FieldTraits< field_type >::real_type infinity_norm_real () const
 Compute the simplified maximum norm (uses 1-norm for complex values)
 
template<typename Ta >
void axpy (const Ta &a, const type &y)
 Axpy operation on this vector (*this += a * y) More...
 

Static Public Member Functions

static constexpr size_type size ()
 Return the number of non-zero vector entries. More...
 
static constexpr size_type N ()
 Number of elements.
 

Detailed Description

template<typename... Args>
class Dune::MultiTypeBlockVector< Args >

A Vector class to support different block types.

This vector class combines elements of different types known at compile-time.


The documentation for this class was generated from the following files:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Mar 28, 23:30, 2024)