LAMA
|
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_