LAMA
/home/brandes/workspace/LAMA/src/lama/DistributionManager.hpp
Go to the documentation of this file.
00001 
00034 #ifndef LAMA_DISTRIBUTION_MANAGER_HPP_
00035 #define LAMA_DISTRIBUTION_MANAGER_HPP_
00036 
00037 // for dll_import
00038 #include <lama/config.hpp>
00039 
00040 // base classes
00041 #include <lama/NonCopyable.hpp>
00042 
00043 // others
00044 #include <lama/distribution/Distribution.hpp>
00045 
00046 // logging
00047 #include <logging/logging.hpp>
00048 
00049 namespace lama
00050 {
00051 
00060 class DistributionManager : private NonCopyable
00061 {
00062 public:
00063 
00064     virtual ~DistributionManager();
00065 
00072     virtual DistributionPtr getDistribution( const IndexType size, const std::vector<int>& arguments ) = 0;
00073 
00074 protected:
00075 
00078     DistributionManager( const char* type );
00079 
00080     std::string mDistributionType;  
00081 
00082     LAMA_LOG_DECL_STATIC_LOGGER(logger);
00083 };
00084 
00085 }  // namespace lama
00086 
00087 #endif // LAMA_DISTRIBUTION_MANAGER_HPP_