
 

// This file is autogenerated. DO NOT EDIT

#pragma once
#include <robotpy_build.h>


#include <wpi/sendable/SendableBuilder.h>





namespace rpygen {

using namespace wpi;



template <typename CfgBase = EmptyTrampolineCfg>
struct PyTrampolineCfg_wpi__SendableBuilder :
    CfgBase
{
    using Base = wpi::SendableBuilder;

    using override_base_SetSmartDashboardType_Tstring_view = wpi::SendableBuilder;
    using override_base_SetActuator_b = wpi::SendableBuilder;
    using override_base_SetSafeState_Tfunction_void___ = wpi::SendableBuilder;
    using override_base_AddBooleanProperty_Tstring_view_Tfunction_bool____Tfunction_void_bool__ = wpi::SendableBuilder;
    using override_base_AddDoubleProperty_Tstring_view_Tfunction_double____Tfunction_void_double__ = wpi::SendableBuilder;
    using override_base_AddStringProperty_Tstring_view_Tstring____Tstring_view__ = wpi::SendableBuilder;
    using override_base_AddBooleanArrayProperty_Tstring_view_Tvector_int_____Tspan_constint___ = wpi::SendableBuilder;
    using override_base_AddDoubleArrayProperty_Tstring_view_Tvector_double_____Tspan_constdouble___ = wpi::SendableBuilder;
    using override_base_AddStringArrayProperty_Tstring_view_Tstring_____Tstring___ = wpi::SendableBuilder;
    using override_base_AddRawProperty_Tstring_view_Tstring____Tstring_view__ = wpi::SendableBuilder;
    using override_base_AddSmallStringProperty_Tstring_view_TSmallVectorImpl_char__buf___Tstring_view__ = wpi::SendableBuilder;
    using override_base_AddSmallBooleanArrayProperty_Tstring_view_TSmallVectorImpl_int__buf___Tspan_constint___ = wpi::SendableBuilder;
    using override_base_AddSmallDoubleArrayProperty_Tstring_view_TSmallVectorImpl_double__buf___Tspan_constdouble___ = wpi::SendableBuilder;
    using override_base_AddSmallStringArrayProperty_Tstring_view_Tstring__buf___Tstring___ = wpi::SendableBuilder;
    using override_base_AddSmallRawProperty_Tstring_view_TSmallVectorImpl_char__buf___Tstring_view__ = wpi::SendableBuilder;
    using override_base_KGetBackendKind_v = wpi::SendableBuilder;
    using override_base_KIsPublished_v = wpi::SendableBuilder;
    using override_base_Update_v = wpi::SendableBuilder;
    using override_base_ClearProperties_v = wpi::SendableBuilder;
};


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



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

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

#ifndef RPYGEN_DISABLE_SetSafeState_Tfunction_void___
    void SetSafeState(std::function<void ( )> func) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "setSafeState", SetSafeState, func);
    }
#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;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "addBooleanProperty", 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;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "addDoubleProperty", 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;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "addStringProperty", 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;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "addBooleanArrayProperty", 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;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "addDoubleArrayProperty", 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;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "addStringArrayProperty", 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;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "addRawProperty", AddRawProperty, 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;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "addSmallStringProperty", 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;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "addSmallBooleanArrayProperty", 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;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "addSmallDoubleArrayProperty", 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;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "addSmallStringArrayProperty", 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;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "addSmallRawProperty", AddSmallRawProperty, key, getter, setter);
    }
#endif

#ifndef RPYGEN_DISABLE_KGetBackendKind_v
    SendableBuilder::BackendKind GetBackendKind() const override {
        using LookupBase = typename PyTrampolineCfg::Base;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(SendableBuilder::BackendKind), LookupBase,
            "getBackendKind", GetBackendKind, );
    }
#endif

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

#ifndef RPYGEN_DISABLE_Update_v
    void Update() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "update", Update, );
    }
#endif

#ifndef RPYGEN_DISABLE_ClearProperties_v
    void ClearProperties() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        RPYBUILD_OVERRIDE_PURE_NAME(SendableBuilder, PYBIND11_TYPE(void), LookupBase,
            "clearProperties", ClearProperties, );
    }
#endif




};

}; // namespace rpygen
