← API Reference Namespace

asge::logger::_internal

Variables

#constexpr bool is_string_like_v = std::is_convertible_v<std::decay_t<T>, std::string_view>

Functions

#template<typename ... Rest> void WriteFormatted(std::ostringstream &oss, std::string_view inFmt, Rest &&...inRest) noexcept

Streams inFmt with each "{}" replaced, in order, by one of inRest.

Best-effort: if there are more "{}" than args, the leftover placeholders are left as literal text; if there are more args than "{}", the leftover args are appended after the format string is spent.

#template<typename First, typename ... Rest> void BuildMessage(std::ostringstream &oss, First &&inFirst, Rest &&...inRest) noexcept

Builds the log message body: if inFirst is string-like, contains "{}", and there are further args, formats via WriteFormatted; otherwise falls back to plain concatenation of every argument.