
 

// This file is autogenerated. DO NOT EDIT

#pragma once
#include <robotpy_build.h>


#include <../_impl/include/frc/smartdashboard/SendableBuilderImpl.h>




#include <rpygen/nt__NTSendableBuilder.hpp>

namespace rpygen {

using namespace frc;


template <typename CfgBase>
using PyTrampolineCfgBase_frc__SendableBuilderImpl =
    PyTrampolineCfg_nt__NTSendableBuilder<
CfgBase
>;

template <typename CfgBase = EmptyTrampolineCfg>
struct PyTrampolineCfg_frc__SendableBuilderImpl :
    PyTrampolineCfgBase_frc__SendableBuilderImpl< CfgBase>
{
    using Base = frc::SendableBuilderImpl;

    using override_base_GetTable_v = frc::SendableBuilderImpl;
    using override_base_KIsPublished_v = frc::SendableBuilderImpl;
    using override_base_Update_v = frc::SendableBuilderImpl;
    using override_base_ClearProperties_v = frc::SendableBuilderImpl;
    using override_base_SetSmartDashboardType_Tstring_view = frc::SendableBuilderImpl;
    using override_base_SetActuator_b = frc::SendableBuilderImpl;
    using override_base_SetSafeState_Tfunction_void___ = frc::SendableBuilderImpl;
    using override_base_SetUpdateTable_Tfunction_void___ = frc::SendableBuilderImpl;
    using override_base_GetEntry_Tstring_view = frc::SendableBuilderImpl;
    using override_base_AddBooleanProperty_Tstring_view_Tfunction_bool____Tfunction_void_bool__ = frc::SendableBuilderImpl;
    using override_base_AddDoubleProperty_Tstring_view_Tfunction_double____Tfunction_void_double__ = frc::SendableBuilderImpl;
    using override_base_AddStringProperty_Tstring_view_Tstring____Tstring_view__ = frc::SendableBuilderImpl;
    using override_base_AddBooleanArrayProperty_Tstring_view_Tvector_int_____Tspan_constint___ = frc::SendableBuilderImpl;
    using override_base_AddDoubleArrayProperty_Tstring_view_Tvector_double_____Tspan_constdouble___ = frc::SendableBuilderImpl;
    using override_base_AddStringArrayProperty_Tstring_view_Tstring_____Tstring___ = frc::SendableBuilderImpl;
    using override_base_AddRawProperty_Tstring_view_Tstring____Tstring_view__ = frc::SendableBuilderImpl;
    using override_base_AddValueProperty_Tstring_view_TValue_____TValue___ = frc::SendableBuilderImpl;
    using override_base_AddSmallStringProperty_Tstring_view_TSmallVectorImpl_char__buf___Tstring_view__ = frc::SendableBuilderImpl;
    using override_base_AddSmallBooleanArrayProperty_Tstring_view_TSmallVectorImpl_int__buf___Tspan_constint___ = frc::SendableBuilderImpl;
    using override_base_AddSmallDoubleArrayProperty_Tstring_view_TSmallVectorImpl_double__buf___Tspan_constdouble___ = frc::SendableBuilderImpl;
    using override_base_AddSmallStringArrayProperty_Tstring_view_Tstring__buf___Tstring___ = frc::SendableBuilderImpl;
    using override_base_AddSmallRawProperty_Tstring_view_TSmallVectorImpl_char__buf___Tstring_view__ = frc::SendableBuilderImpl;
};


template <typename PyTrampolineBase, typename PyTrampolineCfg>
using PyTrampolineBase_frc__SendableBuilderImpl =
    PyTrampoline_nt__NTSendableBuilder<
        PyTrampolineBase
        
        , PyTrampolineCfg
    >
;

template <typename PyTrampolineBase, typename PyTrampolineCfg>
struct PyTrampoline_frc__SendableBuilderImpl : PyTrampolineBase_frc__SendableBuilderImpl<PyTrampolineBase, PyTrampolineCfg> {
    using PyTrampolineBase_frc__SendableBuilderImpl<PyTrampolineBase, PyTrampolineCfg>::PyTrampolineBase_frc__SendableBuilderImpl;



#ifndef RPYGEN_DISABLE_GetTable_v
    std::shared_ptr<nt::NetworkTable > GetTable() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_GetTable_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(std::shared_ptr<nt::NetworkTable >), LookupBase,
            "getTable", );
        return CxxCallBase::GetTable();
    }
#endif

