template <typename VectorType,
typename SolverType,
typename MatrixType,
- class PreconditionerType>
+ typename PreconditionerType>
class MGCoarseGridIterativeSolver : public MGCoarseGridBase<VectorType>
{
public:
template <typename VectorType,
typename SolverType,
typename MatrixType,
- class PreconditionerType>
+ typename PreconditionerType>
MGCoarseGridIterativeSolver<VectorType,
SolverType,
MatrixType,
template <typename VectorType,
typename SolverType,
typename MatrixType,
- class PreconditionerType>
+ typename PreconditionerType>
MGCoarseGridIterativeSolver<VectorType,
SolverType,
MatrixType,
template <typename VectorType,
typename SolverType,
typename MatrixType,
- class PreconditionerType>
+ typename PreconditionerType>
void
MGCoarseGridIterativeSolver<
VectorType,
template <typename VectorType,
typename SolverType,
typename MatrixType,
- class PreconditionerType>
+ typename PreconditionerType>
void
MGCoarseGridIterativeSolver<VectorType,
SolverType,
typename VectorType,
typename SolverType,
typename MatrixType,
- class PreconditionerType,
+ typename PreconditionerType,
std::enable_if_t<
std::is_same<VectorType, typename SolverType::vector_type>::value,
VectorType> * = nullptr>
typename VectorType,
typename SolverType,
typename MatrixType,
- class PreconditionerType,
+ typename PreconditionerType,
std::enable_if_t<
!std::is_same<VectorType, typename SolverType::vector_type>::value,
VectorType> * = nullptr>
template <typename VectorType,
typename SolverType,
typename MatrixType,
- class PreconditionerType>
+ typename PreconditionerType>
void
MGCoarseGridIterativeSolver<
VectorType,