19#ifndef _LOG4CXX_HELPER_PATTERN_CONVERTER_H
20#define _LOG4CXX_HELPER_PATTERN_CONVERTER_H
23 #pragma warning (push)
24 #pragma warning ( disable: 4231 4251 4275 4786 )
41typedef std::map<LogString, PatternConstructor>
PatternMap;
61 static const logchar ESCAPE_CHAR;
93 static size_t extractConverter(
94 logchar lastChar,
const LogString& pattern,
95 LogString::size_type i,
LogString& convBuf,
105 static size_t extractOptions(
const LogString& pattern, LogString::size_type i,
106 std::vector<LogString>& options);
118 std::vector<PatternConverterPtr>& patternConverters,
119 std::vector<FormattingInfoPtr>& formattingInfos,
134 static PatternConverterPtr createConverter(
138 std::vector<LogString>& options);
153 static size_t finalizeConverter(
154 logchar c,
const LogString& pattern,
size_t i,
157 std::vector<PatternConverterPtr>& patternConverters,
158 std::vector<FormattingInfoPtr>& formattingInfos);
160 static bool isUnicodeIdentifierStart(logchar c);
161 static bool isUnicodeIdentifierPart(logchar c);
171 #pragma warning (pop)
Most of the work of the PatternLayout class is delegated to the PatternParser class.
Definition: patternparser.h:57
static void parse(const LogString &pattern, std::vector< PatternConverterPtr > &patternConverters, std::vector< FormattingInfoPtr > &formattingInfos, const PatternMap &rules)
Parse a format specifier.
std::map< LogString, PatternConstructor > PatternMap
Definition: patternparser.h:41
std::shared_ptr< FormattingInfo > FormattingInfoPtr
Definition: formattinginfo.h:32
PatternConverterPtr(* PatternConstructor)(const std::vector< LogString > &options)
Definition: patternparser.h:40
Definition: messagehandler.h:23
std::basic_string< logchar > LogString
Definition: logstring.h:66