ZCLibLog
载入中...
搜索中...
未找到
stdcxx20format.hpp
浏览该文件的文档.
1// Copyright 2026 CZF-H
2// Licensed under the Apache License, Version 2.0
3
4//
5// Created by wanjiangzhi on 2026/4/10.
6//
7
8#ifndef ZCLIBLOG_FORMAT_APIS_STDCXX20FORMAT_HPP
9#define ZCLIBLOG_FORMAT_APIS_STDCXX20FORMAT_HPP
10
11#include "basic_format_api.hpp"
12
13#include <format>
14
15namespace ZCLibLog {
16 namespace format_apis {
25 }
26 template <typename Logger>
27 struct LogTag<format_apis::stdcxx20format, Logger> : LogTagBase<Logger> {
28 using LogTagBase<Logger>::LogTagBase;
29
36 template <typename... Args>
37 void operator()(const std::format_string<Args...>& fmt, Args&&... args) const {
38 if (!this->check_executable()) return;
39 const std::string Formatted = Logger::m_formatter::do_format(
40 this->get_log_pack(),
41 fmt,
42 std::forward<Args>(args)...
43 );
44 this->m_logger->execute(Formatted, this->level());
45 }
46 };
47}
48
49#endif //ZCLIBLOG_FORMAT_APIS_STDCXX20FORMAT_HPP
根基Tag类,构造无用,仅继承
Definition logger_types.hpp:260
LogTagBase(const Logger *const logger, const LogLevel level)
构造Tag
Definition logger_types.hpp:300
ZCLibLog_NODISCARD const LogLevel & level() const noexcept
获取当前Tag的等级
Definition logger_types.hpp:291
ZCLibLog_NODISCARD bool check_executable() const
检查是否可执行
Definition logger_types.hpp:278
ZCLibLog_NODISCARD LogPack get_log_pack() const
获取当前的日志信息包
Definition logger_types.hpp:263
const Logger *const m_logger
Definition logger_types.hpp:287
ZCLibLog的命名空间
Definition android_log.hpp:16
void operator()(const std::format_string< Args... > &fmt, Args &&... args) const
输出日志
Definition stdcxx20format.hpp:37
泛型模板,无法特化
Definition logger_types.hpp:311
定义了一些简化写法
Definition logger_types.hpp:214
C++20 format API
Definition stdcxx20format.hpp:22