#ifndef RPYGEN_DISABLE_KIsPublished_v
    bool IsPublished() const override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_KIsPublished_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(bool), LookupBase,
            "isPublished", );
        return CxxCallBase::IsPublished();
    }
#endif

#ifndef RPYGEN_DISABLE_Update_v
    void Update() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_Update_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "update", );
        return CxxCallBase::Update();
    }
#endif

#ifndef RPYGEN_DISABLE_ClearProperties_v
    void ClearProperties() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_ClearProperties_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "clearProperties", );
        return CxxCallBase::ClearProperties();
    }
#endif

#ifndef RPYGEN_DISABLE_SetSmartDashboardType_Tstring_view
    void SetSmartDashboardType(std::string_view type) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_SetSmartDashboardType_Tstring_view;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "setSmartDashboardType", type);
        return CxxCallBase::SetSmartDashboardType(type);
    }
#endif

#ifndef RPYGEN_DISABLE_SetActuator_b
    void SetActuator(bool value) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_SetActuator_b;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "setActuator", value);
        return CxxCallBase::SetActuator(value);
    }
#endif

#ifndef RPYGEN_DISABLE_SetSafeState_Tfunction_void___
    void SetSafeState(std::function<void ( )> func) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_SetSafeState_Tfunction_void___;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "setSafeState", func);
        return CxxCallBase::SetSafeState(func);
    }
#endif

#ifndef RPYGEN_DISABLE_SetUpdateTable_Tfunction_void___
    void SetUpdateTable(std::function<void ( )> func) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_SetUpdateTable_Tfunction_void___;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "setUpdateTable", func);
        return CxxCallBase::SetUpdateTable(func);
    }
#endif

#ifndef RPYGEN_DISABLE_GetEntry_Tstring_view
    nt::NetworkTableEntry GetEntry(std::string_view key) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_GetEntry_Tstring_view;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(nt::NetworkTableEntry), LookupBase,
            "getEntry", key);
        return CxxCallBase::GetEntry(key);
    }
#endif

#ifndef RPYGEN_DISABLE_AddBooleanProperty_Tstring_view_Tfunction_bool____Tfunction_void_bool__
    void AddBooleanProperty(std::string_view key, std::function<bool ( )> getter, std::function<void ( bool )> setter) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_AddBooleanProperty_Tstring_view_Tfunction_bool____Tfunction_void_bool__;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "addBooleanProperty", key, getter, setter);
        return CxxCallBase::AddBooleanProperty(key, getter, setter);
    }
#endif

#ifndef RPYGEN_DISABLE_AddDoubleProperty_Tstring_view_Tfunction_double____Tfunction_void_double__
    void AddDoubleProperty(std::string_view key, std::function<double ( )> getter, std::function<void ( double )> setter) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_AddDoubleProperty_Tstring_view_Tfunction_double____Tfunction_void_double__;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "addDoubleProperty", key, getter, setter);
        return CxxCallBase::AddDoubleProperty(key, getter, setter);
    }
#endif

#ifndef RPYGEN_DISABLE_AddStringProperty_Tstring_view_Tstring____Tstring_view__
    void AddStringProperty(std::string_view key, std::function<std::string ( )> getter, std::function<void ( std::string_view )> setter) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_AddStringProperty_Tstring_view_Tstring____Tstring_view__;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "addStringProperty", key, getter, setter);
        return CxxCallBase::AddStringProperty(key, getter, setter);
    }
#endif

#ifndef RPYGEN_DISABLE_AddBooleanArrayProperty_Tstring_view_Tvector_int_____Tspan_constint___
    void AddBooleanArrayProperty(std::string_view key, std::function<std::vector<int> ( )> getter, std::function<void ( wpi::span<const int> )> setter) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_AddBooleanArrayProperty_Tstring_view_Tvector_int_____Tspan_constint___;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "addBooleanArrayProperty", key, getter, setter);
        return CxxCallBase::AddBooleanArrayProperty(key, getter, setter);
    }
#endif

#ifndef RPYGEN_DISABLE_AddDoubleArrayProperty_Tstring_view_Tvector_double_____Tspan_constdouble___
    void AddDoubleArrayProperty(std::string_view key, std::function<std::vector<double> ( )> getter, std::function<void ( wpi::span<const double> )> setter) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_AddDoubleArrayProperty_Tstring_view_Tvector_double_____Tspan_constdouble___;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "addDoubleArrayProperty", key, getter, setter);
        return CxxCallBase::AddDoubleArrayProperty(key, getter, setter);
    }
#endif

