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 23 of file MatrixVectorTraits.h.

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