6#ifndef ATLASGAMEMANAGER_FORMATTERS_HPP
7#define ATLASGAMEMANAGER_FORMATTERS_HPP
15namespace format_ns = std;
19#pragma GCC diagnostic push
20#pragma GCC diagnostic ignored "-Weffc++"
21#pragma GCC diagnostic ignored "-Wswitch-default"
22#pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
25#include <fmt/format.h>
26namespace format_ns = fmt;
29#pragma GCC diagnostic pop
38struct format_ns::formatter< QString >
40 constexpr auto parse( format_ns::format_parse_context& ctx ) ->
decltype( ctx.begin() ) {
return ctx.begin(); }
42 template <
typename FormatContext >
43 auto format(
const QString& my, FormatContext& ctx )
const ->
decltype( ctx.out() )
45 return format_ns::format_to( ctx.out(),
"{}", my.toStdString() );
50struct format_ns::formatter< std::filesystem::path >
55 constexpr format_parse_context::iterator
parse( format_parse_context& ctx )
58 auto idx { ctx.begin() };
59 const auto end { ctx.end() };
61 if ( idx != end && *idx ==
'c' )
67 if ( idx != end && *idx ==
'e' )
76 format_context::iterator format(
const std::filesystem::path& path, format_context& ctx )
const;
80struct format_ns::formatter< std::source_location >
82 constexpr format_parse_context::iterator
parse( format_parse_context& ctx ) {
return ctx.begin(); }
84 format_context::iterator format(
const std::source_location& loc, format_context& ctx )
const;
88struct format_ns::formatter< format_ns::format_string<> >
90 constexpr format_parse_context::iterator
parse( format_parse_context& ctx ) {
return ctx.begin(); }
92 format_context::iterator format(
const format_ns::format_string<>& str, format_context& ctx )
const;
96struct format_ns::formatter< QSize >
98 constexpr format_parse_context::iterator
parse( format_parse_context& ctx ) {
return ctx.begin(); }
100 format_context::iterator format(
const QSize size, format_context& ctx )
const;
104struct format_ns::formatter< QUrl >
106 constexpr format_parse_context::iterator
parse( format_parse_context& ctx ) {
return ctx.begin(); }
108 format_context::iterator format(
const QUrl& url, format_context& ctx )
const;