27 struct std::formatter<
std::filesystem::path>
30 template <
class ParseContext>
31 constexpr
typename ParseContext::iterator
parse(ParseContext& ctx)
33 auto it = ctx.begin();
38 throw std::format_error(
"Invalid format args for std::filesystem::path");
44 template <
class FormatContext>
45 typename FormatContext::iterator
format(
const std::filesystem::path& path, FormatContext& ctx)
const 47 std::ostringstream out;
49 out << path.generic_string();
51 return std::ranges::copy(std::move(out).str(), ctx.out()).out;
58 template <Mountain::Concepts::ExceptionT Exception>
59 struct std::formatter<Exception>
62 template <
class ParseContext>
63 constexpr
typename ParseContext::iterator
parse(ParseContext& ctx)
65 auto it = ctx.begin();
70 throw std::format_error(
"Invalid format args for std::exception");
76 template <
class FormatContext>
77 typename FormatContext::iterator
format(
const Exception& ex, FormatContext& ctx)
const 79 std::ostringstream out;
83 return std::ranges::copy(std::move(out).str(), ctx.out()).out;
Defines the Mountain::Concepts namespace which contains useful concepts used in the engine...