// Copyright (c) FIRST and other WPILib contributors. // Open Source Software; you can modify and/or share it under the terms of // the WPILib BSD license file in the root directory of this project. #pragma once #include #include #include #include "frc/EigenCore.h" template struct wpi::Struct> { static constexpr ct_string kTypeName = wpi::Concat("Vector__"_ct_string, wpi::NumToCtString()); static constexpr std::string_view GetTypeName() { return kTypeName; } static constexpr size_t GetSize() { return Size * 8; } static constexpr ct_string kSchema = wpi::Concat( "double data["_ct_string, wpi::NumToCtString(), "]"_ct_string); static constexpr std::string_view GetSchema() { return kSchema; } static frc::Matrixd Unpack( std::span data); static void Pack( std::span data, const frc::Matrixd& value); }; static_assert(wpi::StructSerializable>); static_assert(wpi::StructSerializable>); #include "frc/struct/VectorStruct.inc"