#pragma once

#include <map>
#include <string>
#include "IProcessorGenerator.h"

namespace mdd
{
	template <class PROCESSOR_CLASS>
	class ProcessorGenerator
		: public IProcessorGenerator
	{
		std::shared_ptr<IProcessor> generate() override
		{
			return std::make_shared<PROCESSOR_CLASS>();
		}
	};
}

//#define ADD_GENERATOR(CLASS) namespace{mdd::GeneratorRegistration<CLASS> reg_sdewfdsf(#CLASS);}