34 virtual std::string format(Message* =
nullptr)
const = 0;
37 class UserChars :
public Formattable {
40 virtual std::string format(Message* =
nullptr)
const;
46 class LevelFlag :
public Formattable {
48 virtual std::string format(Message* =
nullptr)
const;
51 class MessageFlag :
public Formattable {
53 virtual std::string format(Message* =
nullptr)
const;
59 Token(std::unique_ptr<Formattable> formattable) : advanced(std::move(formattable)) {}
62 std::unique_ptr<Formattable> advanced{
nullptr};
82 virtual void format(priv::Message& msg);
83 virtual void format(priv::Message& msg,
const std::tm* now);
86 void handleFlag(
char c);
87 void compilePattern(
const std::string& pattern);
89 std::string handleFlagy(
const std::tm* now);
90 std::string handleFlagY(
const std::tm* now);
91 std::string handleFlagm(
const std::tm* now);
92 std::string handleFlagd(
const std::tm* now);
93 std::string handleFlagH(
const std::tm* now);
94 std::string handleFlagM(
const std::tm* now);
95 std::string handleFlagS(
const std::tm* now);
std::string(Formatter::*)(const std::tm *now) FlagHandlerPointer