Std::format проверяет время компиляции, если возможно, время выполнения в противном случае ⇐ C++
Std::format проверяет время компиляции, если возможно, время выполнения в противном случае
Мне хотелось бы иметь оболочку вокруг std::format (или fmt::format), которая, если возможно, использует проверки строки формата во время компиляции и возвращается к время выполнения проверяет, если нет. К сожалению, я понятия не имею, как выяснить, возможна ли проверка во время компиляции.
#include #include шаблон [[nodiscard]] auto Format(std::format_string fmt, Args&&... args) { return std::format(fmt, std::forward(args)...); } шаблон [[nodiscard]] автоматический формат (std::string_view fmt, Args&&... args) { return std::vformat(fmt, std::make_format_args(args...)); } std::string foo() { вернуть "Фу{}"; } constexpr inline std::string_view str = "Foo{}"; интервал основной() { std::cout
Мне хотелось бы иметь оболочку вокруг std::format (или fmt::format), которая, если возможно, использует проверки строки формата во время компиляции и возвращается к время выполнения проверяет, если нет. К сожалению, я понятия не имею, как выяснить, возможна ли проверка во время компиляции.
#include #include шаблон [[nodiscard]] auto Format(std::format_string fmt, Args&&... args) { return std::format(fmt, std::forward(args)...); } шаблон [[nodiscard]] автоматический формат (std::string_view fmt, Args&&... args) { return std::vformat(fmt, std::make_format_args(args...)); } std::string foo() { вернуть "Фу{}"; } constexpr inline std::string_view str = "Foo{}"; интервал основной() { std::cout
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Шаблон для std::format списка объектов, доступных std::format()? [закрыто]
Anonymous » » в форуме C++ - 0 Ответы
- 36 Просмотры
-
Последнее сообщение Anonymous
-