3#if MAYAFLUX_USE_STD_FORMAT
5namespace MayaFlux::Journal::fmt {
7using std::format_string;
8using std::make_format_args;
13#include <fmt/format.h>
14namespace MayaFlux::Journal::fmt {
16using ::fmt::format_string;
17using ::fmt::make_format_args;
21#error "No formatting library available. Either std::format or fmt is required."
26template <
typename... Args>
29template <
typename... Args>
32 return fmt::format(fmt_str, std::forward<Args>(args)...);
35template <
typename... Args>
38#if MAYAFLUX_USE_STD_FORMAT
39 return std::vformat(fmt_str, std::make_format_args(args...));
41 return fmt::vformat(fmt_str, fmt::make_format_args(args...));
45inline std::string
vformat(std::string_view fmt_str,
auto fmt_args)
47 return fmt::vformat(fmt_str, fmt_args);
std::string vformat(std::string_view fmt_str, auto fmt_args)
fmt::format_string< Args... > format_string
std::string format_runtime(std::string_view fmt_str, Args &&... args)
std::string format(format_string< std::remove_cvref_t< Args >... > fmt_str, Args &&... args)