WPILibC++ 2027.0.0-alpha-4
Loading...
Searching...
No Matches
SwerveModuleVelocityStruct.hpp
Go to the documentation of this file.
1// Copyright (c) FIRST and other WPILib contributors.
2// Open Source Software; you can modify and/or share it under the terms of
3// the WPILib BSD license file in the root directory of this project.
4
5#pragma once
6
10
11template <>
12struct WPILIB_DLLEXPORT wpi::util::Struct<wpi::math::SwerveModuleVelocity> {
13 static constexpr std::string_view GetTypeName() {
14 return "SwerveModuleVelocity";
15 }
16 static constexpr size_t GetSize() {
18 }
19 static constexpr std::string_view GetSchema() {
20 return "double velocity;Rotation2d angle";
21 }
22
23 static wpi::math::SwerveModuleVelocity Unpack(std::span<const uint8_t> data);
24 static void Pack(std::span<uint8_t> data,
26 static void ForEachNested(
27 std::invocable<std::string_view, std::string_view> auto fn) {
29 }
30};
31
#define WPILIB_DLLEXPORT
Definition SymbolExports.hpp:36
Specifies that a struct type has nested struct declarations.
Definition Struct.hpp:120
Specifies that a type is capable of raw struct serialization and deserialization.
Definition Struct.hpp:69
void ForEachStructSchema(std::invocable< std::string_view, std::string_view > auto fn, const I &... info)
Definition Struct.hpp:424
constexpr size_t GetStructSize(const I &... info)
Get the size for a raw struct serializable type.
Definition Struct.hpp:337
Definition CvSource.hpp:15
Represents the velocity of one swerve module.
Definition SwerveModuleVelocity.hpp:17
static constexpr std::string_view GetTypeName()
Definition SwerveModuleVelocityStruct.hpp:13
static constexpr std::string_view GetSchema()
Definition SwerveModuleVelocityStruct.hpp:19
static constexpr size_t GetSize()
Definition SwerveModuleVelocityStruct.hpp:16
static void Pack(std::span< uint8_t > data, const wpi::math::SwerveModuleVelocity &value)
static wpi::math::SwerveModuleVelocity Unpack(std::span< const uint8_t > data)
static void ForEachNested(std::invocable< std::string_view, std::string_view > auto fn)
Definition SwerveModuleVelocityStruct.hpp:26
Struct serialization template.
Definition Struct.hpp:39