Reference documentation for deal.II version 9.6.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\}}\)
Loading...
Searching...
No Matches
trilinos_tpetra_vector.cc
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2018 - 2024 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
15#include <deal.II/lac/trilinos_tpetra_vector.templates.h>
16
17#ifdef DEAL_II_TRILINOS_WITH_TPETRA
18
20
21namespace LinearAlgebra
22{
23 namespace TpetraWrappers
24 {
25 // Instantiate these vectors types for specific scalar types.
26 //
27 // While there:
28 // Check that the class we declare here satisfies the
29 // vector-space-vector concept. If we catch it here,
30 // any mistake in the vector class declaration would
31 // show up in uses of this class later on as well.
32
33# ifdef HAVE_TPETRA_INST_FLOAT
34# ifdef DEAL_II_HAVE_CXX20
36# endif
37 template class Vector<float>;
38 template Vector<float> &
39 Vector<float>::operator=<float>(const ::Vector<float> &);
40 namespace internal
41 {
42 template class VectorReference<float>;
43 }
44# endif
45
46# ifdef HAVE_TPETRA_INST_DOUBLE
47# ifdef DEAL_II_HAVE_CXX20
49# endif
50 template class Vector<double>;
51 template Vector<double> &
52 Vector<double>::operator=<double>(const ::Vector<double> &);
53 namespace internal
54 {
55 template class VectorReference<double>;
56 }
57# endif
58
59# ifdef DEAL_II_WITH_COMPLEX_VALUES
60# ifdef HAVE_TPETRA_INST_COMPLEX_FLOAT
61# ifdef DEAL_II_HAVE_CXX20
64# endif
65 template class Vector<std::complex<float>>;
68 <std::complex<float>>(const ::Vector<std::complex<float>> &);
69 namespace internal
70 {
71 template class VectorReference<std::complex<float>>;
72 }
73# endif
74
75# ifdef HAVE_TPETRA_INST_COMPLEX_DOUBLE
76# ifdef DEAL_II_HAVE_CXX20
79# endif
80 template class Vector<std::complex<double>>;
83 <std::complex<double>>(const ::Vector<std::complex<double>> &);
84 namespace internal
85 {
86 template class VectorReference<std::complex<double>>;
87 }
88# endif
89# endif
90 } // namespace TpetraWrappers
91} // namespace LinearAlgebra
92
94
95#endif
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:503
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:504