Ifpack2 Templated Preconditioning Package Version 1.0
Loading...
Searching...
No Matches
Ifpack2_Details_registerLinearSolverFactory.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// Ifpack2: Templated Object-Oriented Algebraic Preconditioner Package
4//
5// Copyright 2009 NTESS and the Ifpack2 contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
13
14#ifndef IFPACK2_DETAILS_REGISTERLINEARSOLVERFACTORY_HPP
15#define IFPACK2_DETAILS_REGISTERLINEARSOLVERFACTORY_HPP
16
17#include "Ifpack2_ConfigDefs.hpp"
18
19namespace Ifpack2 {
20namespace Details {
21
49
50} // namespace Details
51} // namespace Ifpack2
52
53namespace { // (anonymous)
54
55// \class RegisterLinearSolverFactory
56// \brief Register Ifpack2's solver factory/ies with the central registry.
57//
58// \warning NOT FOR USERS. ONLY FOR USE IN THIS FILE.
59//
60// Invoke this class' constructor to register Ifpack2's solver
61// factory/ies with the central registry, for all template parameter
62// combinations that Ifpack2 enabled. You need not keep the instance
63// of the class around; the constructor has a side effect if it
64// returns. (This is the C++ way of doing
65// <tt>__attribute__((constructor))</tt>, without actually requiring
66// the syntax extension.)
67class RegisterLinearSolverFactory {
68 public:
69 RegisterLinearSolverFactory() {
71 }
72};
73
74// Creating an instance of RegisterLinearSolverFactory invokes its
75// constructor, which has the side effect of calling
76// Ifpack2::Details::registerLinearSolverFactory().
77RegisterLinearSolverFactory registerIt;
78
79} // namespace
80
81#endif // IFPACK2_DETAILS_REGISTERLINEARSOLVERFACTORY_HPP
void registerLinearSolverFactory()
Register Ifpack2's LinearSolverFactory with the central repository, for all enabled combinations of t...
Definition Ifpack2_Details_registerLinearSolverFactory.cpp:33
void registerLinearSolverFactory()
Ifpack2 implementation details.
Preconditioners and smoothers for Tpetra sparse matrices.
Definition Ifpack2_AdditiveSchwarz_decl.hpp:40