@@ -57,7 +57,7 @@ AX_ENABLE_BITMASK_OPS(LogFmtFlag);
57
57
58
58
class LogItem
59
59
{
60
- friend AX_API LogItem& preprocessLog (LogItem&& logItem);
60
+ friend AX_API LogItem&& preprocessLog(LogItem&& logItem);
61
61
friend AX_API void writeLog (LogItem& item, const char * tag);
62
62
63
63
public:
@@ -77,7 +77,7 @@ class LogItem
77
77
}
78
78
79
79
template <typename _FmtType, typename ... _Types>
80
- inline static LogItem& vformat (_FmtType&& fmt, LogItem& item, _Types&&... args)
80
+ inline static LogItem&& vformat(_FmtType&& fmt, LogItem& & item, _Types&&... args)
81
81
{
82
82
item.qualified_message_ =
83
83
fmt::format (std::forward<_FmtType>(fmt), std::string_view{item.prefix_buffer_ , item.prefix_size_ },
@@ -89,7 +89,7 @@ class LogItem
89
89
if (item.has_style_ )
90
90
item.qualified_message_ .append (" \x1b [m" sv);
91
91
item.qualifier_size_ += (item.qualified_message_ .size () - old_size);
92
- return item;
92
+ return std::forward<LogItem>( item) ;
93
93
}
94
94
95
95
private:
@@ -124,17 +124,19 @@ AX_API void setLogFmtFlag(LogFmtFlag flags);
124
124
AX_API void setLogOutput (ILogOutput* output);
125
125
126
126
/* @brief internal use */
127
- AX_API LogItem& preprocessLog (LogItem&& logItem);
127
+ AX_API LogItem&& preprocessLog(LogItem&& logItem);
128
128
129
129
/* @brief internal use */
130
- AX_API void outputLog (LogItem& item, const char * tag);
130
+ AX_API void outputLog (LogItem&& item, const char * tag);
131
131
AX_API void writeLog (LogItem& item, const char * tag);
132
132
133
133
template <typename _FmtType, typename ... _Types>
134
- inline void printLogT (_FmtType&& fmt, LogItem& item, _Types&&... args)
134
+ inline void printLogT (_FmtType&& fmt, LogItem&& item, _Types&&... args)
135
135
{
136
136
if (item.level () >= getLogLevel ())
137
- outputLog (LogItem::vformat (std::forward<_FmtType>(fmt), item, std::forward<_Types>(args)...), " axmol" );
137
+ outputLog (
138
+ LogItem::vformat (std::forward<_FmtType>(fmt), std::forward<LogItem>(item), std::forward<_Types>(args)...),
139
+ " axmol" );
138
140
}
139
141
140
142
#define AXLOG_WITH_LEVEL (level, fmtOrMsg, ...) \
@@ -158,12 +160,12 @@ inline void printLogT(_FmtType&& fmt, LogItem& item, _Types&&... args)
158
160
#define AXLOGW (fmtOrMsg, ...) AXLOG_WITH_LEVEL(ax::LogLevel::Warn, fmtOrMsg, ##__VA_ARGS__)
159
161
#define AXLOGE (fmtOrMsg, ...) AXLOG_WITH_LEVEL(ax::LogLevel::Error, fmtOrMsg, ##__VA_ARGS__)
160
162
161
- #define AXLOGT AXLOGV
163
+ #define AXLOGT AXLOGV
162
164
163
165
#ifndef AX_CORE_PROFILE
164
166
/* *
165
167
@brief Output Debug message.
166
168
*/
167
169
/* AX_DEPRECATED(2.1)*/ AX_API void print (const char * format, ...) AX_FORMAT_PRINTF(1 , 2 ); // use AXLOGD instead
168
170
#endif
169
- }
171
+ } // namespace ax
0 commit comments