Generator.h 364 B

123456789101112131415161718192021
  1. #pragma once
  2. #include <map>
  3. #include <string>
  4. #include "IGenerator.h"
  5. namespace mdd
  6. {
  7. template <class MODULE_CLASS>
  8. class Generator
  9. : public IGenerator
  10. {
  11. virtual std::shared_ptr<IModule> generate()
  12. {
  13. return std::make_shared<MODULE_CLASS>();
  14. }
  15. };
  16. }
  17. //#define ADD_GENERATOR(CLASS) namespace{mdd::GeneratorRegistration<CLASS> reg_sdewfdsf(#CLASS);}