PlayaPreconditionerFactory.hpp

00001 /* @HEADER@ */
00002 //   
00003 /* @HEADER@ */
00004 
00005 #ifndef PLAYA_PRECONDITIONERFACTORY_HPP
00006 #define PLAYA_PRECONDITIONERFACTORY_HPP
00007 
00008 #include "PlayaDefs.hpp"
00009 #include "PlayaHandle.hpp"
00010 #include "PlayaPreconditionerFactoryBase.hpp"
00011 
00012 namespace Playa
00013 {
00027   template <class Scalar> 
00028   class PreconditionerFactory 
00029     : public Playa::Handle<PreconditionerFactoryBase<Scalar> >
00030   {
00031   public:
00032     /* Boilerplate ctors */
00033     HANDLE_CTORS(PreconditionerFactory<Scalar>, PreconditionerFactoryBase<Scalar>);
00034 
00036     Preconditioner<Scalar> createPreconditioner(const LinearOperator<Scalar>& A) const
00037     {return this->ptr()->createPreconditioner(A);}
00038     
00039   };
00040 }
00041 
00042 #endif

doxygen