25 #ifndef QUESO_ALGORITHM_FACTORY_H
26 #define QUESO_ALGORITHM_FACTORY_H
28 #include <queso/Factory.h>
29 #include <queso/GslVector.h>
30 #include <queso/GslMatrix.h>
31 #include <queso/VectorSpace.h>
32 #include <queso/Algorithm.h>
68 virtual SharedPtr<Algorithm<GslVector, GslMatrix> >::Type
build_algorithm() = 0;
78 virtual SharedPtr<Algorithm<GslVector, GslMatrix> >::Type
create();
82 SharedPtr<Algorithm<GslVector, GslMatrix> >::Type
88 SharedPtr<Algorithm<GslVector, GslMatrix> >::Type new_alg = this->
build_algorithm();
100 template <
class DerivedAlgorithm>
111 virtual SharedPtr<Algorithm<GslVector, GslMatrix> >::Type
build_algorithm();
116 #endif // QUESO_ALGORITHM_FACTORY_H
virtual SharedPtr< Algorithm< GslVector, GslMatrix > >::Type create()
virtual ~AlgorithmFactory()
static void set_tk(const BaseTKGroup< GslVector, GslMatrix > &tk)
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
AlgorithmFactoryImp(const std::string &name)
static const BaseTKGroup< GslVector, GslMatrix > * m_tk
virtual SharedPtr< Algorithm< GslVector, GslMatrix > >::Type build_algorithm()=0
AlgorithmFactory(const std::string &name)
Class for vector operations using GSL library.
virtual ~AlgorithmFactoryImp()
#define queso_assert(asserted)
#define queso_require_msg(asserted, msg)
This base class allows the representation of a transition kernel.
static void set_environment(const BaseEnvironment &env)
virtual SharedPtr< Algorithm< GslVector, GslMatrix > >::Type build_algorithm()
static const BaseEnvironment * m_env
Class for matrix operations using GSL library.