21 fmt::format_args args) = 0;
23 std::string_view data) = 0;
26 template <
typename S,
typename... Args>
28 ReportErrorV(
format, fmt::make_format_args(args...));
31 template <
typename S,
typename... Args>
33 ReportWarningV(
format, fmt::make_format_args(args...));
44 GetMathShared().ReportErrorV(
format, args);
47 template <
typename S,
typename... Args>
49 ReportErrorV(
format, fmt::make_format_args(args...));
53 GetMathShared().ReportWarningV(
format, args);
56 template <
typename S,
typename... Args>
58 ReportWarningV(
format, fmt::make_format_args(args...));
61 static void ReportUsage(std::string_view resource, std::string_view data) {
62 GetMathShared().ReportUsage(resource, data);
66 return GetMathShared().GetTimestamp();
#define WPILIB_DLLEXPORT
Definition SymbolExports.h:36
Definition MathShared.h:16
virtual void ReportUsage(std::string_view resource, std::string_view data)=0
virtual void ReportWarningV(fmt::string_view format, fmt::format_args args)=0
void ReportError(const S &format, Args &&... args)
Definition MathShared.h:27
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:32
virtual ~MathShared()=default
Definition MathShared.h:37
static void SetMathShared(std::unique_ptr< MathShared > shared)
static void ReportErrorV(fmt::string_view format, fmt::format_args args)
Definition MathShared.h:43
static void ReportUsage(std::string_view resource, std::string_view data)
Definition MathShared.h:61
static MathShared & GetMathShared()
static void ReportError(const S &format, Args &&... args)
Definition MathShared.h:48
static units::second_t GetTimestamp()
Definition MathShared.h:65
static void ReportWarning(const S &format, Args &&... args)
Definition MathShared.h:57
static void ReportWarningV(fmt::string_view format, fmt::format_args args)
Definition MathShared.h:52
Definition MathShared.h:14
#define S(label, offset, message)
Definition Errors.h:113