OGS
MatrixVectorTraits.h File Reference

Detailed Description

Definition in file MatrixVectorTraits.h.

Include dependency graph for MatrixVectorTraits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  MathLib
 

Macros

#define SPECIALIZE_MATRIX_VECTOR_TRAITS(MATVEC, IDX)
 

Functions

 MathLib::SPECIALIZE_MATRIX_VECTOR_TRAITS (PETScMatrix, PETScMatrix::IndexType)
 
 MathLib::SPECIALIZE_MATRIX_VECTOR_TRAITS (PETScVector, PETScVector::IndexType)
 

Macro Definition Documentation

◆ SPECIALIZE_MATRIX_VECTOR_TRAITS

#define SPECIALIZE_MATRIX_VECTOR_TRAITS ( MATVEC,
IDX )
Value:
template <> \
struct MatrixVectorTraits<MATVEC> \
{ \
using Index = IDX; \
static std::unique_ptr<MATVEC> newInstance(); \
static std::unique_ptr<MATVEC> newInstance(MATVEC const& A); \
static std::unique_ptr<MATVEC> newInstance( \
MatrixSpecifications const& spec); \
static std::unique_ptr<MATVEC> newInstance(Index const length); \
};

Definition at line 22 of file MatrixVectorTraits.h.

22#define SPECIALIZE_MATRIX_VECTOR_TRAITS(MATVEC, IDX) \
23 template <> \
24 struct MatrixVectorTraits<MATVEC> \
25 { \
26 using Index = IDX; \
27 static std::unique_ptr<MATVEC> newInstance(); \
28 static std::unique_ptr<MATVEC> newInstance(MATVEC const& A); \
29 static std::unique_ptr<MATVEC> newInstance( \
30 MatrixSpecifications const& spec); \
31 static std::unique_ptr<MATVEC> newInstance(Index const length); \
32 };