6 #include <fmt/format.h>
7 #include <fmt/ostream.h>
8 #include <fmt/ranges.h>
27 #if defined(FMT_VERSION) && FMT_VERSION >= 100000
28 # define FMT_CONST_IF_REQUIRED const
30 # define FMT_CONST_IF_REQUIRED
37 struct fmt::formatter<
std::filesystem::path> : fmt::formatter<std::string>
39 template<
typename FormatContext>
40 auto format(
const std::filesystem::path & p, FormatContext & ctx) FMT_CONST_IF_REQUIRED
41 {
return fmt::formatter<std::string>::format(p.string(), ctx); }
44 #if FMT_VERSION >= 9 * 10000
49 # define MC_FMT_STREAMED(X) fmt::streamed(X)
54 struct fmt::formatter<T, char,
std::enable_if_t<std::is_base_of_v<Eigen::EigenBase<T>, T>>> : fmt::ostream_formatter
61 template<
typename T,
typename Char>
62 struct fmt::range_format_kind<T, Char,
std::enable_if_t<std::is_base_of_v<Eigen::EigenBase<T>, T>>>
63 : std::integral_constant<fmt::range_format, fmt::range_format::disabled>
67 # define MC_FMT_OSTREAM_FORMATTER(TYPE) \
69 struct fmt::formatter<TYPE> : fmt::ostream_formatter \
85 # define MC_FMT_STREAMED(X) X