3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
dumux
common
typetraits
matrix.hh
Go to the documentation of this file.
1
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2
// vi: set et ts=4 sw=4 sts=4:
3
/*****************************************************************************
4
* See the file COPYING for full copying permissions. *
5
* *
6
* This program is free software: you can redistribute it and/or modify *
7
* it under the terms of the GNU General Public License as published by *
8
* the Free Software Foundation, either version 3 of the License, or *
9
* (at your option) any later version. *
10
* *
11
* This program is distributed in the hope that it will be useful, *
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14
* GNU General Public License for more details. *
15
* *
16
* You should have received a copy of the GNU General Public License *
17
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
18
*****************************************************************************/
24
#ifndef DUMUX_TYPETRAITS_MATRIX_HH
25
#define DUMUX_TYPETRAITS_MATRIX_HH
26
27
#include <type_traits>
28
29
// Forward declare to avoid includes
30
namespace
Dune
{
31
template
<
class
Block,
class
Allocator>
32
class
BCRSMatrix
;
33
34
template
<
class
FirstRow,
class
... Args>
35
class
MultiTypeBlockMatrix
;
36
}
// end namespace Dune
37
38
namespace
Dumux
{
39
41
template
<
class
T>
42
struct
isBCRSMatrix
:
public
std::false_type {};
43
44
template
<
class
B,
class
A>
45
struct
isBCRSMatrix
<
Dune
::BCRSMatrix<B, A>> :
public
std::true_type {};
46
48
template
<
class
... Args>
49
struct
isMultiTypeBlockMatrix
:
public
std::false_type {};
50
51
template
<
class
... Args>
52
struct
isMultiTypeBlockMatrix
<
Dune
::MultiTypeBlockMatrix<Args...>> :
public
std::true_type {};
53
54
}
// end namespace Dumux
55
56
#endif
Dumux
Definition:
adapt.hh:29
Dune
Definition:
common/pdesolver.hh:35
Dune::MultiTypeBlockMatrix
Definition:
common/pdesolver.hh:37
Dune::BCRSMatrix
Definition:
matrix.hh:32
Dumux::isBCRSMatrix
Helper type to determine whether a given type is a Dune::BCRSMatrix.
Definition:
matrix.hh:42
Dumux::isMultiTypeBlockMatrix
Helper type to determine whether a given type is a Dune::MultiTypeBlockMatrix.
Definition:
matrix.hh:49
Generated by
1.9.3