Skip to content

File evabIMotor.h

File List > src > evabIMotor.h

Go to the documentation of this file

#pragma once

namespace evam
{
    class IMotor
    {
    public:
        virtual void Go(signed short aValue) = 0;
        virtual ~IMotor() = default;
    };

    template <class TMotor>
    class IMotorMaker : public IMotor
    {
    public:
        template <typename... Arg>
        IMotorMaker(Arg... args) : TMotor(args...)
        {
        }

        void Go(signed short aValue)
        {
            TMotor::Go(aValue);
        }
    };
}