
 

// This file is autogenerated. DO NOT EDIT

#pragma once
#include <robotpy_build.h>


#include <../_impl/include/frc/BuiltInAccelerometer.h>

#include <wpi/sendable/SendableBuilder.h>

#define RPYGEN_DISABLE_SetRange_TRange


#include <rpygen/frc__Accelerometer.hpp>
#include <rpygen/wpi__Sendable.hpp>

namespace rpygen {

using namespace frc;


template <typename CfgBase>
using PyTrampolineCfgBase_frc__BuiltInAccelerometer =
    PyTrampolineCfg_frc__Accelerometer<
    PyTrampolineCfg_wpi__Sendable<
CfgBase
>>;

template <typename CfgBase = EmptyTrampolineCfg>
struct PyTrampolineCfg_frc__BuiltInAccelerometer :
    PyTrampolineCfgBase_frc__BuiltInAccelerometer< CfgBase>
{
    using Base = frc::BuiltInAccelerometer;

    using override_base_GetX_v = frc::BuiltInAccelerometer;
    using override_base_GetY_v = frc::BuiltInAccelerometer;
    using override_base_GetZ_v = frc::BuiltInAccelerometer;
    using override_base_InitSendable_RTSendableBuilder = frc::BuiltInAccelerometer;
};


template <typename PyTrampolineBase, typename PyTrampolineCfg>
using PyTrampolineBase_frc__BuiltInAccelerometer =
    PyTrampoline_frc__Accelerometer<
    PyTrampoline_wpi__Sendable<
        PyTrampolineBase
        
        , PyTrampolineCfg
    >
        
        , PyTrampolineCfg
    >
;

template <typename PyTrampolineBase, typename PyTrampolineCfg>
struct PyTrampoline_frc__BuiltInAccelerometer : PyTrampolineBase_frc__BuiltInAccelerometer<PyTrampolineBase, PyTrampolineCfg> {
    using PyTrampolineBase_frc__BuiltInAccelerometer<PyTrampolineBase, PyTrampolineCfg>::PyTrampolineBase_frc__BuiltInAccelerometer;


using Range = frc::Accelerometer::Range;    static constexpr auto kRange_8G = frc::Accelerometer::Range::kRange_8G;

#ifndef RPYGEN_DISABLE_GetX_v
    double GetX() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_GetX_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(double), LookupBase,
            "getX", );
        return CxxCallBase::GetX();
    }
#endif

#ifndef RPYGEN_DISABLE_GetY_v
    double GetY() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_GetY_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(double), LookupBase,
            "getY", );
        return CxxCallBase::GetY();
    }
#endif

#ifndef RPYGEN_DISABLE_GetZ_v
    double GetZ() override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_GetZ_v;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(double), LookupBase,
            "getZ", );
        return CxxCallBase::GetZ();
    }
#endif

#ifndef RPYGEN_DISABLE_InitSendable_RTSendableBuilder
    void InitSendable(wpi::SendableBuilder& builder) override {
        using LookupBase = typename PyTrampolineCfg::Base;
        using CxxCallBase = typename PyTrampolineCfg::override_base_InitSendable_RTSendableBuilder;
        PYBIND11_OVERRIDE_IMPL(PYBIND11_TYPE(void), LookupBase,
            "initSendable", builder);
        return CxxCallBase::InitSendable(builder);
    }
#endif




};

}; // namespace rpygen
