36 fmt::format_args args) = 0;
40 template <
typename S,
typename... Args>
42 ReportErrorV(
format, fmt::make_format_args(args...));
45 template <
typename S,
typename... Args>
47 ReportWarningV(
format, fmt::make_format_args(args...));
58 GetMathShared().ReportErrorV(
format, args);
61 template <
typename S,
typename... Args>
63 ReportErrorV(
format, fmt::make_format_args(args...));
67 GetMathShared().ReportWarningV(
format, args);
70 template <
typename S,
typename... Args>
72 ReportWarningV(
format, fmt::make_format_args(args...));
76 GetMathShared().ReportUsage(
id, count);
80 return GetMathShared().GetTimestamp();
#define WPILIB_DLLEXPORT
Definition SymbolExports.h:36
Definition MathShared.h:31
virtual void ReportWarningV(fmt::string_view format, fmt::format_args args)=0
virtual void ReportUsage(MathUsageId id, int count)=0
void ReportError(const S &format, Args &&... args)
Definition MathShared.h:41
virtual void ReportErrorV(fmt::string_view format, fmt::format_args args)=0
virtual units::second_t GetTimestamp()=0
void ReportWarning(const S &format, Args &&... args)
Definition MathShared.h:46
virtual ~MathShared()=default
Definition MathShared.h:51
static void SetMathShared(std::unique_ptr< MathShared > shared)
static void ReportErrorV(fmt::string_view format, fmt::format_args args)
Definition MathShared.h:57
static MathShared & GetMathShared()
static void ReportError(const S &format, Args &&... args)
Definition MathShared.h:62
static units::second_t GetTimestamp()
Definition MathShared.h:79
static void ReportUsage(MathUsageId id, int count)
Definition MathShared.h:75
static void ReportWarning(const S &format, Args &&... args)
Definition MathShared.h:71
static void ReportWarningV(fmt::string_view format, fmt::format_args args)
Definition MathShared.h:66
Definition MathShared.h:14
MathUsageId
Definition MathShared.h:16
@ kKinematics_MecanumDrive
@ kController_ProfiledPIDController
@ kController_PIDController2
@ kController_BangBangController
@ kOdometry_DifferentialDrive
@ kTrajectory_TrapezoidProfile
@ kKinematics_SwerveDrive
@ kKinematics_DifferentialDrive
#define S(label, offset, message)
Definition Errors.h:113