FEI  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
snl_fei_Broker.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 _snl_fei_Broker_hpp_
10 #define _snl_fei_Broker_hpp_
11 
12 #include <fei_macros.hpp>
13 #include <fei_SharedPtr.hpp>
14 
15 namespace fei {
16  class VectorSpace;
17  class MatrixGraph;
18  class Vector;
19  class Matrix;
20  class LinearSystem;
21 }//namespace fei
22 
23 namespace snl_fei {
24 
30  class Broker {
31  public:
33  virtual ~Broker(){}
34 
44  virtual fei::SharedPtr<fei::Vector> createVector(bool isSolutionVector=false) = 0;
45 
49 
53 
55  virtual void setMatrixGraph(fei::SharedPtr<fei::MatrixGraph> matrixGraph) = 0;
56  };//class Broker
57 }//namespace snl_fei
58 
59 #endif // _snl_fei_Broker_hpp_
virtual void setMatrixGraph(fei::SharedPtr< fei::MatrixGraph > matrixGraph)=0
virtual fei::SharedPtr< fei::Matrix > createMatrix()=0
virtual fei::SharedPtr< fei::LinearSystem > createLinearSystem()=0
virtual fei::SharedPtr< fei::Vector > createVector(bool isSolutionVector=false)=0