
 

// This file is autogenerated. DO NOT EDIT

#pragma once
#include <robotpy_build.h>


#include <../src/include/frc2/command/Command.h>

#include <frc2/command/InstantCommand.h>
#include <frc2/command/ParallelCommandGroup.h>
#include <frc2/command/ParallelRaceGroup.h>
#include <frc2/command/ParallelDeadlineGroup.h>
#include <frc2/command/SequentialCommandGroup.h>
#include <frc2/command/PerpetualCommand.h>
#include <frc2/command/ProxyScheduleCommand.h>
#include <frc2/command/WaitCommand.h>
#include <frc2/command/WaitUntilCommand.h>
#include <src/helpers.h>




namespace rpygen {

using namespace frc2;



template <typename CfgBase = EmptyTrampolineCfg>
struct PyTrampolineCfg_frc2__Command :
    CfgBase
{
    using Base = frc2::Command;

    using override_base_Initialize_v = frc2::Command;
    using override_base_Execute_v = frc2::Command;
    using override_base_End_b = frc2::Command;
    using override_base_IsFinished_v = frc2::Command;
    using override_base_KGetRequirements_v = frc2::Command;
    using override_base_KRunsWhenDisabled_v = frc2::Command;
    using override_base_KGetName_v = frc2::Command;
};


template <typename PyTrampolineBase, typename PyTrampolineCfg>
struct PyTrampoline_frc2__Command : PyTrampolineBase, virtual py::trampoline_self_life_support {
    using PyTrampolineBase::PyTrampolineBase;



#ifndef RPYGEN_DISABLE_Initialize_v
    void Initialize() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_Initialize_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "initialize", );
        return CxxCallBase::Initialize();
    }
#endif

#ifndef RPYGEN_DISABLE_Execute_v
    void Execute() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_Execute_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "execute", );
        return CxxCallBase::Execute();
    }
#endif

#ifndef RPYGEN_DISABLE_End_b
    void End(bool interrupted) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_End_b;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "end", interrupted);
        return CxxCallBase::End(interrupted);
    }
#endif

#ifndef RPYGEN_DISABLE_IsFinished_v
    bool IsFinished() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_IsFinished_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(bool), LookupBase,
            "isFinished", );
        return CxxCallBase::IsFinished();
    }
#endif

#ifndef RPYGEN_DISABLE_KGetRequirements_v
    wpi::SmallSet<std::shared_ptr<Subsystem>, 4 > GetRequirements() const override {
        using LookupBase = typename PyTrampolineCfg::Base;
        RPYBUILD_OVERRIDE_PURE_NAME(Command, PYBIND11_TYPE(wpi::SmallSet<std::shared_ptr<Subsystem>, 4 >), LookupBase,
            "getRequirements", GetRequirements, );
    }
#endif

#ifndef RPYGEN_DISABLE_KRunsWhenDisabled_v
    bool RunsWhenDisabled() const override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_KRunsWhenDisabled_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(bool), LookupBase,
            "runsWhenDisabled", );
        return CxxCallBase::RunsWhenDisabled();
    }
#endif

#ifndef RPYGEN_DISABLE_KGetName_v
    std::string GetName() const override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_KGetName_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(std::string), LookupBase,
            "getName", );
        return CxxCallBase::GetName();
    }
#endif



    using frc2::Command::m_isGrouped;

};

}; // namespace rpygen
