text: // Copyright Raving Bots 2018-2021
  //
  // Distributed under the Boost Software License, Version 1.0.
  // (See accompanying file SDK-LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
  
  // <auto-generated>
  //     WARNING: This file has been generated automatically. Do not edit manually, changes will be lost.
  // </auto-generated>
  
  #pragma once
  
  #include <xsim/types.hpp>
  
  #include "DriveOutput.hpp"
  #include "InOutState.hpp"
  
  namespace xsim
  {
  	struct ManifoldState final
  	{
  		constexpr ManifoldState() = default;
  		constexpr ManifoldState(const ManifoldState&) = default;
  		constexpr ManifoldState(ManifoldState&&) = default;
  		~ManifoldState() = default;
  		constexpr ManifoldState& operator=(const ManifoldState&) = default;
  		constexpr ManifoldState& operator=(ManifoldState&&) = default;
  
  		::xsim::Entity m_VehicleEntity{};
  		::xsim::Boolean<uint8_t> m_Precomputed{};
  		::xsim::Boolean<uint8_t> m_HasTransmission{};
  		::xsim::Boolean<uint8_t> m_LockInter{};
  		::xsim::DriveOutput m_FrontDriveOutput{};
  		::xsim::DriveOutput m_RearDriveOutput{};
  		::xsim::InOutState m_InOutState{};
  		float m_PrecomputedFrontGeometryCenter{};
  		float m_PrecomputedRearGeometryCenter{};
  	};
  }
  
  static_assert(
  	std::is_standard_layout<::xsim::ManifoldState>::value,
  	"SDK bug: TypeStruct ManifoldState not standard layout"
  );
  
  namespace fmt
  {
  	template <typename Char>
  	struct formatter<::xsim::ManifoldState, Char>
  	{
  		template <typename ParseContext>
  		constexpr auto parse(ParseContext& ctx)
  		{
  			return ctx.begin();
  		}
  
  		template <typename FormatContext>
  		auto format(const ::xsim::ManifoldState& value, FormatContext& ctx)
  		{
  			return format_to(ctx.out(), XSIM_FMT_LITERAL("ManifoldState"));
  		}
  	};
  }
  