#pragma once #include #include #include namespace gj { class iElementDriver { public: using Value = std::variant; using Param = std::map; iElementDriver(iElementDriver&&) = default; iElementDriver(const iElementDriver&) = default; iElementDriver& operator=(iElementDriver&&) = default; iElementDriver& operator=(const iElementDriver&) = default; iElementDriver() = default; virtual ~iElementDriver() = default; virtual void Update(Param&) = 0; }; }