FEI
Version of the Day
Main Page
Related Pages
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
base
fei_Factory.hpp
1
/*--------------------------------------------------------------------*/
2
/* Copyright 2005 Sandia Corporation. */
3
/* Under the terms of Contract DE-AC04-94AL85000, there is a */
4
/* non-exclusive license for use of this work by or on behalf */
5
/* of the U.S. Government. Export of this program may require */
6
/* a license from the United States Government. */
7
/*--------------------------------------------------------------------*/
8
9
#ifndef _fei_Factory_hpp_
10
#define _fei_Factory_hpp_
11
12
#include "fei_macros.hpp"
13
#include "fei_mpi.h"
14
#include "fei_VectorSpace.hpp"
15
#include "fei_MatrixGraph.hpp"
16
#include "fei_Matrix.hpp"
17
#include "fei_Vector.hpp"
18
#include "fei_LinearSystem.hpp"
19
#include "fei_Solver.hpp"
20
#include "fei_LibraryWrapper.hpp"
21
#include "FEI.hpp"
22
23
namespace
fei {
24
//first, a forward declaration...
25
class
ParameterSet;
26
37
class
Factory
:
public
virtual
fei::VectorSpace::Factory
,
38
public
virtual
fei::MatrixGraph::Factory
,
39
public
virtual
fei::Matrix::Factory
,
40
public
virtual
fei::Vector::Factory
,
41
public
virtual
fei::LinearSystem::Factory
,
42
public
virtual
fei::Solver::Factory
{
43
public
:
45
Factory
(MPI_Comm comm);
46
48
virtual
~Factory
();
49
51
virtual
fei::SharedPtr<Factory>
clone
()
const
= 0;
52
55
virtual
void
parameters
(
const
fei::ParameterSet
& paramset);
56
64
virtual
fei::SharedPtr<FEI>
createFEI
(
fei::SharedPtr<LibraryWrapper>
wrapper,
65
MPI_Comm comm);
66
74
virtual
fei::SharedPtr<FEI>
createFEI
(MPI_Comm comm);
75
79
virtual
int
getOutputLevel
()
const
= 0;
80
81
private
:
82
Factory
();
83
Factory
(
const
Factory
& src);
84
};
//class Factory
85
}
//namespace fei
86
87
#endif // _fei_Factory_hpp_
fei::Matrix::Factory
Definition:
fei_Matrix.hpp:33
fei::Factory::parameters
virtual void parameters(const fei::ParameterSet ¶mset)
Definition:
fei_Factory.cpp:38
fei::Solver::Factory
Definition:
fei_Solver.hpp:25
fei::ParameterSet
Definition:
fei_ParameterSet.hpp:46
fei::LinearSystem::Factory
Definition:
fei_LinearSystem.hpp:29
fei::Factory::~Factory
virtual ~Factory()
Definition:
fei_Factory.cpp:31
fei::Factory::clone
virtual fei::SharedPtr< Factory > clone() const =0
fei::Factory::getOutputLevel
virtual int getOutputLevel() const =0
fei::SharedPtr
Definition:
fei_SharedPtr.hpp:65
fei::VectorSpace::Factory
Definition:
fei_VectorSpace.hpp:65
fei::Vector::Factory
Definition:
fei_Vector.hpp:60
fei::MatrixGraph::Factory
Definition:
fei_MatrixGraph.hpp:36
fei::Factory::createFEI
virtual fei::SharedPtr< FEI > createFEI(fei::SharedPtr< LibraryWrapper > wrapper, MPI_Comm comm)
Definition:
fei_Factory.cpp:65
fei::Factory
Definition:
fei_Factory.hpp:37
Generated by
1.8.5