#ifndef RPYGEN_DISABLE_AddStringArrayProperty_Tstring_view_Tstring_____Tstring___
    void AddStringArrayProperty(std::string_view key, std::function<std::vector<std::string> ( )> getter, std::function<void ( wpi::span<const std::string> )> setter) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_AddStringArrayProperty_Tstring_view_Tstring_____Tstring___;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "addStringArrayProperty", key, getter, setter);
        return CxxCallBase::AddStringArrayProperty(key, getter, setter);
    }
#endif

#ifndef RPYGEN_DISABLE_AddRawProperty_Tstring_view_Tstring____Tstring_view__
    void AddRawProperty(std::string_view key, std::function<std::string ( )> getter, std::function<void ( std::string_view )> setter) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_AddRawProperty_Tstring_view_Tstring____Tstring_view__;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "addRawProperty", key, getter, setter);
        return CxxCallBase::AddRawProperty(key, getter, setter);
    }
#endif

#ifndef RPYGEN_DISABLE_AddValueProperty_Tstring_view_TValue_____TValue___
    void AddValueProperty(std::string_view key, std::function<std::shared_ptr<nt::Value> ( )> getter, std::function<void ( std::shared_ptr<nt::Value> )> setter) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_AddValueProperty_Tstring_view_TValue_____TValue___;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "addValueProperty", key, getter, setter);
        return CxxCallBase::AddValueProperty(key, getter, setter);
    }
#endif

#ifndef RPYGEN_DISABLE_AddSmallStringProperty_Tstring_view_TSmallVectorImpl_char__buf___Tstring_view__
    void AddSmallStringProperty(std::string_view key, std::function<std::string_view ( wpi::SmallVectorImpl<char> & buf )> getter, std::function<void ( std::string_view )> setter) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_AddSmallStringProperty_Tstring_view_TSmallVectorImpl_char__buf___Tstring_view__;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "addSmallStringProperty", key, getter, setter);
        return CxxCallBase::AddSmallStringProperty(key, getter, setter);
    }
#endif

#ifndef RPYGEN_DISABLE_AddSmallBooleanArrayProperty_Tstring_view_TSmallVectorImpl_int__buf___Tspan_constint___
    void AddSmallBooleanArrayProperty(std::string_view key, std::function<wpi::span<const int> ( wpi::SmallVectorImpl<int> & buf )> getter, std::function<void ( wpi::span<const int> )> setter) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_AddSmallBooleanArrayProperty_Tstring_view_TSmallVectorImpl_int__buf___Tspan_constint___;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "addSmallBooleanArrayProperty", key, getter, setter);
        return CxxCallBase::AddSmallBooleanArrayProperty(key, getter, setter);
    }
#endif

#ifndef RPYGEN_DISABLE_AddSmallDoubleArrayProperty_Tstring_view_TSmallVectorImpl_double__buf___Tspan_constdouble___
    void AddSmallDoubleArrayProperty(std::string_view key, std::function<wpi::span<const double> ( wpi::SmallVectorImpl<double> & buf )> getter, std::function<void ( wpi::span<const double> )> setter) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_AddSmallDoubleArrayProperty_Tstring_view_TSmallVectorImpl_double__buf___Tspan_constdouble___;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "addSmallDoubleArrayProperty", key, getter, setter);
        return CxxCallBase::AddSmallDoubleArrayProperty(key, getter, setter);
    }
#endif

#ifndef RPYGEN_DISABLE_AddSmallStringArrayProperty_Tstring_view_Tstring__buf___Tstring___
    void AddSmallStringArrayProperty(std::string_view key, std::function<wpi::span<const std::string> ( wpi::SmallVectorImpl<std::string> & buf )> getter, std::function<void ( wpi::span<const std::string> )> setter) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_AddSmallStringArrayProperty_Tstring_view_Tstring__buf___Tstring___;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "addSmallStringArrayProperty", key, getter, setter);
        return CxxCallBase::AddSmallStringArrayProperty(key, getter, setter);
    }
#endif

#ifndef RPYGEN_DISABLE_AddSmallRawProperty_Tstring_view_TSmallVectorImpl_char__buf___Tstring_view__
    void AddSmallRawProperty(std::string_view key, std::function<std::string_view ( wpi::SmallVectorImpl<char> & buf )> getter, std::function<void ( std::string_view )> setter) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_AddSmallRawProperty_Tstring_view_TSmallVectorImpl_char__buf___Tstring_view__;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "addSmallRawProperty", key, getter, setter);
        return CxxCallBase::AddSmallRawProperty(key, getter, setter);
    }
#endif




};

}; // namespace rpygen
