deal.II version GIT relicensing-2169-gec1b43f35b 2024-11-22 07:10:00+00:00
\(\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\}}\)
Loading...
Searching...
No Matches
la_parallel_block_vector.cc
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2016 - 2018 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Part of the source code is dual licensed under Apache-2.0 WITH
9// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
10// governing the source code and code contributions can be found in
11// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
12//
13// ------------------------------------------------------------------------
14
17#include <deal.II/lac/la_parallel_block_vector.templates.h>
19
21
22
23// disable instantiation for MSVC for now because of a compiler bug,
24// see https://github.com/dealii/dealii/issues/2875
25#ifndef DEAL_II_MSVC
26
27# include "la_parallel_block_vector.inst"
28
29// do a few functions that currently don't fit the scheme because they have
30// two template arguments that need to be different (the case of same
31// arguments is covered by the default copy constructor and copy operator that
32// is declared separately)
33
34namespace LinearAlgebra
35{
36 namespace distributed
37 {
38# define TEMPL_COPY_CONSTRUCTOR(S1, S2) \
39 template BlockVector<S1> &BlockVector<S1>::operator= \
40 <S2>(const BlockVector<S2> &)
41
42 TEMPL_COPY_CONSTRUCTOR(double, float);
43 TEMPL_COPY_CONSTRUCTOR(float, double);
44
45# undef TEMPL_COPY_CONSTRUCTOR
46 } // namespace distributed
47} // namespace LinearAlgebra
48
49#endif // ! DEAL_II_MSVC
50
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:498
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:499
#define TEMPL_COPY_CONSTRUCTOR(S1, S2)