• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

MOR_SampleDofListFactory.hpp

Go to the documentation of this file.
00001 //*****************************************************************//
00002 //    Albany 2.0:  Copyright 2012 Sandia Corporation               //
00003 //    This Software is released under the BSD license detailed     //
00004 //    in the file "license.txt" in the top-level Albany directory  //
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> &params);
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> &params) = 0;
00036   virtual ~DofListProvider() {}
00037 };
00038 
00039 } // namespace MOR
00040 
00041 #endif /* MOR_SAMPLEDOFLISTFACTORY_HPP */

Generated on Wed Mar 26 2014 18:36:40 for Albany: a Trilinos-based PDE code by  doxygen 1.7.1