Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007 #ifndef MOR_SAMPLEDOFLISTFACTORY_HPP
00008 #define MOR_SAMPLEDOFLISTFACTORY_HPP
00009
00010 #include "Teuchos_RCP.hpp"
00011 #include "Teuchos_Array.hpp"
00012 #include "Teuchos_ParameterList.hpp"
00013
00014 #include <string>
00015 #include <map>
00016
00017 namespace MOR {
00018
00019 class SampleDofListFactory {
00020 public:
00021 SampleDofListFactory();
00022
00023 Teuchos::Array<int> create(const Teuchos::RCP<Teuchos::ParameterList> ¶ms);
00024
00025 class DofListProvider;
00026 void extend(const std::string &id, const Teuchos::RCP<DofListProvider> &provider);
00027
00028 private:
00029 typedef std::map<std::string, Teuchos::RCP<DofListProvider> > ProviderMap;
00030 ProviderMap providers_;
00031 };
00032
00033 class SampleDofListFactory::DofListProvider {
00034 public:
00035 virtual Teuchos::Array<int> operator()(const Teuchos::RCP<Teuchos::ParameterList> ¶ms) = 0;
00036 virtual ~DofListProvider() {}
00037 };
00038
00039 }
00040
00041 #endif