_Z19getFormatSpecifiersv:
   61|  4.00k|{
   62|  4.00k|	PatternMap map;
   63|  4.00k|	RULES_PUT("c", LoggerPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   64|  4.00k|	RULES_PUT("logger", LoggerPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   65|       |
   66|  4.00k|	RULES_PUT("C", ClassNamePatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   67|  4.00k|	RULES_PUT("class", ClassNamePatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   68|       |
   69|  4.00k|	RULES_PUT("d", DatePatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   70|  4.00k|	RULES_PUT("date", DatePatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   71|       |
   72|  4.00k|	RULES_PUT("F", FileLocationPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   73|  4.00k|	RULES_PUT("file", FileLocationPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   74|       |
   75|  4.00k|	RULES_PUT("l", FullLocationPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   76|       |
   77|  4.00k|	RULES_PUT("L", LineLocationPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   78|  4.00k|	RULES_PUT("line", LineLocationPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   79|       |
   80|  4.00k|	RULES_PUT("m", MessagePatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   81|  4.00k|	RULES_PUT("message", MessagePatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   82|       |
   83|  4.00k|	RULES_PUT("n", LineSeparatorPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   84|       |
   85|  4.00k|	RULES_PUT("M", MethodLocationPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   86|  4.00k|	RULES_PUT("method", MethodLocationPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   87|       |
   88|  4.00k|	RULES_PUT("p", LevelPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   89|  4.00k|	RULES_PUT("level", LevelPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   90|       |
   91|  4.00k|	RULES_PUT("r", RelativeTimePatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   92|  4.00k|	RULES_PUT("relative", RelativeTimePatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   93|       |
   94|  4.00k|	RULES_PUT("t", ThreadPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   95|  4.00k|	RULES_PUT("thread", ThreadPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   96|       |
   97|  4.00k|	RULES_PUT("T", ThreadUsernamePatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   98|  4.00k|	RULES_PUT("threadname", ThreadUsernamePatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
   99|       |
  100|  4.00k|	RULES_PUT("x", NDCPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
  101|  4.00k|	RULES_PUT("ndc", NDCPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
  102|       |
  103|  4.00k|	RULES_PUT("X", PropertiesPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
  104|  4.00k|	RULES_PUT("properties", PropertiesPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
  105|       |
  106|  4.00k|	RULES_PUT("throwable", ThrowableInformationPatternConverter);
  ------------------
  |  |   58|  4.00k|	map.insert(PatternMap::value_type(LOG4CXX_STR(spec), (PatternConstructor) cls ::newInstance))
  |  |  ------------------
  |  |  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  |  |  ------------------
  ------------------
  107|       |
  108|  4.00k|	return map;
  109|  4.00k|}
LLVMFuzzerTestOneInput:
  111|  4.00k|extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  112|       |	// Create a FuzzedDataProvider which we
  113|       |	// will use to create strings from "data".
  114|  4.00k|	FuzzedDataProvider fdp(data, size);
  115|       |	
  116|  4.00k|	std::string loggerStr = fdp.ConsumeRandomLengthString(MaximumLoggerNameByteCount);
  117|  4.00k|	std::string content = fdp.ConsumeRandomLengthString(MaximumMessageByteCount);
  118|  4.00k|	std::string pattern = fdp.ConsumeRandomLengthString(MaximumPatternByteCount);
  119|       |
  120|  4.00k|	LogString contentLogString;
  121|  4.00k|	LogString loggerLogString;
  122|  4.00k|	LogString patternLogString;
  123|       |
  124|  4.00k|	Transcoder::decode(content, contentLogString);
  125|  4.00k|	Transcoder::decode(loggerStr, loggerLogString);
  126|  4.00k|	Transcoder::decode(pattern, patternLogString);
  127|       |
  128|       |	// Create the event
  129|  4.00k|	log4cxx::LogString logger = loggerLogString;
  130|  4.00k|	log4cxx::LevelPtr level = log4cxx::Level::getInfo();
  131|  4.00k|	log4cxx::spi::LoggingEventPtr event = log4cxx::spi::LoggingEventPtr(
  132|  4.00k|		new log4cxx::spi::LoggingEvent(
  133|  4.00k|			logger, level, contentLogString, LOG4CXX_LOCATION));
  ------------------
  |  |  171|  4.00k|#define LOG4CXX_LOCATION ::LOG4CXX_NS::spi::LocationInfo(__FILE__,         \
  |  |  172|  4.00k|	::LOG4CXX_NS::spi::LocationInfo::calcShortFileName(__FILE__), \
  |  |  173|  4.00k|	__LOG4CXX_FUNC__, \
  |  |  ------------------
  |  |  |  |  159|  4.00k|		#define __LOG4CXX_FUNC__ __PRETTY_FUNCTION__
  |  |  ------------------
  |  |  174|       |	__LINE__)
  ------------------
  134|  4.00k|	auto converters = PatternParser::parse(patternLogString, getFormatSpecifiers());
  135|       |
  136|  4.00k|  	return 0;
  137|  4.00k|}

_ZN7log4cxx7helpers14APRInitializerC2Ev:
   96|      1|	m_priv(std::make_unique<APRInitializerPrivate>())
   97|      1|{
   98|      1|	apr_pool_create(&m_priv->p, NULL);
  ------------------
  |  |  323|      1|    apr_pool_create_ex(newpool, parent, NULL, NULL)
  ------------------
   99|      1|	m_priv->startTime = Date::currentTime();
  100|      1|#if APR_HAS_THREADS
  101|      1|	apr_status_t stat = apr_threadkey_private_create(&m_priv->tlsKey, tlsDestructImpl, m_priv->p);
  102|       |	assert(stat == APR_SUCCESS);
  ------------------
  |  Branch (102:2): [True: 1, False: 0]
  ------------------
  103|      1|#endif
  104|      1|}
_ZN7log4cxx7helpers14APRInitializerD2Ev:
  107|      1|{
  108|      1|#if LOG4CXX_ABI_VERSION <= 15
  109|      1|	isDestructed = true;
  110|      1|#endif
  111|      1|#if APR_HAS_THREADS
  112|      1|	std::lock_guard<std::mutex> lock(m_priv->mutex);
  113|      1|	apr_threadkey_private_delete(m_priv->tlsKey);
  114|      1|#endif
  115|      1|}
_ZN7log4cxx7helpers14APRInitializer11getInstanceEv:
  124|      2|{
  125|      2|	static WideLife<apr_environment> env;
  126|      2|	static WideLife<APRInitializer> init;
  127|      2|	return init;
  128|      2|}
_ZN7log4cxx7helpers14APRInitializer11getRootPoolEv:
  144|      2|{
  145|      2|	return getInstance().m_priv->p;
  146|      2|}
_ZN7log4cxx7helpers14APRInitializer21APRInitializerPrivateC2Ev:
   43|      1|		p(0),
   44|      1|		startTime(0),
   45|      1|		tlsKey(0){
   46|       |
   47|      1|	}
_ZN7log4cxx7helpers14APRInitializer21APRInitializerPrivateD2Ev:
   49|      1|	{
   50|       |		// Delete in reverse order
   51|      1|		while (!objects.empty())
  ------------------
  |  Branch (51:10): [True: 0, False: 1]
  ------------------
   52|      0|			objects.pop_back();
   53|      1|	}
aprinitializer.cpp:_ZN12_GLOBAL__N_115apr_environmentC2Ev:
   83|      1|    {
   84|      1|        apr_initialize();
   85|      1|    }
aprinitializer.cpp:_ZN12_GLOBAL__N_115apr_environmentD2Ev:
   87|      1|    {
   88|      1|        apr_terminate();
   89|      1|    }

_ZN7log4cxx7helpers11AsyncBufferC2Ev:
   94|  4.00k|{}
_ZN7log4cxx7helpers11AsyncBufferD2Ev:
  106|  4.00k|{
  107|  4.00k|}

_ZN7log4cxx7helpers10ByteBufferC2EPcm:
   39|  4.17k|	: m_priv(std::make_unique<ByteBufferPriv>(data1, capacity))
   40|  4.17k|{
   41|  4.17k|}
_ZN7log4cxx7helpers10ByteBufferD2Ev:
   44|  4.17k|{
   45|  4.17k|}
_ZN7log4cxx7helpers10ByteBuffer5clearEv:
   48|  2.19k|{
   49|  2.19k|	m_priv->lim = m_priv->cap;
   50|  2.19k|	m_priv->pos = 0;
   51|  2.19k|}
_ZN7log4cxx7helpers10ByteBuffer4flipEv:
   62|  2.19k|{
   63|  2.19k|	m_priv->lim = m_priv->pos;
   64|  2.19k|	m_priv->pos = 0;
   65|  2.19k|}
_ZN7log4cxx7helpers10ByteBuffer4dataEv:
  108|  2.19k|{
  109|  2.19k|	return m_priv->base;
  110|  2.19k|}
_ZN7log4cxx7helpers10ByteBuffer7currentEv:
  118|   317k|{
  119|   317k|	return m_priv->base + m_priv->pos;
  120|   317k|}
_ZNK7log4cxx7helpers10ByteBuffer5limitEv:
  128|  2.19k|{
  129|  2.19k|	return m_priv->lim;
  130|  2.19k|}
_ZNK7log4cxx7helpers10ByteBuffer9remainingEv:
  138|  1.70M|{
  139|  1.70M|	return m_priv->lim - m_priv->pos;
  140|  1.70M|}
_ZN7log4cxx7helpers10ByteBuffer18increment_positionEm:
  143|   567k|{
  144|   567k|    auto available = remaining();
  145|   567k|    m_priv->pos += byteCount < available ? byteCount : available;
  ------------------
  |  Branch (145:20): [True: 563k, False: 4.37k]
  ------------------
  146|   567k|    return remaining();
  147|   567k|}
_ZN7log4cxx7helpers10ByteBuffer14ByteBufferPrivC2EPcm:
   30|  4.17k|		base(data1), pos(0), lim(capacity), cap(capacity) {}

_ZN7log4cxx7pattern16CachedDateFormatC2ERKNSt3__110shared_ptrINS_7helpers10DateFormatEEEi:
  127|  67.4k|	m_priv(std::make_unique<CachedDateFormatPriv>(dateFormat, expiration1))
  128|  67.4k|{
  129|  67.4k|	if (dateFormat == NULL)
  ------------------
  |  Branch (129:6): [True: 0, False: 67.4k]
  ------------------
  130|      0|	{
  131|      0|		throw NullPointerException(LOG4CXX_STR("dateFormat"));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  132|      0|	}
  133|       |
  134|  67.4k|	if (expiration1 < 0)
  ------------------
  |  Branch (134:6): [True: 0, False: 67.4k]
  ------------------
  135|      0|	{
  136|      0|		throw IllegalArgumentException(LOG4CXX_STR("expiration must be non-negative"));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  137|      0|	}
  138|  67.4k|}
_ZN7log4cxx7pattern16CachedDateFormatD2Ev:
  140|  67.4k|CachedDateFormat::~CachedDateFormat() {}
_ZN7log4cxx7pattern16CachedDateFormat23getMaximumCacheValidityERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  364|  6.95k|{
  365|       |	//
  366|       |	//   If there are more "S" in the pattern than just one "SSS" then
  367|       |	//      (for example, "HH:mm:ss,SSS SSS"), then set the expiration to
  368|       |	//      one millisecond which should only perform duplicate request caching.
  369|       |	//
  370|  6.95k|	const logchar S = 0x53;
  371|  6.95k|	const logchar SSS[] = { 0x53, 0x53, 0x53, 0 };
  372|  6.95k|	size_t firstS = pattern.find(S);
  373|  6.95k|	size_t len = pattern.length();
  374|       |
  375|       |	//
  376|       |	//   if there are no S's or
  377|       |	//      three that start with the first S and no fourth S in the string
  378|       |	//
  379|  6.95k|	if (firstS == LogString::npos ||
  ------------------
  |  Branch (379:6): [True: 3.00k, False: 3.95k]
  ------------------
  380|  3.95k|		(len >= firstS + 3 && pattern.compare(firstS, 3, SSS) == 0
  ------------------
  |  Branch (380:4): [True: 3.52k, False: 422]
  |  Branch (380:25): [True: 3.06k, False: 463]
  ------------------
  381|  3.06k|			&& (len == firstS + 3 ||
  ------------------
  |  Branch (381:8): [True: 322, False: 2.74k]
  ------------------
  382|  2.74k|				pattern.find(S, firstS + 3) == LogString::npos)))
  ------------------
  |  Branch (382:5): [True: 2.08k, False: 658]
  ------------------
  383|  5.41k|	{
  384|  5.41k|		return 1000000;
  385|  5.41k|	}
  386|       |
  387|  1.54k|	return 1000;
  388|  6.95k|}
_ZN7log4cxx7pattern16CachedDateFormat20CachedDateFormatPrivC2ENSt3__110shared_ptrINS_7helpers10DateFormatEEEi:
   32|  67.4k|		formatter(dateFormat),
   33|  67.4k|		millisecondStart(0),
   34|  67.4k|		slotBegin(std::numeric_limits<log4cxx_time_t>::min()),
   35|  67.4k|		cache(50, 0x20),
   36|  67.4k|		expiration(expiration1),
   37|  67.4k|		previousTime(std::numeric_limits<log4cxx_time_t>::min())
   38|  67.4k|	{}

_ZN7log4cxx7helpers14CharsetDecoderC2Ev:
  510|      1|{
  511|      1|}
_ZN7log4cxx7helpers14CharsetDecoderD2Ev:
  515|      1|{
  516|      1|}
_ZN7log4cxx7helpers14CharsetDecoder20createDefaultDecoderEv:
  519|      1|{
  520|      1|#if LOG4CXX_CHARSET_UTF8
  521|       |#if LOG4CXX_LOGCHAR_IS_UTF8
  522|       |	return new TrivialCharsetDecoder();
  523|       |#else
  524|      1|	return new UTF8CharsetDecoder();
  525|      1|#endif
  526|       |#elif LOG4CXX_CHARSET_ISO88591 || defined(_WIN32_WCE)
  527|       |	return new ISOLatinCharsetDecoder();
  528|       |#elif LOG4CXX_CHARSET_USASCII
  529|       |	return new USASCIICharsetDecoder();
  530|       |#elif LOG4CXX_LOGCHAR_IS_WCHAR && LOG4CXX_HAS_MBSRTOWCS
  531|       |	return new MbstowcsCharsetDecoder();
  532|       |#else
  533|       |	return new LocaleCharsetDecoder();
  534|       |#endif
  535|      1|}
_ZN7log4cxx7helpers14CharsetDecoder17getDefaultDecoderEv:
  538|      1|{
  539|      1|	static WideLife<CharsetDecoderPtr> decoder(createDefaultDecoder());
  540|       |
  541|       |	//
  542|       |	//  if invoked after static variable destruction
  543|       |	//     (if logging is called in the destructor of a static object)
  544|       |	//     then create a new decoder.
  545|       |	//
  546|      1|	if (decoder.value() == 0)
  ------------------
  |  Branch (546:6): [True: 0, False: 1]
  ------------------
  547|      0|	{
  548|      0|		return CharsetDecoderPtr( createDefaultDecoder() );
  549|      0|	}
  550|       |
  551|      1|	return decoder;
  552|      1|}
_ZN7log4cxx7helpers18UTF8CharsetDecoderC2Ev:
  310|      1|		{
  311|      1|		}
_ZN7log4cxx7helpers18UTF8CharsetDecoder6decodeERNS0_10ByteBufferERNSt3__112basic_stringIwNS4_11char_traitsIwEENS4_9allocatorIwEEEE:
  320|   253k|		{
  321|   253k|			auto availableByteCount = in.remaining();
  322|   253k|			std::string tmp(in.current(), availableByteCount);
  323|   253k|			std::string::const_iterator nextCodePoint = tmp.begin();
  324|       |
  325|  1.85M|			while (nextCodePoint != tmp.end())
  ------------------
  |  Branch (325:11): [True: 1.85M, False: 3.98k]
  ------------------
  326|  1.85M|			{
  327|  1.85M|				auto lastCodePoint = nextCodePoint;
  328|  1.85M|				auto sv = Transcoder::decode(tmp, nextCodePoint);
  329|       |
  330|  1.85M|				if (sv == 0xFFFF || nextCodePoint == lastCodePoint)
  ------------------
  |  Branch (330:9): [True: 249k, False: 1.60M]
  |  Branch (330:25): [True: 0, False: 1.60M]
  ------------------
  331|   249k|				{
  332|   249k|					size_t offset = nextCodePoint - tmp.begin();
  333|   249k|					in.increment_position(offset);
  334|   249k|					return APR_BADCH;
  ------------------
  |  |  457|   249k|#define APR_BADCH          (APR_OS_START_STATUS + 12)
  |  |  ------------------
  |  |  |  |  136|   249k|#define APR_OS_START_STATUS    (APR_OS_START_ERROR + APR_OS_ERRSPACE_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  117|   249k|#define APR_OS_START_ERROR     20000
  |  |  |  |  ------------------
  |  |  |  |               #define APR_OS_START_STATUS    (APR_OS_START_ERROR + APR_OS_ERRSPACE_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  123|   249k|#define APR_OS_ERRSPACE_SIZE 50000
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  335|   249k|				}
  336|  1.60M|				else
  337|  1.60M|				{
  338|  1.60M|					Transcoder::encode(sv, out);
  339|  1.60M|				}
  340|  1.85M|			}
  341|       |
  342|  3.98k|			in.increment_position(availableByteCount);
  343|       |
  344|  3.98k|			return APR_SUCCESS;
  ------------------
  |  |  225|  3.98k|#define APR_SUCCESS 0
  ------------------
  345|   253k|		}

_ZN7log4cxx7helpers14CharsetEncoderC2Ev:
  511|      1|{
  512|      1|}
_ZN7log4cxx7helpers14CharsetEncoderD2Ev:
  515|      1|{
  516|      1|}
_ZN7log4cxx7helpers14CharsetEncoder17getDefaultEncoderEv:
  519|      1|{
  520|      1|	static WideLife<CharsetEncoderPtr> encoder(createDefaultEncoder());
  521|       |
  522|       |	//
  523|       |	//  if invoked after static variable destruction
  524|       |	//     (if logging is called in the destructor of a static object)
  525|       |	//     then create a new decoder.
  526|       |	//
  527|      1|	if (encoder.value() == 0)
  ------------------
  |  Branch (527:6): [True: 0, False: 1]
  ------------------
  528|      0|	{
  529|      0|		return CharsetEncoderPtr( createDefaultEncoder() );
  530|      0|	}
  531|       |
  532|      1|	return encoder;
  533|      1|}
_ZN7log4cxx7helpers14CharsetEncoder20createDefaultEncoderEv:
  536|      1|{
  537|      1|#if LOG4CXX_CHARSET_UTF8
  538|      1|	return new UTF8CharsetEncoder();
  539|       |#elif LOG4CXX_CHARSET_ISO88591
  540|       |	return new ISOLatinCharsetEncoder();
  541|       |#elif LOG4CXX_CHARSET_USASCII
  542|       |	return new USASCIICharsetEncoder();
  543|       |#elif LOG4CXX_LOGCHAR_IS_WCHAR && LOG4CXX_HAS_WCSTOMBS
  544|       |	return new WcstombsCharsetEncoder();
  545|       |#else
  546|       |	return new LocaleCharsetEncoder();
  547|       |#endif
  548|      1|}
_ZN7log4cxx7helpers18UTF8CharsetEncoderC2Ev:
  352|      1|		{
  353|      1|		}
_ZN7log4cxx7helpers18UTF8CharsetEncoder6encodeERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERNS2_11__wrap_iterIPKwEERNS0_10ByteBufferE:
  358|  4.18k|		{
  359|  68.5k|			while (iter != in.end() && out.remaining() >= 8)
  ------------------
  |  Branch (359:11): [True: 64.5k, False: 3.97k]
  |  Branch (359:11): [True: 64.3k, False: 4.18k]
  |  Branch (359:31): [True: 64.3k, False: 211]
  ------------------
  360|  64.3k|			{
  361|  64.3k|				unsigned int sv = Transcoder::decode(in, iter);
  362|       |
  363|  64.3k|				if (sv == 0xFFFF)
  ------------------
  |  Branch (363:9): [True: 0, False: 64.3k]
  ------------------
  364|      0|				{
  365|      0|					return APR_BADARG;
  ------------------
  |  |  459|      0|#define APR_BADARG         (APR_OS_START_STATUS + 13)
  |  |  ------------------
  |  |  |  |  136|      0|#define APR_OS_START_STATUS    (APR_OS_START_ERROR + APR_OS_ERRSPACE_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      0|#define APR_OS_START_ERROR     20000
  |  |  |  |  ------------------
  |  |  |  |               #define APR_OS_START_STATUS    (APR_OS_START_ERROR + APR_OS_ERRSPACE_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  123|      0|#define APR_OS_ERRSPACE_SIZE 50000
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  366|      0|				}
  367|       |
  368|  64.3k|				Transcoder::encodeUTF8(sv, out);
  369|  64.3k|			}
  370|       |
  371|  4.18k|			return APR_SUCCESS;
  ------------------
  |  |  225|  4.18k|#define APR_SUCCESS 0
  ------------------
  372|  4.18k|		}

_ZN7log4cxx7helpers5ClassC2Ev:
  100|    228|{
  101|    228|}
_ZN7log4cxx7helpers5Class11getRegistryEv:
  125|    228|{
  126|    228|	static WideLife<ClassMap> registry;
  127|    228|	return registry;
  128|    228|}
_ZN7log4cxx7helpers5Class13registerClassERKS1_:
  174|    228|{
  175|    228|	getRegistry()[StringHelper::toLowerCase(newClass.getName())] = &newClass;
  176|    228|	return true;
  177|    228|}

_ZN7log4cxx7pattern25ClassNamePatternConverterC1ERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   32|  16.1k|	NamePatternConverter(LOG4CXX_STR("Class Name"),
  ------------------
  |  |   43|  16.1k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   33|  16.1k|		LOG4CXX_STR("class name"), options)
  ------------------
  |  |   43|  16.1k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   34|  16.1k|{
   35|  16.1k|}
_ZN7log4cxx7pattern25ClassNamePatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   39|  16.1k|{
   40|  16.1k|	return std::make_shared<ClassNamePatternConverter>(options);
   41|  16.1k|}

_ZN7log4cxx7helpers17ClassRegistrationC2EPFRKNS0_5ClassEvE:
   25|    228|{
   26|    228|	Class::registerClass((*accessor)());
   27|    228|}

_ZN7log4cxx7helpers14writeToConsoleERKNSt3__112basic_stringIwNS1_11char_traitsIwEENS1_9allocatorIwEEEEP8_IO_FILE:
   39|  30.4k|{
   40|  30.4k|#if LOG4CXX_WCHAR_T_API
   41|  30.4k|	if (isConsoleWide(file))
  ------------------
  |  Branch (41:6): [True: 0, False: 30.4k]
  ------------------
   42|      0|	{
   43|      0|		LOG4CXX_ENCODE_WCHAR(msg, str);
  ------------------
  |  |  291|      0|	const std::wstring& var = src
  ------------------
   44|      0|		int status = fputws(msg.c_str(), file);
   45|      0|		return status == EOF ? 0 : msg.size();
  ------------------
  |  Branch (45:10): [True: 0, False: 0]
  ------------------
   46|      0|	}
   47|  30.4k|#endif
   48|       |
   49|  30.4k|	LOG4CXX_ENCODE_CHAR(msg, str);
  ------------------
  |  |  238|  30.4k|	std::string var;                      \
  |  |  239|  30.4k|	LOG4CXX_NS::helpers::Transcoder::encode(src, var)
  ------------------
   50|       |
   51|       |	//
   52|       |	// We can't use fputs, fprintf, or even a `%.*s` specifier
   53|       |	// as the message may contain embedded null bytes, which would cause the
   54|       |	// message to be prematurely truncated.
   55|       |	//
   56|  30.4k|	return fwrite(msg.data(), 1, msg.size(), file);
   57|  30.4k|}
consolewriter.cpp:_ZL13isConsoleWideP8_IO_FILE:
   28|  30.4k|{
   29|       |#if LOG4CXX_FORCE_WIDE_CONSOLE
   30|       |	return true;
   31|       |#elif LOG4CXX_FORCE_BYTE_CONSOLE || !LOG4CXX_HAS_FWIDE
   32|       |	return false;
   33|       |#else
   34|  30.4k|	return fwide(file, 0) > 0;
   35|  30.4k|#endif
   36|  30.4k|}

_ZN7log4cxx7helpers4Date11currentTimeEv:
   67|  4.01k|log4cxx_time_t Date::currentTime(){
   68|  4.01k|	return getCurrentTimeFn ? getCurrentTimeFn() : getCurrentTimeStd();
  ------------------
  |  Branch (68:9): [True: 0, False: 4.01k]
  ------------------
   69|  4.01k|}
_ZN7log4cxx7helpers4Date17getCurrentTimeStdEv:
   71|  4.01k|log4cxx_time_t Date::getCurrentTimeStd(){
   72|  4.01k|	return std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
   73|  4.01k|}

_ZN7log4cxx7helpers10DateFormatD2Ev:
   29|   134k|DateFormat::~DateFormat() {}
_ZN7log4cxx7helpers10DateFormatC2Ev:
   38|   134k|DateFormat::DateFormat() {}

_ZN7log4cxx7pattern20DatePatternConverterC1ERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   54|  67.4k|	LoggingEventPatternConverter (std::make_unique<DatePatternConverterPrivate>(LOG4CXX_STR("Class Name"),
  ------------------
  |  |   43|  67.4k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   55|  67.4k|			LOG4CXX_STR("class name"), getDateFormat(options)))
  ------------------
  |  |   43|  67.4k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   56|  67.4k|{
   57|  67.4k|}
_ZN7log4cxx7pattern20DatePatternConverterD2Ev:
   59|  67.4k|DatePatternConverter::~DatePatternConverter() {}
_ZN7log4cxx7pattern20DatePatternConverter13getDateFormatERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   62|  67.4k|{
   63|  67.4k|	DateFormatPtr df;
   64|  67.4k|	int maximumCacheValidity = 1000000;
   65|       |
   66|  67.4k|	if (options.size() == 0)
  ------------------
  |  Branch (66:6): [True: 45.0k, False: 22.3k]
  ------------------
   67|  45.0k|	{
   68|  45.0k|		df = std::make_shared<ISO8601DateFormat>();
   69|  45.0k|	}
   70|  22.3k|	else
   71|  22.3k|	{
   72|  22.3k|		LogString dateFormatStr(options[0]);
   73|       |
   74|  22.3k|		if (dateFormatStr.empty() ||
  ------------------
  |  Branch (74:7): [True: 11.4k, False: 10.8k]
  ------------------
   75|  10.8k|			StringHelper::equalsIgnoreCase(dateFormatStr,
  ------------------
  |  Branch (75:4): [True: 0, False: 10.8k]
  ------------------
   76|  10.8k|				LOG4CXX_STR("ISO8601"), LOG4CXX_STR("iso8601")))
  ------------------
  |  |   43|  10.8k|	#define LOG4CXX_STR(str) L ## str
  ------------------
              				LOG4CXX_STR("ISO8601"), LOG4CXX_STR("iso8601")))
  ------------------
  |  |   43|  10.8k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   77|  11.4k|		{
   78|  11.4k|			df = std::make_shared<ISO8601DateFormat>();
   79|  11.4k|		}
   80|  10.8k|		else if (StringHelper::equalsIgnoreCase(dateFormatStr,
  ------------------
  |  Branch (80:12): [True: 0, False: 10.8k]
  ------------------
   81|  10.8k|				LOG4CXX_STR("ABSOLUTE"), LOG4CXX_STR("absolute")))
  ------------------
  |  |   43|  10.8k|	#define LOG4CXX_STR(str) L ## str
  ------------------
              				LOG4CXX_STR("ABSOLUTE"), LOG4CXX_STR("absolute")))
  ------------------
  |  |   43|  10.8k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   82|      0|		{
   83|      0|			df = std::make_shared<AbsoluteTimeDateFormat>();
   84|      0|		}
   85|  10.8k|		else if (StringHelper::equalsIgnoreCase(dateFormatStr,
  ------------------
  |  Branch (85:12): [True: 416, False: 10.4k]
  ------------------
   86|  10.8k|				LOG4CXX_STR("DATE"), LOG4CXX_STR("date")))
  ------------------
  |  |   43|  10.8k|	#define LOG4CXX_STR(str) L ## str
  ------------------
              				LOG4CXX_STR("DATE"), LOG4CXX_STR("date")))
  ------------------
  |  |   43|  10.8k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   87|    416|		{
   88|    416|			df = std::make_shared<DateTimeDateFormat>();
   89|    416|		}
   90|  10.4k|		else
   91|  10.4k|		{
   92|  10.4k|			if (dateFormatStr.find(0x25 /*'%'*/) == std::string::npos)
  ------------------
  |  Branch (92:8): [True: 6.95k, False: 3.51k]
  ------------------
   93|  6.95k|			{
   94|  6.95k|				try
   95|  6.95k|				{
   96|  6.95k|					df = std::make_shared<SimpleDateFormat>(dateFormatStr);
   97|  6.95k|					maximumCacheValidity =
   98|  6.95k|						CachedDateFormat::getMaximumCacheValidity(dateFormatStr);
   99|  6.95k|				}
  100|  6.95k|				catch (std::exception& e)
  101|  6.95k|				{
  102|      0|					df = std::make_shared<ISO8601DateFormat>();
  103|      0|					LogLog::warn(((LogString)
  104|      0|							LOG4CXX_STR("Could not instantiate SimpleDateFormat with pattern "))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  105|      0|						+ dateFormatStr, e);
  106|      0|				}
  107|  6.95k|			}
  108|  3.51k|			else
  109|  3.51k|			{
  110|  3.51k|				df = std::make_shared<StrftimeDateFormat>(dateFormatStr);
  111|  3.51k|			}
  112|  10.4k|		}
  113|       |
  114|  22.3k|		if (options.size() >= 2)
  ------------------
  |  Branch (114:7): [True: 13.4k, False: 8.88k]
  ------------------
  115|  13.4k|		{
  116|  13.4k|			TimeZonePtr tz;
  117|  13.4k|			try
  118|  13.4k|			{
  119|  13.4k|				tz = TimeZone::getTimeZone(options[1]);
  120|  13.4k|			}
  121|  13.4k|			catch (std::exception& e)
  122|  13.4k|			{
  123|  6.83k|				LogLog::warn(LOG4CXX_STR("Invalid time zone: ") + options[1], e);
  ------------------
  |  |   43|  13.6k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  124|  6.83k|			}
  125|       |
  126|  13.4k|			if (tz)
  ------------------
  |  Branch (126:8): [True: 6.63k, False: 6.83k]
  ------------------
  127|  6.63k|			{
  128|  6.63k|				df->setTimeZone(tz);
  129|  6.63k|			}
  130|  13.4k|		}
  131|  22.3k|	}
  132|       |
  133|  67.4k|	if (maximumCacheValidity > 0)
  ------------------
  |  Branch (133:6): [True: 67.4k, False: 0]
  ------------------
  134|  67.4k|	{
  135|  67.4k|		df = std::make_shared<CachedDateFormat>(df, maximumCacheValidity);
  136|  67.4k|	}
  137|       |
  138|  67.4k|	return df;
  139|  67.4k|}
_ZN7log4cxx7pattern20DatePatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
  143|  67.4k|{
  144|  67.4k|	return std::make_shared<DatePatternConverter>(options);
  145|  67.4k|}
_ZN7log4cxx7pattern20DatePatternConverter27DatePatternConverterPrivateC2ERKNSt3__112basic_stringIwNS3_11char_traitsIwEENS3_9allocatorIwEEEESB_NS3_10shared_ptrINS_7helpers10DateFormatEEE:
   40|  67.4k|		PatternConverterPrivate(name, style),
   41|  67.4k|		df(_df) {}

_ZN7log4cxx7helpers9ExceptionC2ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   30|  1.49k|{
   31|  1.49k|	LOG4CXX_ENCODE_CHAR(m, msg1);
  ------------------
  |  |  238|  1.49k|	std::string var;                      \
  |  |  239|  1.49k|	LOG4CXX_NS::helpers::Transcoder::encode(src, var)
  ------------------
   32|  1.49k|	msg = m;
   33|  1.49k|}
_ZNK7log4cxx7helpers9Exception4whatEv:
   53|  1.49k|{
   54|  1.49k|	return msg.c_str();
   55|  1.49k|}
_ZN7log4cxx7helpers16RuntimeExceptionC2ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   63|  1.49k|	: Exception(msg1)
   64|  1.49k|{
   65|  1.49k|}

_ZN7log4cxx7pattern28FileLocationPatternConverterC1Ev:
   30|    647|	LoggingEventPatternConverter(LOG4CXX_STR("File Location"),
  ------------------
  |  |   43|    647|	#define LOG4CXX_STR(str) L ## str
  ------------------
   31|    647|		LOG4CXX_STR("file"))
  ------------------
  |  |   43|    647|	#define LOG4CXX_STR(str) L ## str
  ------------------
   32|    647|{
   33|    647|}
_ZN7log4cxx7pattern28FileLocationPatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   37|    647|{
   38|    647|	return std::make_shared<FileLocationPatternConverter>();
   39|    647|}

_ZN7log4cxx7pattern14FormattingInfoC1Ebii:
   59|  82.2k|	m_priv(std::make_unique<FormattingInfoPrivate>(leftAlign1, minLength1, maxLength1))
   60|  82.2k|{
   61|  82.2k|}
_ZN7log4cxx7pattern14FormattingInfoD2Ev:
   63|  82.2k|FormattingInfo::~FormattingInfo() {}
_ZN7log4cxx7pattern14FormattingInfo10getDefaultEv:
   70|   431k|{
   71|       |	static helpers::WideLife<FormattingInfoPtr> def= std::make_shared<FormattingInfo>(false, 0, INT_MAX);
   72|   431k|	return def;
   73|   431k|}
_ZNK7log4cxx7pattern14FormattingInfo13isLeftAlignedEv:
  117|  10.3k|{
  118|  10.3k|	return m_priv->leftAlign;
  119|  10.3k|}
_ZNK7log4cxx7pattern14FormattingInfo12getMinLengthEv:
  122|  76.2k|{
  123|  76.2k|	return m_priv->minLength;
  124|  76.2k|}
_ZNK7log4cxx7pattern14FormattingInfo12getMaxLengthEv:
  127|  80.5k|{
  128|  80.5k|	return m_priv->maxLength;
  129|  80.5k|}
_ZN7log4cxx7pattern14FormattingInfo21FormattingInfoPrivateC2Ebii:
   29|  82.2k|		minLength(minLength1),
   30|  82.2k|		maxLength(maxLength1),
   31|  82.2k|		leftAlign(leftAlign1) {}

_ZN7log4cxx7pattern28FullLocationPatternConverterC1Ev:
   32|    893|	LoggingEventPatternConverter(LOG4CXX_STR("Full Location"),
  ------------------
  |  |   43|    893|	#define LOG4CXX_STR(str) L ## str
  ------------------
   33|    893|		LOG4CXX_STR("fullLocation"))
  ------------------
  |  |   43|    893|	#define LOG4CXX_STR(str) L ## str
  ------------------
   34|    893|{
   35|    893|}
_ZN7log4cxx7pattern28FullLocationPatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   39|    893|{
   40|    893|	return std::make_shared<FullLocationPatternConverter>();
   41|    893|}

_ZN7log4cxx5Level7getInfoEv:
   58|  4.00k|{
   59|  4.00k|	static WideLife<LevelPtr> infoLevel = std::make_shared<Level>(Level::INFO_INT, LOG4CXX_STR("INFO"), 6);
  ------------------
  |  |   43|  4.00k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   60|  4.00k|	return infoLevel;
   61|  4.00k|}
_ZN7log4cxx5LevelC2EiRKNSt3__112basic_stringIwNS1_11char_traitsIwEENS1_9allocatorIwEEEEi:
   86|      1|	: level(level1), name(name1), syslogEquivalent(syslogEquivalent1)
   87|      1|{
   88|      1|}

_ZN7log4cxx7pattern21LevelPatternConverterC1Ev:
   33|  2.49k|	LoggingEventPatternConverter(LOG4CXX_STR("Level"),
  ------------------
  |  |   43|  2.49k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   34|  2.49k|		LOG4CXX_STR("level"))
  ------------------
  |  |   43|  2.49k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   35|  2.49k|{
   36|  2.49k|}
_ZN7log4cxx7pattern21LevelPatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   40|  2.49k|{
   41|  2.49k|	return std::make_shared<LevelPatternConverter>();
   42|  2.49k|}

_ZN7log4cxx7pattern28LineLocationPatternConverterC1Ev:
   32|  1.09k|	LoggingEventPatternConverter(LOG4CXX_STR("Line"),
  ------------------
  |  |   43|  1.09k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   33|  1.09k|		LOG4CXX_STR("line"))
  ------------------
  |  |   43|  1.09k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   34|  1.09k|{
   35|  1.09k|}
_ZN7log4cxx7pattern28LineLocationPatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   39|  1.09k|{
   40|  1.09k|	return std::make_shared<LineLocationPatternConverter>();
   41|  1.09k|}

_ZN7log4cxx7pattern29LineSeparatorPatternConverterC1Ev:
   31|    675|	LoggingEventPatternConverter(LOG4CXX_STR("Line Sep"),
  ------------------
  |  |   43|    675|	#define LOG4CXX_STR(str) L ## str
  ------------------
   32|    675|		LOG4CXX_STR("lineSep"))
  ------------------
  |  |   43|    675|	#define LOG4CXX_STR(str) L ## str
  ------------------
   33|    675|{
   34|    675|}
_ZN7log4cxx7pattern29LineSeparatorPatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   38|    675|{
   39|    675|	return std::make_shared<LineSeparatorPatternConverter>();
   40|    675|}

_ZN7log4cxx7pattern23LiteralPatternConverterC1ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   46|  79.6k|	LoggingEventPatternConverter(std::make_unique<LiteralPatternConverterPrivate>
   47|  79.6k|		(LOG4CXX_STR("Literal"), LOG4CXX_STR("literal"), literal1))
  ------------------
  |  |   43|  79.6k|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		(LOG4CXX_STR("Literal"), LOG4CXX_STR("literal"), literal1))
  ------------------
  |  |   43|  79.6k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   48|  79.6k|{
   49|  79.6k|}
_ZN7log4cxx7pattern23LiteralPatternConverter11newInstanceERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   53|  80.2k|{
   54|  80.2k|	if (literal.length() == 1 && literal[0] == 0x20 /* ' ' */)
  ------------------
  |  Branch (54:6): [True: 55.8k, False: 24.3k]
  |  Branch (54:31): [True: 618, False: 55.2k]
  ------------------
   55|    618|	{
   56|    618|		static WideLife<PatternConverterPtr> blank = std::make_shared<LiteralPatternConverter>(literal);
   57|    618|		return blank;
   58|    618|	}
   59|       |
   60|  79.6k|	return std::make_shared<LiteralPatternConverter>(literal);
   61|  80.2k|}
_ZN7log4cxx7pattern23LiteralPatternConverter30LiteralPatternConverterPrivateC2ERKNSt3__112basic_stringIwNS3_11char_traitsIwEENS3_9allocatorIwEEEESB_SB_:
   34|  79.6k|		PatternConverterPrivate( name, style ),
   35|  79.6k|		literal(literal1) {}

_ZN7log4cxx3spi12LocationInfoC2EPKcS3_S3_i:
   47|  4.00k|	:  lineNumber( lineNumber1 ),
   48|  4.00k|	   fileName( fileName1 ? fileName1 : LocationInfo::NA ),
  ------------------
  |  Branch (48:15): [True: 4.00k, False: 0]
  ------------------
   49|  4.00k|	   shortFileName(shortFileName1 ? shortFileName1 : LocationInfo::NA ),
  ------------------
  |  Branch (49:19): [True: 4.00k, False: 0]
  ------------------
   50|  4.00k|	   methodName( methodName1 ? methodName1 : LocationInfo::NA_METHOD )
  ------------------
  |  Branch (50:17): [True: 4.00k, False: 0]
  ------------------
   51|  4.00k|{
   52|  4.00k|}
_ZN7log4cxx3spi12LocationInfoC2ERKS1_:
   70|  4.00k|	:  lineNumber( src.lineNumber ),
   71|  4.00k|	   fileName( src.fileName ),
   72|  4.00k|	   shortFileName( src.shortFileName ),
   73|  4.00k|	   methodName( src.methodName )
   74|  4.00k|{
   75|  4.00k|}

_ZN7log4cxx7pattern22LoggerPatternConverterC1ERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   32|  2.55k|	NamePatternConverter(LOG4CXX_STR("Logger"),
  ------------------
  |  |   43|  2.55k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   33|  2.55k|		LOG4CXX_STR("logger"), options)
  ------------------
  |  |   43|  2.55k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   34|  2.55k|{
   35|  2.55k|}
_ZN7log4cxx7pattern22LoggerPatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   39|  2.55k|{
   40|  2.55k|	return std::make_shared<LoggerPatternConverter>(options);
   41|  2.55k|}

_ZN7log4cxx3spi12LoggingEventC1ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERKNS2_10shared_ptrINS_5LevelEEESA_RKNS0_12LocationInfoE:
  201|  4.00k|	m_priv(std::make_unique<LoggingEventPrivate>(logger1, level1, message1, locationInfo1))
  202|  4.00k|{
  203|  4.00k|}
_ZN7log4cxx3spi12LoggingEventD2Ev:
  206|  4.00k|{
  207|  4.00k|}
_ZN7log4cxx3spi12LoggingEvent19LoggingEventPrivateD2Ev:
   98|  4.00k|	{
   99|  4.00k|		delete properties;
  100|  4.00k|	}
_ZN7log4cxx3spi12LoggingEvent19LoggingEventPrivateC2ERKNSt3__112basic_stringIwNS3_11char_traitsIwEENS3_9allocatorIwEEEERKNS3_10shared_ptrINS_5LevelEEESB_RKNS0_12LocationInfoERKNSC_INS_7helpers18ThreadSpecificData8NamePairEEE:
   87|  4.00k|		logger(logger1),
   88|  4.00k|		level(level1),
   89|  4.00k|		message(message1),
   90|  4.00k|		timeStamp(Date::currentTime()),
   91|  4.00k|		locationInfo(locationInfo1),
   92|  4.00k|		chronoTimeStamp(std::chrono::microseconds(timeStamp)),
   93|  4.00k|		pNames(p)
   94|  4.00k|	{
   95|  4.00k|	}

_ZN7log4cxx7pattern28LoggingEventPatternConverterC2ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEESA_:
   33|  12.9k|	const LogString& name1, const LogString& style1) : PatternConverter(name1, style1)
   34|  12.9k|{
   35|  12.9k|}
_ZN7log4cxx7pattern28LoggingEventPatternConverterC2ENSt3__110unique_ptrINS0_16PatternConverter23PatternConverterPrivateENS2_14default_deleteIS5_EEEE:
   38|   168k|	PatternConverter (std::move(priv))
   39|   168k|{
   40|       |
   41|   168k|}

_ZN7log4cxx7helpers6LogLogC2Ev:
   84|      1|	m_priv(std::make_unique<LogLogPrivate>())
   85|      1|{
   86|      1|	LogString log4cxxDebug = OptionConverter::getSystemProperty(LOG4CXX_STR("LOG4CXX_DEBUG"), LOG4CXX_STR("false"));
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
              	LogString log4cxxDebug = OptionConverter::getSystemProperty(LOG4CXX_STR("LOG4CXX_DEBUG"), LOG4CXX_STR("false"));
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   87|      1|	m_priv->debugEnabled = OptionConverter::toBoolean(log4cxxDebug, false);
   88|      1|	auto color = OptionConverter::getSystemProperty(LOG4CXX_STR("LOG4CXX_COLOR"), LOG4CXX_STR("true"));
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
              	auto color = OptionConverter::getSystemProperty(LOG4CXX_STR("LOG4CXX_COLOR"), LOG4CXX_STR("true"));
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   89|      1|	m_priv->setColorEnabled(OptionConverter::toBoolean(color, true));
   90|      1|}
_ZN7log4cxx7helpers6LogLogD2Ev:
   93|      1|{ m_priv.reset(); }
_ZN7log4cxx7helpers6LogLog11getInstanceEv:
   96|  23.3k|{
   97|  23.3k|	static WideLife<LogLog> internalLogger;
   98|       |
   99|  23.3k|	return internalLogger;
  100|  23.3k|}
_ZN7log4cxx7helpers6LogLog5errorERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  169|  16.3k|{
  170|  16.3k|	auto p = getInstance().m_priv.get();
  171|  16.3k|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (171:6): [True: 16.3k, False: 0]
  |  Branch (171:11): [True: 16.3k, False: 0]
  ------------------
  172|  16.3k|	{
  173|  16.3k|		std::lock_guard<std::mutex> lock(p->mutex);
  174|       |
  175|  16.3k|		emit_log(p->errorPrefix, msg, p->suffix);
  176|  16.3k|	}
  177|  16.3k|}
_ZN7log4cxx7helpers6LogLog4warnERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERKSt9exception:
  232|  7.05k|{
  233|  7.05k|	auto p = getInstance().m_priv.get();
  234|  7.05k|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (234:6): [True: 7.05k, False: 0]
  |  Branch (234:11): [True: 7.05k, False: 0]
  ------------------
  235|  7.05k|	{
  236|  7.05k|		std::lock_guard<std::mutex> lock(p->mutex);
  237|  7.05k|		emit_log(p->warnPrefix, msg, p->suffix);
  238|  7.05k|		emit_log(p->warnPrefix, e, p->suffix);
  239|  7.05k|	}
  240|  7.05k|}
_ZN7log4cxx7helpers6LogLog8emit_logERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEESA_SA_:
  243|  23.3k|{
  244|  23.3k|	LogString out(LOG4CXX_STR("log4cxx: "));
  ------------------
  |  |   43|  23.3k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  245|  23.3k|	out.append(prefix);
  246|  23.3k|	out.append(msg);
  247|  23.3k|	out.append(suffix);
  248|  23.3k|	out.append(1, (logchar) 0x0A);
  249|       |
  250|  23.3k|	SystemErrWriter().write(out);
  251|  23.3k|}
_ZN7log4cxx7helpers6LogLog8emit_logERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERKSt9exceptionSA_:
  254|  7.05k|{
  255|  7.05k|	LogString out(LOG4CXX_STR("log4cxx: "));
  ------------------
  |  |   43|  7.05k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  256|  7.05k|	out.append(prefix);
  257|  7.05k|	const char* raw = ex.what();
  258|       |
  259|  7.05k|	if (raw != 0)
  ------------------
  |  Branch (259:6): [True: 7.05k, False: 0]
  ------------------
  260|  7.05k|	{
  261|  7.05k|		Transcoder::decode(raw, out);
  262|  7.05k|	}
  263|      0|	else
  264|      0|	{
  265|      0|		out.append(LOG4CXX_STR("std::exception::what() == null"));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  266|      0|	}
  267|       |
  268|  7.05k|	out.append(suffix);
  269|  7.05k|	out.append(1, (logchar) 0x0A);
  270|       |
  271|  7.05k|	SystemErrWriter().write(out);
  272|  7.05k|}
_ZN7log4cxx7helpers6LogLog13LogLogPrivate15setColorEnabledEb:
   58|      1|	{
   59|      1|		if (newValue)
  ------------------
  |  Branch (59:7): [True: 1, False: 0]
  ------------------
   60|      1|		{
   61|      1|			this->errorPrefix = LOG4CXX_STR("\x1B[31m"); //red
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   62|      1|			this->warnPrefix = LOG4CXX_STR("\x1B[33m"); //yellow
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   63|      1|			this->debugPrefix = LOG4CXX_STR("\x1B[32m"); //green
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   64|      1|			this->suffix = LOG4CXX_STR("\x1B[0m"); // none
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   65|      1|		}
   66|      0|		else
   67|      0|		{
   68|      0|			this->errorPrefix.clear();
   69|      0|			this->warnPrefix.clear();
   70|      0|			this->debugPrefix.clear();
   71|      0|			this->suffix.clear();
   72|      0|		}
   73|      1|	}
_ZN7log4cxx7helpers6LogLog13LogLogPrivateC2Ev:
   38|      1|		debugEnabled(false),
   39|      1|		quietMode(false){}
_ZN7log4cxx7helpers6LogLog13LogLogPrivateD2Ev:
   42|      1|	{
   43|      1|		quietMode = true; // Prevent output after deletion by onexit processing chain.
   44|      1|	}

_ZN7log4cxx7pattern23MessagePatternConverterC1Ev:
   61|  1.23k|	: LoggingEventPatternConverter(LOG4CXX_STR("Message")
  ------------------
  |  |   43|  1.23k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   62|  1.23k|	, LOG4CXX_STR("message"))
  ------------------
  |  |   43|  1.23k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   63|  1.23k|{
   64|  1.23k|}
_ZN7log4cxx7pattern23MessagePatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   68|  2.04k|{
   69|  2.04k|	if (options.empty() || options.front().empty())
  ------------------
  |  Branch (69:6): [True: 1.01k, False: 1.03k]
  |  Branch (69:25): [True: 220, False: 812]
  ------------------
   70|  1.23k|	{
   71|  1.23k|		return std::make_shared<MessagePatternConverter>();
   72|  1.23k|	}
   73|    812|	return std::make_shared<QuotedMessagePatternConverter>(options.front().front());
   74|  2.04k|}
messagepatternconverter.cpp:_ZN12_GLOBAL__N_129QuotedMessagePatternConverterC1Ew:
   38|    812|			: LoggingEventPatternConverter(LOG4CXX_STR("Message"), LOG4CXX_STR("quoted"))
  ------------------
  |  |   43|    812|	#define LOG4CXX_STR(str) L ## str
  ------------------
              			: LoggingEventPatternConverter(LOG4CXX_STR("Message"), LOG4CXX_STR("quoted"))
  ------------------
  |  |   43|    812|	#define LOG4CXX_STR(str) L ## str
  ------------------
   39|    812|			, m_quote(quote)
   40|    812|			{}

_ZN7log4cxx7pattern30MethodLocationPatternConverterC1Ev:
   31|  1.43k|	LoggingEventPatternConverter(LOG4CXX_STR("Method"),
  ------------------
  |  |   43|  1.43k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   32|  1.43k|		LOG4CXX_STR("method"))
  ------------------
  |  |   43|  1.43k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   33|  1.43k|{
   34|  1.43k|}
_ZN7log4cxx7pattern30MethodLocationPatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   38|  1.43k|{
   39|  1.43k|	return std::make_shared<MethodLocationPatternConverter>();
   40|  1.43k|}

_ZN7log4cxx7pattern15NameAbbreviatorC2Ev:
   33|  3.65k|{
   34|  3.65k|}
_ZN7log4cxx7pattern15NameAbbreviatorD2Ev:
   37|  3.65k|{
   38|  3.65k|}
_ZN7log4cxx7pattern15NameAbbreviator14getAbbreviatorERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  270|  4.08k|{
  271|  4.08k|	if (pattern.length() > 0)
  ------------------
  |  Branch (271:6): [True: 3.86k, False: 223]
  ------------------
  272|  3.86k|	{
  273|       |		//  if pattern is just spaces and numbers then
  274|       |		//     use MaxElementAbbreviator
  275|  3.86k|		LogString trimmed(StringHelper::trim(pattern));
  276|       |
  277|  3.86k|		if (trimmed.length() == 0)
  ------------------
  |  Branch (277:7): [True: 205, False: 3.65k]
  ------------------
  278|    205|		{
  279|    205|			return getDefaultAbbreviator();
  280|    205|		}
  281|       |
  282|  3.65k|		LogString::size_type i = 0;
  283|       |
  284|  3.65k|		while (
  285|  40.2k|			(i < trimmed.length()) && (trimmed[i] >= 0x30 /* '0' */)
  ------------------
  |  Branch (285:4): [True: 38.3k, False: 1.88k]
  |  Branch (285:30): [True: 37.2k, False: 1.12k]
  ------------------
  286|  37.2k|			&& (trimmed[i] <= 0x39 /* '9' */))
  ------------------
  |  Branch (286:7): [True: 36.6k, False: 650]
  ------------------
  287|  36.6k|		{
  288|  36.6k|			i++;
  289|  36.6k|		}
  290|       |
  291|       |		//
  292|       |		//  if all blanks and digits
  293|       |		//
  294|  3.65k|		if (i == trimmed.length())
  ------------------
  |  Branch (294:7): [True: 1.88k, False: 1.77k]
  ------------------
  295|  1.88k|		{
  296|  1.88k|			int len = 256;
  297|  1.88k|			try
  298|  1.88k|			{
  299|  1.88k|				len = StringHelper::toInt(trimmed);
  300|  1.88k|			}
  301|  1.88k|			catch (const std::out_of_range& ex)
  302|  1.88k|			{
  303|    216|				LogLog::warn(LOG4CXX_STR("Invalid name abreviator pattern: ") + pattern, ex);
  ------------------
  |  |   43|    432|	#define LOG4CXX_STR(str) L ## str
  ------------------
  304|    216|			}
  305|       |
  306|  1.88k|			if(len > 256){
  ------------------
  |  Branch (306:7): [True: 563, False: 1.31k]
  ------------------
  307|    563|				len = 256;
  308|  1.31k|			}else if( len < 0 ){
  ------------------
  |  Branch (308:14): [True: 0, False: 1.31k]
  ------------------
  309|      0|				len = 0;
  310|      0|			}
  311|       |
  312|  1.88k|			return std::make_shared<MaxElementAbbreviator>(len);
  313|  1.88k|		}
  314|       |
  315|  1.77k|		std::vector<PatternAbbreviatorFragment> fragments;
  316|  1.77k|		logchar ellipsis;
  317|  1.77k|		int charCount;
  318|  1.77k|		LogString::size_type pos = 0;
  319|       |
  320|  69.1k|		while (pos < trimmed.length())
  ------------------
  |  Branch (320:10): [True: 68.7k, False: 383]
  ------------------
  321|  68.7k|		{
  322|  68.7k|			LogString::size_type ellipsisPos = pos;
  323|       |
  324|  68.7k|			if (trimmed[pos] == 0x2A /* '*' */)
  ------------------
  |  Branch (324:8): [True: 1.74k, False: 66.9k]
  ------------------
  325|  1.74k|			{
  326|  1.74k|				charCount = INT_MAX;
  327|  1.74k|				ellipsisPos++;
  328|  1.74k|			}
  329|  66.9k|			else
  330|  66.9k|			{
  331|  66.9k|				if ((trimmed[pos] >= 0x30 /* '0' */)
  ------------------
  |  Branch (331:9): [True: 1.90k, False: 65.0k]
  ------------------
  332|  1.90k|					&& (trimmed[pos] <= 0x39 /* '9' */))
  ------------------
  |  Branch (332:9): [True: 997, False: 905]
  ------------------
  333|    997|				{
  334|    997|					charCount = trimmed[pos] - 0x30 /* '0' */;
  335|    997|					ellipsisPos++;
  336|    997|				}
  337|  66.0k|				else
  338|  66.0k|				{
  339|  66.0k|					charCount = 0;
  340|  66.0k|				}
  341|  66.9k|			}
  342|       |
  343|  68.7k|			ellipsis = 0;
  344|       |
  345|  68.7k|			if (ellipsisPos < trimmed.length())
  ------------------
  |  Branch (345:8): [True: 68.2k, False: 440]
  ------------------
  346|  68.2k|			{
  347|  68.2k|				ellipsis = trimmed[ellipsisPos];
  348|       |
  349|  68.2k|				if (ellipsis == 0x2E /* '.' */)
  ------------------
  |  Branch (349:9): [True: 65.3k, False: 2.93k]
  ------------------
  350|  65.3k|				{
  351|  65.3k|					ellipsis = 0;
  352|  65.3k|				}
  353|  68.2k|			}
  354|       |
  355|  68.7k|			fragments.push_back(PatternAbbreviatorFragment(charCount, ellipsis));
  356|  68.7k|			pos = trimmed.find(0x2E /* '.' */, pos);
  357|       |
  358|  68.7k|			if (pos == LogString::npos)
  ------------------
  |  Branch (358:8): [True: 1.39k, False: 67.3k]
  ------------------
  359|  1.39k|			{
  360|  1.39k|				break;
  361|  1.39k|			}
  362|       |
  363|  67.3k|			pos++;
  364|  67.3k|		}
  365|       |
  366|  1.77k|		return std::make_shared<PatternAbbreviator>(fragments);
  367|  3.65k|	}
  368|       |
  369|       |	//
  370|       |	//  no matching abbreviation, return defaultAbbreviator
  371|       |	//
  372|    223|	return getDefaultAbbreviator();
  373|  4.08k|}
_ZN7log4cxx7pattern15NameAbbreviator21getDefaultAbbreviatorEv:
  381|  15.0k|{
  382|  15.0k|	static WideLife<NameAbbreviatorPtr> def = std::make_shared<NOPAbbreviator>();
  383|  15.0k|	return def;
  384|  15.0k|}
_ZN7log4cxx7pattern26PatternAbbreviatorFragmentC2ERKS1_:
  156|   228k|			: charCount(src.charCount), ellipsis(src.ellipsis)
  157|   228k|		{
  158|   228k|		}
_ZN7log4cxx7pattern26PatternAbbreviatorFragmentC2Eiw:
  148|  68.7k|			: charCount(charCount1), ellipsis(ellipsis1)
  149|  68.7k|		{
  150|  68.7k|		}
_ZN7log4cxx7pattern21MaxElementAbbreviatorC2Ei:
   92|  1.88k|		MaxElementAbbreviator(const int count1) : count(count1)
   93|  1.88k|		{
   94|  1.88k|		}
_ZN7log4cxx7pattern18PatternAbbreviatorC2ERKNSt3__16vectorINS0_26PatternAbbreviatorFragmentENS2_9allocatorIS4_EEEE:
  222|  1.77k|			fragments(fragments1)
  223|  1.77k|		{
  224|  1.77k|			if (fragments1.size() == 0)
  ------------------
  |  Branch (224:8): [True: 0, False: 1.77k]
  ------------------
  225|      0|			{
  226|      0|				throw IllegalArgumentException(LOG4CXX_STR("fragments parameter must contain at least one element"));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  227|      0|			}
  228|  1.77k|		}
_ZN7log4cxx7pattern14NOPAbbreviatorC2Ev:
   60|      1|		{
   61|      1|		}

_ZN7log4cxx7pattern20NamePatternConverterC2ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEESA_RKNS2_6vectorIS8_NS6_IS8_EEEE:
   48|  18.6k|	LoggingEventPatternConverter(std::make_unique<NamePatternConverterPrivate>(name1, style1,
   49|  18.6k|			getAbbreviator(options)))
   50|  18.6k|{
   51|  18.6k|}
_ZN7log4cxx7pattern20NamePatternConverter14getAbbreviatorERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   55|  18.6k|{
   56|  18.6k|	if (options.size() > 0)
  ------------------
  |  Branch (56:6): [True: 4.08k, False: 14.6k]
  ------------------
   57|  4.08k|	{
   58|  4.08k|		return NameAbbreviator::getAbbreviator(options[0]);
   59|  4.08k|	}
   60|       |
   61|  14.6k|	return NameAbbreviator::getDefaultAbbreviator();
   62|  18.6k|}
_ZN7log4cxx7pattern20NamePatternConverter27NamePatternConverterPrivateC2ERKNSt3__112basic_stringIwNS3_11char_traitsIwEENS3_9allocatorIwEEEESB_NS3_10shared_ptrINS0_15NameAbbreviatorEEE:
   33|  18.6k|		PatternConverterPrivate( name, style ),
   34|  18.6k|		abbreviator(abbrev) {}

_ZN7log4cxx7pattern19NDCPatternConverterC1Ev:
   31|  1.92k|	LoggingEventPatternConverter(LOG4CXX_STR("NDC"),
  ------------------
  |  |   43|  1.92k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   32|  1.92k|		LOG4CXX_STR("ndc"))
  ------------------
  |  |   43|  1.92k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   33|  1.92k|{
   34|  1.92k|}
_ZN7log4cxx7pattern19NDCPatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   38|  1.92k|{
   39|  1.92k|	return std::make_shared<NDCPatternConverter>();
   40|  1.92k|}

_ZN7log4cxx7helpers15OptionConverter9toBooleanERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEb:
  257|      2|{
  258|      2|	if (value.length() >= 4)
  ------------------
  |  Branch (258:6): [True: 2, False: 0]
  ------------------
  259|      2|	{
  260|      2|		if (StringHelper::equalsIgnoreCase(value.substr(0, 4),
  ------------------
  |  Branch (260:7): [True: 1, False: 1]
  ------------------
  261|      2|				LOG4CXX_STR("TRUE"), LOG4CXX_STR("true")))
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
              				LOG4CXX_STR("TRUE"), LOG4CXX_STR("true")))
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
  262|      1|		{
  263|      1|			return true;
  264|      1|		}
  265|      2|	}
  266|       |
  267|      1|	if (dEfault && value.length() >= 5)
  ------------------
  |  Branch (267:6): [True: 0, False: 1]
  |  Branch (267:17): [True: 0, False: 0]
  ------------------
  268|      0|	{
  269|      0|		if (StringHelper::equalsIgnoreCase(value.substr(0, 5),
  ------------------
  |  Branch (269:7): [True: 0, False: 0]
  ------------------
  270|      0|				LOG4CXX_STR("FALSE"), LOG4CXX_STR("false")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              				LOG4CXX_STR("FALSE"), LOG4CXX_STR("false")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  271|      0|		{
  272|      0|			return false;
  273|      0|		}
  274|      0|	}
  275|       |
  276|      1|	return dEfault;
  277|      1|}
_ZN7log4cxx7helpers15OptionConverter17getSystemPropertyERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEESA_:
  396|      2|{
  397|      2|	if (!key.empty())
  ------------------
  |  Branch (397:6): [True: 2, False: 0]
  ------------------
  398|      2|	{
  399|      2|		LogString value(System::getProperty(key));
  400|       |
  401|      2|		if (!value.empty())
  ------------------
  |  Branch (401:7): [True: 0, False: 2]
  ------------------
  402|      0|		{
  403|      0|			return value;
  404|      0|		}
  405|      2|	}
  406|       |
  407|      2|	return def;
  408|      2|}

_ZN7log4cxx7pattern16PatternConverterC2ENSt3__110unique_ptrINS1_23PatternConverterPrivateENS2_14default_deleteIS4_EEEE:
   31|   168k|	m_priv(std::move(priv))
   32|   168k|{
   33|   168k|}
_ZN7log4cxx7pattern16PatternConverterC2ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEESA_:
   37|  12.9k|	m_priv(std::make_unique<PatternConverterPrivate>(name, style))
   38|  12.9k|{
   39|       |
   40|  12.9k|}
_ZN7log4cxx7pattern16PatternConverterD2Ev:
   43|   181k|{
   44|   181k|}
_ZN7log4cxx7pattern16PatternConverter17setFormattingInfoERKNSt3__110shared_ptrINS0_14FormattingInfoEEE:
   68|   111k|{
   69|   111k|	m_priv->info = newValue;
   70|   111k|}

_ZN7log4cxx7pattern13PatternParser24isUnicodeIdentifierStartEw:
   38|   499k|{
   39|       |	//
   40|       |	//   greatly simplified version checks if
   41|       |	//     character is USACII alpha or number
   42|       |	//
   43|   499k|	return (ch >= 0x41 /* 'A' */ && ch <= 0x5A /* 'Z' */) ||
  ------------------
  |  Branch (43:10): [True: 383k, False: 115k]
  |  Branch (43:34): [True: 123k, False: 260k]
  ------------------
   44|   375k|		(ch >= 0x61 /* 'a' */ && ch <= 0x7A /* 'z' */) ||
  ------------------
  |  Branch (44:4): [True: 259k, False: 116k]
  |  Branch (44:28): [True: 223k, False: 36.4k]
  ------------------
   45|   152k|		(ch >= 0x30 /* '0' */ && ch <= 0x39 /* '9' */);
  ------------------
  |  Branch (45:4): [True: 72.1k, False: 80.4k]
  |  Branch (45:28): [True: 30.7k, False: 41.4k]
  ------------------
   46|   499k|}
_ZN7log4cxx7pattern13PatternParser23isUnicodeIdentifierPartEw:
   49|   376k|{
   50|       |	//
   51|       |	//   greatly simplified version checks if
   52|       |	//     character is USACII alpha or number
   53|       |	//
   54|   376k|	return isUnicodeIdentifierStart(ch)
  ------------------
  |  Branch (54:9): [True: 262k, False: 114k]
  ------------------
   55|   114k|		|| (ch == 0x5F /* '_' */);
  ------------------
  |  Branch (55:6): [True: 327, False: 114k]
  ------------------
   56|   376k|}
_ZN7log4cxx7pattern13PatternParser16extractConverterEwRKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEmRS8_SB_:
   62|   122k|{
   63|   122k|	if (!convBuf.empty())
  ------------------
  |  Branch (63:6): [True: 0, False: 122k]
  ------------------
   64|      0|	{
   65|      0|		convBuf.erase(convBuf.begin(), convBuf.end());
   66|      0|	}
   67|       |
   68|       |	// When this method is called, lastChar points to the first character of the
   69|       |	// conversion word. For example:
   70|       |	// For "%hello"     lastChar = 'h'
   71|       |	// For "%-5hello"   lastChar = 'h'
   72|       |	//System.out.println("lastchar is "+lastChar);
   73|   122k|	if (!isUnicodeIdentifierStart(lastChar))
  ------------------
  |  Branch (73:6): [True: 7.07k, False: 115k]
  ------------------
   74|  7.07k|	{
   75|  7.07k|		return i;
   76|  7.07k|	}
   77|       |
   78|   115k|	convBuf.append(1, lastChar);
   79|       |
   80|   115k|	while (
   81|   377k|		(i < pattern.length())
  ------------------
  |  Branch (81:3): [True: 376k, False: 751]
  ------------------
   82|   376k|		&& isUnicodeIdentifierPart(pattern[i]))
  ------------------
  |  Branch (82:6): [True: 262k, False: 114k]
  ------------------
   83|   262k|	{
   84|   262k|		convBuf.append(1, pattern[i]);
   85|   262k|		currentLiteral.append(1, pattern[i]);
   86|       |
   87|       |		//System.out.println("conv buffer is now ["+convBuf+"].");
   88|   262k|		i++;
   89|   262k|	}
   90|       |
   91|   115k|	return i;
   92|   122k|}
_ZN7log4cxx7pattern13PatternParser14extractOptionsERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEmRNS2_6vectorIS8_NS6_IS8_EEEE:
   97|   115k|{
   98|   176k|	while ((i < pattern.length()) && (pattern[i] == 0x7B /* '{' */))
  ------------------
  |  Branch (98:9): [True: 173k, False: 2.43k]
  |  Branch (98:35): [True: 61.8k, False: 111k]
  ------------------
   99|  61.8k|	{
  100|  61.8k|		size_t end = pattern.find(0x7D /* '}' */, i);
  101|       |
  102|  61.8k|		if (end == pattern.npos)
  ------------------
  |  Branch (102:7): [True: 1.03k, False: 60.8k]
  ------------------
  103|  1.03k|		{
  104|  1.03k|			break;
  105|  1.03k|		}
  106|       |
  107|  60.8k|		LogString r(pattern.substr(i + 1, end - i - 1));
  108|  60.8k|		options.push_back(r);
  109|  60.8k|		i = end + 1;
  110|  60.8k|	}
  111|       |
  112|   115k|	return i;
  113|   115k|}
_ZN7log4cxx7pattern13PatternParser5parseERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERKNS2_3mapIS8_NS2_8functionIFNS2_10shared_ptrINS0_16PatternConverterEEERKNS2_6vectorIS8_NS6_IS8_EEEEEEENS2_4lessIS8_EENS6_INS2_4pairIS9_SM_EEEEEE:
  130|  4.00k|{
  131|  4.00k|	PatternConverterList patternConverters;
  132|  4.00k|	LogString currentLiteral;
  133|       |
  134|  4.00k|	size_t patternLength = pattern.length();
  135|  4.00k|	int state = LITERAL_STATE;
  136|  4.00k|	logchar c;
  137|  4.00k|	size_t i = 0;
  138|  4.00k|	int minDigitCount{ 0 }, maxDigitCount{ 0 };
  139|  4.00k|	auto formattingInfo = FormattingInfo::getDefault();
  140|       |
  141|   871k|	while (i < patternLength)
  ------------------
  |  Branch (141:9): [True: 867k, False: 4.00k]
  ------------------
  142|   867k|	{
  143|   867k|		c = pattern[i++];
  144|       |
  145|   867k|		switch (state)
  ------------------
  |  Branch (145:11): [True: 867k, False: 0]
  ------------------
  146|   867k|		{
  147|   658k|			case LITERAL_STATE:
  ------------------
  |  Branch (147:4): [True: 658k, False: 209k]
  ------------------
  148|       |
  149|       |				// In literal state, the last char is always a literal.
  150|   658k|				if (i == patternLength)
  ------------------
  |  Branch (150:9): [True: 595, False: 657k]
  ------------------
  151|    595|				{
  152|    595|					currentLiteral.append(1, c);
  153|       |
  154|    595|					continue;
  155|    595|				}
  156|       |
  157|   657k|				if (c == ESCAPE_CHAR)
  ------------------
  |  Branch (157:9): [True: 125k, False: 532k]
  ------------------
  158|   125k|				{
  159|       |					// peek at the next char.
  160|   125k|					if (pattern[i] == ESCAPE_CHAR)
  ------------------
  |  Branch (160:10): [True: 1.64k, False: 123k]
  ------------------
  161|  1.64k|					{
  162|  1.64k|						currentLiteral.append(1, c);
  163|  1.64k|						i++; // move pointer
  164|  1.64k|					}
  165|   123k|					else
  166|   123k|					{
  167|   123k|						if (!currentLiteral.empty())
  ------------------
  |  Branch (167:11): [True: 38.7k, False: 85.0k]
  ------------------
  168|  38.7k|						{
  169|  38.7k|							patternConverters.push_back(
  170|  38.7k|								LiteralPatternConverter::newInstance(currentLiteral));
  171|  38.7k|							currentLiteral.erase(currentLiteral.begin(), currentLiteral.end());
  172|  38.7k|						}
  173|       |
  174|   123k|						currentLiteral.append(1, c); // append %
  175|   123k|						state = CONVERTER_STATE;
  176|   123k|						formattingInfo = FormattingInfo::getDefault();
  177|   123k|					}
  178|   125k|				}
  179|   532k|				else
  180|   532k|				{
  181|   532k|					currentLiteral.append(1, c);
  182|   532k|				}
  183|       |
  184|   657k|				break;
  185|       |
  186|   195k|			case CONVERTER_STATE:
  ------------------
  |  Branch (186:4): [True: 195k, False: 671k]
  ------------------
  187|   195k|				currentLiteral.append(1, c);
  188|       |
  189|   195k|				switch (c)
  190|   195k|				{
  191|  71.9k|					case 0x2D: // '-'
  ------------------
  |  Branch (191:6): [True: 71.9k, False: 123k]
  ------------------
  192|  71.9k|						formattingInfo = std::make_shared<FormattingInfo>(
  193|  71.9k|									true, formattingInfo->getMinLength(),
  194|  71.9k|									formattingInfo->getMaxLength());
  195|       |
  196|  71.9k|						break;
  197|       |
  198|  2.36k|					case 0x2E: // '.'
  ------------------
  |  Branch (198:6): [True: 2.36k, False: 193k]
  ------------------
  199|  2.36k|						state = DOT_STATE;
  200|       |
  201|  2.36k|						break;
  202|       |
  203|   121k|					default:
  ------------------
  |  Branch (203:6): [True: 121k, False: 74.2k]
  ------------------
  204|       |
  205|   121k|						if ((c >= 0x30 /* '0' */) && (c <= 0x39 /* '9' */))
  ------------------
  |  Branch (205:11): [True: 119k, False: 1.72k]
  |  Branch (205:36): [True: 5.99k, False: 113k]
  ------------------
  206|  5.99k|						{
  207|  5.99k|							formattingInfo = std::make_shared<FormattingInfo>(
  208|  5.99k|										formattingInfo->isLeftAligned(), c - 0x30 /* '0' */,
  209|  5.99k|										formattingInfo->getMaxLength());
  210|  5.99k|							state = MIN_STATE;
  211|  5.99k|							minDigitCount = 1;
  212|  5.99k|						}
  213|   115k|						else
  214|   115k|						{
  215|   115k|							i = finalizeConverter(
  216|   115k|									c, pattern, i, currentLiteral, formattingInfo,
  217|   115k|									rules, patternConverters);
  218|       |
  219|       |							// Next pattern is assumed to be a literal.
  220|   115k|							state = LITERAL_STATE;
  221|   115k|							formattingInfo = FormattingInfo::getDefault();
  222|       |
  223|   115k|							if (!currentLiteral.empty())
  ------------------
  |  Branch (223:12): [True: 0, False: 115k]
  ------------------
  224|      0|							{
  225|      0|								currentLiteral.erase(currentLiteral.begin(), currentLiteral.end());
  226|      0|							}
  227|   115k|						}
  228|   195k|				} // switch
  229|       |
  230|   195k|				break;
  231|       |
  232|   195k|			case MIN_STATE:
  ------------------
  |  Branch (232:4): [True: 7.45k, False: 859k]
  ------------------
  233|  7.45k|				currentLiteral.append(1, c);
  234|       |
  235|  7.45k|				if ((c >= 0x30 /* '0' */) && (c <= 0x39 /* '9' */) && minDigitCount < 3)
  ------------------
  |  Branch (235:9): [True: 5.69k, False: 1.75k]
  |  Branch (235:34): [True: 1.96k, False: 3.73k]
  |  Branch (235:59): [True: 1.50k, False: 458]
  ------------------
  236|  1.50k|				{
  237|  1.50k|					formattingInfo = std::make_shared<FormattingInfo>(
  238|  1.50k|								formattingInfo->isLeftAligned(),
  239|  1.50k|								(formattingInfo->getMinLength() * 10) + (c - 0x30 /* '0' */),
  240|  1.50k|								formattingInfo->getMaxLength());
  241|  1.50k|					++minDigitCount;
  242|  1.50k|				}
  243|  5.94k|				else if (c == 0x2E /* '.' */)
  ------------------
  |  Branch (243:14): [True: 753, False: 5.19k]
  ------------------
  244|    753|				{
  245|    753|					state = DOT_STATE;
  246|    753|				}
  247|  5.19k|				else
  248|  5.19k|				{
  249|  5.19k|					i = finalizeConverter(
  250|  5.19k|							c, pattern, i, currentLiteral, formattingInfo,
  251|  5.19k|							rules, patternConverters);
  252|  5.19k|					state = LITERAL_STATE;
  253|  5.19k|					formattingInfo = FormattingInfo::getDefault();
  254|       |
  255|  5.19k|					if (!currentLiteral.empty())
  ------------------
  |  Branch (255:10): [True: 0, False: 5.19k]
  ------------------
  256|      0|					{
  257|      0|						currentLiteral.erase(currentLiteral.begin(), currentLiteral.end());
  258|      0|					}
  259|  5.19k|				}
  260|       |
  261|  7.45k|				break;
  262|       |
  263|  3.10k|			case DOT_STATE:
  ------------------
  |  Branch (263:4): [True: 3.10k, False: 864k]
  ------------------
  264|  3.10k|				currentLiteral.append(1, c);
  265|       |
  266|  3.10k|				if ((c >= 0x30 /* '0' */) && (c <= 0x39 /* '9' */))
  ------------------
  |  Branch (266:9): [True: 2.38k, False: 713]
  |  Branch (266:34): [True: 1.78k, False: 604]
  ------------------
  267|  1.78k|				{
  268|  1.78k|					formattingInfo = std::make_shared<FormattingInfo>(
  269|  1.78k|								formattingInfo->isLeftAligned(), formattingInfo->getMinLength(),
  270|  1.78k|								c - 0x30 /* '0' */);
  271|  1.78k|					state = MAX_STATE;
  272|  1.78k|					maxDigitCount = 1;
  273|  1.78k|				}
  274|  1.31k|				else
  275|  1.31k|				{
  276|  1.31k|					LogLog::error(LOG4CXX_STR("Error in pattern, was expecting digit."));
  ------------------
  |  |   43|  1.31k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  277|       |
  278|  1.31k|					state = LITERAL_STATE;
  279|  1.31k|				}
  280|       |
  281|  3.10k|				break;
  282|       |
  283|  2.83k|			case MAX_STATE:
  ------------------
  |  Branch (283:4): [True: 2.83k, False: 864k]
  ------------------
  284|  2.83k|				currentLiteral.append(1, c);
  285|       |
  286|  2.83k|				if ((c >= 0x30 /* '0' */) && (c <= 0x39 /* '9' */) && maxDigitCount < 3)
  ------------------
  |  Branch (286:9): [True: 2.36k, False: 474]
  |  Branch (286:34): [True: 1.56k, False: 800]
  |  Branch (286:59): [True: 1.09k, False: 472]
  ------------------
  287|  1.09k|				{
  288|  1.09k|					formattingInfo = std::make_shared<FormattingInfo>(
  289|  1.09k|								formattingInfo->isLeftAligned(), formattingInfo->getMinLength(),
  290|  1.09k|								(formattingInfo->getMaxLength() * 10) + (c - 0x30 /* '0' */));
  291|  1.09k|					++maxDigitCount;
  292|  1.09k|				}
  293|  1.74k|				else
  294|  1.74k|				{
  295|  1.74k|					i = finalizeConverter(
  296|  1.74k|							c, pattern, i, currentLiteral, formattingInfo,
  297|  1.74k|							rules, patternConverters);
  298|  1.74k|					state = LITERAL_STATE;
  299|  1.74k|					formattingInfo = FormattingInfo::getDefault();
  300|       |
  301|  1.74k|					if (!currentLiteral.empty())
  ------------------
  |  Branch (301:10): [True: 0, False: 1.74k]
  ------------------
  302|      0|					{
  303|      0|						currentLiteral.erase(currentLiteral.begin(), currentLiteral.end());
  304|      0|					}
  305|  1.74k|				}
  306|       |
  307|  2.83k|				break;
  308|   867k|		} // switch
  309|   867k|	}
  310|       |
  311|       |	// while
  312|  4.00k|	if (currentLiteral.length() != 0)
  ------------------
  |  Branch (312:6): [True: 858, False: 3.15k]
  ------------------
  313|    858|	{
  314|    858|		patternConverters.push_back(
  315|    858|			LiteralPatternConverter::newInstance(currentLiteral));
  316|    858|	}
  317|  4.00k|	return patternConverters;
  318|  4.00k|}
_ZN7log4cxx7pattern13PatternParser15createConverterERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERS8_RKNS2_3mapIS8_NS2_8functionIFNS2_10shared_ptrINS0_16PatternConverterEEERKNS2_6vectorIS8_NS6_IS8_EEEEEEENS2_4lessIS8_EENS6_INS2_4pairIS9_SN_EEEEEERSJ_:
  326|   115k|{
  327|       |
  328|   115k|	LogString converterName(converterId);
  329|       |
  330|   380k|	for (size_t i = converterId.length(); i > 0; i--)
  ------------------
  |  Branch (330:40): [True: 376k, False: 3.95k]
  ------------------
  331|   376k|	{
  332|   376k|		converterName = converterName.substr(0, i);
  333|   376k|		PatternMap::const_iterator iter = rules.find(converterName);
  334|       |
  335|   376k|		if (iter != rules.end())
  ------------------
  |  Branch (335:7): [True: 111k, False: 265k]
  ------------------
  336|   111k|		{
  337|   111k|			currentLiteral.erase(currentLiteral.begin(),
  338|   111k|				currentLiteral.end() - (converterId.length() - i));
  339|   111k|			return (iter->second)(options);
  340|   111k|		}
  341|   376k|	}
  342|       |
  343|  3.95k|	LogLog::error(LogString(LOG4CXX_STR("Unrecognized format specifier ")) + converterId);
  ------------------
  |  |   43|  3.95k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  344|       |
  345|  3.95k|	return PatternConverterPtr();
  346|   115k|}
_ZN7log4cxx7pattern13PatternParser17finalizeConverterEwRKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEmRS8_RKNS2_10shared_ptrINS0_14FormattingInfoEEERKNS2_3mapIS8_NS2_8functionIFNSC_INS0_16PatternConverterEEERKNS2_6vectorIS8_NS6_IS8_EEEEEEENS2_4lessIS8_EENS6_INS2_4pairIS9_SR_EEEEEERNSL_ISK_NS6_ISK_EEEE:
  353|   122k|{
  354|   122k|	LogString convBuf;
  355|   122k|	i = extractConverter(c, pattern, i, convBuf, currentLiteral);
  356|       |
  357|   122k|	if (convBuf.empty())
  ------------------
  |  Branch (357:6): [True: 7.07k, False: 115k]
  ------------------
  358|  7.07k|	{
  359|  7.07k|		LogLog::error(LOG4CXX_STR("Empty conversion specifier"));
  ------------------
  |  |   43|  7.07k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  360|  7.07k|		patternConverters.push_back(
  361|  7.07k|			LiteralPatternConverter::newInstance(currentLiteral));
  362|  7.07k|	}
  363|   115k|	else
  364|   115k|	{
  365|   115k|		LogString converterId(convBuf);
  366|       |
  367|   115k|		std::vector<LogString> options;
  368|   115k|		i = extractOptions(pattern, i, options);
  369|       |
  370|   115k|		PatternConverterPtr pc(
  371|   115k|			createConverter(
  372|   115k|				converterId, currentLiteral, rules, options));
  373|       |
  374|   115k|		if (pc == NULL)
  ------------------
  |  Branch (374:7): [True: 3.95k, False: 111k]
  ------------------
  375|  3.95k|		{
  376|  3.95k|			LogString msg(LOG4CXX_STR("Unrecognized conversion specifier ["));
  ------------------
  |  |   43|  3.95k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  377|  3.95k|			msg.append(converterId);
  378|  3.95k|			msg.append(LOG4CXX_STR("] in conversion pattern."));
  ------------------
  |  |   43|  3.95k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  379|  3.95k|			LogLog::error(msg);
  380|  3.95k|			patternConverters.push_back(
  381|  3.95k|				LiteralPatternConverter::newInstance(currentLiteral));
  382|  3.95k|		}
  383|   111k|		else
  384|   111k|		{
  385|   111k|			patternConverters.push_back(pc);
  386|   111k|			pc->setFormattingInfo(formattingInfo);
  387|       |
  388|   111k|			if (currentLiteral.length() > 0)
  ------------------
  |  Branch (388:8): [True: 29.6k, False: 81.6k]
  ------------------
  389|  29.6k|			{
  390|  29.6k|				patternConverters.push_back(
  391|  29.6k|					LiteralPatternConverter::newInstance(currentLiteral));
  392|  29.6k|			}
  393|   111k|		}
  394|   115k|	}
  395|       |
  396|   122k|	if (!currentLiteral.empty())
  ------------------
  |  Branch (396:6): [True: 40.6k, False: 81.6k]
  ------------------
  397|  40.6k|	{
  398|  40.6k|		currentLiteral.erase(currentLiteral.begin(), currentLiteral.end());
  399|  40.6k|	}
  400|       |
  401|   122k|	return i;
  402|   122k|}

_ZN7log4cxx7helpers4PoolC2Ev:
   33|      2|Pool::Pool() : pool(0), release(true)
   34|      2|{
   35|      2|}
_ZN7log4cxx7helpers4PoolD2Ev:
   43|      2|{
   44|      2|	if (pool && release)
  ------------------
  |  Branch (44:6): [True: 2, False: 0]
  |  Branch (44:14): [True: 2, False: 0]
  ------------------
   45|      2|	{
   46|      2|		apr_pool_destroy(pool);
   47|      2|	}
   48|      2|}
_ZN7log4cxx7helpers4Pool7setPoolEv:
   51|      2|{
   52|      2|	apr_status_t stat = apr_pool_create(&pool, APRInitializer::getRootPool());
  ------------------
  |  |  323|      2|    apr_pool_create_ex(newpool, parent, NULL, NULL)
  ------------------
   53|       |
   54|      2|	if (stat != APR_SUCCESS)
  ------------------
  |  |  225|      2|#define APR_SUCCESS 0
  ------------------
  |  Branch (54:6): [True: 0, False: 2]
  ------------------
   55|      0|	{
   56|      0|		throw PoolException(stat);
   57|      0|	}
   58|      2|}
_ZN7log4cxx7helpers4Pool10getAPRPoolEv:
   61|      2|{
   62|      2|	if (!pool)
  ------------------
  |  Branch (62:6): [True: 2, False: 0]
  ------------------
   63|      2|		setPool();
   64|      2|	return pool;
   65|      2|}

_ZN7log4cxx7pattern26PropertiesPatternConverterC1ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEESA_:
   49|  2.70k|	LoggingEventPatternConverter(
   50|  2.70k|		std::make_unique<PropertiesPatternConverterPrivate>(name1, LOG4CXX_STR("property"), propertyName))
  ------------------
  |  |   43|  2.70k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   51|  2.70k|{
   52|  2.70k|}
_ZN7log4cxx7pattern26PropertiesPatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   56|  2.70k|{
   57|  2.70k|	if (options.size() == 0)
  ------------------
  |  Branch (57:6): [True: 1.61k, False: 1.09k]
  ------------------
   58|  1.61k|	{
   59|  1.61k|		return std::make_shared<PropertiesPatternConverter>(
   60|  1.61k|				LOG4CXX_STR("Properties"), LOG4CXX_STR(""));
  ------------------
  |  |   43|  1.61k|	#define LOG4CXX_STR(str) L ## str
  ------------------
              				LOG4CXX_STR("Properties"), LOG4CXX_STR(""));
  ------------------
  |  |   43|  1.61k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   61|  1.61k|	}
   62|       |
   63|  1.09k|	LogString converterName(LOG4CXX_STR("Property{"));
  ------------------
  |  |   43|  1.09k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   64|  1.09k|	converterName.append(options[0]);
   65|  1.09k|	converterName.append(LOG4CXX_STR("}"));
  ------------------
  |  |   43|  1.09k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   66|  1.09k|	return std::make_shared<PropertiesPatternConverter>(converterName, options[0]);
   67|  2.70k|}
_ZN7log4cxx7pattern26PropertiesPatternConverter33PropertiesPatternConverterPrivateC2ERKNSt3__112basic_stringIwNS3_11char_traitsIwEENS3_9allocatorIwEEEESB_SB_:
   36|  2.70k|		PatternConverterPrivate( name, style ),
   37|  2.70k|		option(propertyName) {}

_ZN7log4cxx7pattern28RelativeTimePatternConverterC1Ev:
   32|      1|	LoggingEventPatternConverter(LOG4CXX_STR("Time"),
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   33|      1|		LOG4CXX_STR("time"))
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   34|      1|{
   35|      1|}
_ZN7log4cxx7pattern28RelativeTimePatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   39|  9.55k|{
   40|  9.55k|	static WideLife<PatternConverterPtr> def = std::make_shared<RelativeTimePatternConverter>();
   41|  9.55k|	return def;
   42|  9.55k|}

_ZN7log4cxx7helpers16SimpleDateFormat8addTokenEwiPKNSt3__16localeERNS2_6vectorIPNS0_20SimpleDateFormatImpl12PatternTokenENS2_9allocatorIS9_EEEE:
  641|   804k|{
  642|   804k|	PatternToken* token = NULL;
  643|       |
  644|   804k|	switch ( spec )
  645|   804k|	{
  646|  1.25k|		case 0x47: // 'G'
  ------------------
  |  Branch (646:3): [True: 1.25k, False: 803k]
  ------------------
  647|  1.25k|			token = ( new EraToken( repeat, locale ) );
  648|  1.25k|			break;
  649|       |
  650|  57.3k|		case 0x79: // 'y'
  ------------------
  |  Branch (650:3): [True: 57.3k, False: 747k]
  ------------------
  651|  57.3k|			token = ( new YearToken( repeat ) );
  652|  57.3k|			break;
  653|       |
  654|  59.1k|		case 0x4D: // 'M'
  ------------------
  |  Branch (654:3): [True: 59.1k, False: 745k]
  ------------------
  655|  59.1k|			if ( repeat <= 2 )
  ------------------
  |  Branch (655:9): [True: 57.1k, False: 1.98k]
  ------------------
  656|  57.1k|			{
  657|  57.1k|				token = ( new MonthToken( repeat ) );
  658|  57.1k|			}
  659|  1.98k|			else if ( repeat <= 3 )
  ------------------
  |  Branch (659:14): [True: 868, False: 1.12k]
  ------------------
  660|    868|			{
  661|    868|				token = ( new AbbreviatedMonthNameToken( repeat, locale ) );
  662|    868|			}
  663|  1.12k|			else
  664|  1.12k|			{
  665|  1.12k|				token = ( new FullMonthNameToken( repeat, locale ) );
  666|  1.12k|			}
  667|       |
  668|  59.1k|			break;
  669|       |
  670|  1.35k|		case 0x77: // 'w'
  ------------------
  |  Branch (670:3): [True: 1.35k, False: 803k]
  ------------------
  671|  1.35k|			token = ( new WeekInYearToken( repeat ) );
  672|  1.35k|			break;
  673|       |
  674|    426|		case 0x57: // 'W'
  ------------------
  |  Branch (674:3): [True: 426, False: 803k]
  ------------------
  675|    426|			token = ( new WeekInMonthToken( repeat ) );
  676|    426|			break;
  677|       |
  678|  1.46k|		case 0x44: // 'D'
  ------------------
  |  Branch (678:3): [True: 1.46k, False: 802k]
  ------------------
  679|  1.46k|			token = ( new DayInYearToken( repeat ) );
  680|  1.46k|			break;
  681|       |
  682|  60.6k|		case 0x64: // 'd'
  ------------------
  |  Branch (682:3): [True: 60.6k, False: 743k]
  ------------------
  683|  60.6k|			token = ( new DayInMonthToken( repeat ) );
  684|  60.6k|			break;
  685|       |
  686|    416|		case 0x46: // 'F'
  ------------------
  |  Branch (686:3): [True: 416, False: 803k]
  ------------------
  687|    416|			token = ( new DayOfWeekInMonthToken( repeat ) );
  688|    416|			break;
  689|       |
  690|  4.94k|		case 0x45: // 'E'
  ------------------
  |  Branch (690:3): [True: 4.94k, False: 799k]
  ------------------
  691|  4.94k|			if ( repeat <= 3 )
  ------------------
  |  Branch (691:9): [True: 4.03k, False: 904]
  ------------------
  692|  4.03k|			{
  693|  4.03k|				token = ( new AbbreviatedDayNameToken( repeat, locale ) );
  694|  4.03k|			}
  695|    904|			else
  696|    904|			{
  697|    904|				token = ( new FullDayNameToken( repeat, locale ) );
  698|    904|			}
  699|       |
  700|  4.94k|			break;
  701|       |
  702|  3.15k|		case 0x61: // 'a'
  ------------------
  |  Branch (702:3): [True: 3.15k, False: 801k]
  ------------------
  703|  3.15k|			token = ( new AMPMToken( repeat, locale ) );
  704|  3.15k|			break;
  705|       |
  706|  56.9k|		case 0x48: // 'H'
  ------------------
  |  Branch (706:3): [True: 56.9k, False: 747k]
  ------------------
  707|  56.9k|			token = ( new MilitaryHourToken( repeat, 0 ) );
  708|  56.9k|			break;
  709|       |
  710|    656|		case 0x6B: // 'k'
  ------------------
  |  Branch (710:3): [True: 656, False: 803k]
  ------------------
  711|    656|			token = ( new MilitaryHourToken( repeat, 1 ) );
  712|    656|			break;
  713|       |
  714|    727|		case 0x4B: // 'K'
  ------------------
  |  Branch (714:3): [True: 727, False: 803k]
  ------------------
  715|    727|			token = ( new HourToken( repeat, 0 ) );
  716|    727|			break;
  717|       |
  718|  5.74k|		case 0x68: // 'h'
  ------------------
  |  Branch (718:3): [True: 5.74k, False: 798k]
  ------------------
  719|  5.74k|			token = ( new HourToken( repeat, 1 ) );
  720|  5.74k|			break;
  721|       |
  722|  57.0k|		case 0x6D: // 'm'
  ------------------
  |  Branch (722:3): [True: 57.0k, False: 747k]
  ------------------
  723|  57.0k|			token = ( new MinuteToken( repeat ) );
  724|  57.0k|			break;
  725|       |
  726|  57.0k|		case 0x73: // 's'
  ------------------
  |  Branch (726:3): [True: 57.0k, False: 747k]
  ------------------
  727|  57.0k|			token = ( new SecondToken( repeat ) );
  728|  57.0k|			break;
  729|       |
  730|  62.2k|		case 0x53: // 'S'
  ------------------
  |  Branch (730:3): [True: 62.2k, False: 742k]
  ------------------
  731|  62.2k|			if ( repeat == 6 )
  ------------------
  |  Branch (731:9): [True: 351, False: 61.9k]
  ------------------
  732|    351|			{
  733|    351|				token = ( new MicrosecondToken( repeat ) );
  734|    351|			}
  735|  61.9k|			else
  736|  61.9k|			{
  737|       |				// It would be nice to support patterns with arbitrary
  738|       |				// subsecond precision (like "s.S" or "s.SSSS"), but we
  739|       |				// don't; so this is a back-compatible default.
  740|  61.9k|				token = ( new MillisecondToken( repeat ) );
  741|  61.9k|			}
  742|       |
  743|  62.2k|			break;
  744|       |
  745|    898|		case 0x7A: // 'z'
  ------------------
  |  Branch (745:3): [True: 898, False: 803k]
  ------------------
  746|    898|			token = ( new GeneralTimeZoneToken( repeat ) );
  747|    898|			break;
  748|       |
  749|    420|		case 0x5A: // 'Z'
  ------------------
  |  Branch (749:3): [True: 420, False: 803k]
  ------------------
  750|    420|			token = ( new RFC822TimeZoneToken( repeat ) );
  751|    420|			break;
  752|       |
  753|   372k|		default:
  ------------------
  |  Branch (753:3): [True: 372k, False: 431k]
  ------------------
  754|   372k|			token = ( new LiteralToken( spec, repeat ) );
  755|   804k|	}
  756|       |
  757|   804k|	assert( token != NULL );
  ------------------
  |  Branch (757:2): [True: 804k, False: 0]
  ------------------
  758|   804k|	pattern.push_back( token );
  759|   804k|}
_ZN7log4cxx7helpers16SimpleDateFormat12parsePatternERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEPKNS2_6localeERNS2_6vectorIPNS0_20SimpleDateFormatImpl12PatternTokenENS6_ISH_EEEE:
  764|  63.9k|{
  765|  63.9k|	if ( !fmt.empty() )
  ------------------
  |  Branch (765:7): [True: 63.9k, False: 0]
  ------------------
  766|  63.9k|	{
  767|  63.9k|		LogString::const_iterator iter = fmt.begin();
  768|  63.9k|		int repeat = 1;
  769|  63.9k|		logchar prevChar = * iter;
  770|       |
  771|  1.50M|		for ( iter++; iter != fmt.end(); iter++ )
  ------------------
  |  Branch (771:17): [True: 1.43M, False: 63.9k]
  ------------------
  772|  1.43M|		{
  773|  1.43M|			if ( * iter == prevChar )
  ------------------
  |  Branch (773:9): [True: 696k, False: 740k]
  ------------------
  774|   696k|			{
  775|   696k|				repeat++;
  776|   696k|			}
  777|   740k|			else
  778|   740k|			{
  779|   740k|				addToken( prevChar, repeat, locale, pattern );
  780|   740k|				prevChar = * iter;
  781|   740k|				repeat = 1;
  782|   740k|			}
  783|  1.43M|		}
  784|       |
  785|  63.9k|		addToken( prevChar, repeat, locale, pattern );
  786|  63.9k|	}
  787|  63.9k|}
_ZN7log4cxx7helpers16SimpleDateFormatC2ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  806|  63.9k|SimpleDateFormat::SimpleDateFormat( const LogString& fmt ) : m_priv(std::make_unique<SimpleDateFormatPrivate>())
  807|  63.9k|{
  808|  63.9k|#if LOG4CXX_HAS_STD_LOCALE
  809|  63.9k|	std::locale defaultLocale;
  810|  63.9k|	parsePattern( fmt, & defaultLocale, m_priv->pattern );
  811|       |#else
  812|       |	parsePattern( fmt, NULL, m_priv->pattern );
  813|       |#endif
  814|       |
  815|  63.9k|	for (auto const& item : m_priv->pattern)
  ------------------
  |  Branch (815:24): [True: 804k, False: 63.9k]
  ------------------
  816|   804k|	{
  817|   804k|		item->setTimeZone( m_priv->timeZone );
  818|   804k|	}
  819|  63.9k|}
_ZN7log4cxx7helpers16SimpleDateFormatD2Ev:
  833|  63.9k|{
  834|  63.9k|	for (auto item : m_priv->pattern)
  ------------------
  |  Branch (834:17): [True: 804k, False: 63.9k]
  ------------------
  835|   804k|	{
  836|   804k|		delete item;
  837|   804k|	}
  838|  63.9k|}
_ZN7log4cxx7helpers16SimpleDateFormat11setTimeZoneERKNSt3__110shared_ptrINS0_8TimeZoneEEE:
  857|  5.34k|{
  858|  5.34k|	m_priv->timeZone = zone;
  859|  5.34k|}
_ZN7log4cxx7helpers20SimpleDateFormatImpl8EraTokenC2EiPKNSt3__16localeE:
  225|  1.25k|		{
  226|  1.25k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl12PatternTokenC2Ev:
   72|   804k|		{
   73|   804k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl12PatternTokenD2Ev:
   76|   804k|		{
   77|   804k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl12PatternToken11setTimeZoneERKNSt3__110shared_ptrINS0_8TimeZoneEEE:
   84|   803k|		{
   85|   803k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl9YearTokenC2Ei:
  268|  57.3k|		YearToken( int width1 ) : NumericToken( width1 )
  269|  57.3k|		{
  270|  57.3k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl12NumericTokenC2Em:
  240|   419k|		NumericToken( size_t width1 ) : width( width1 )
  241|   419k|		{
  242|   419k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl10MonthTokenC2Ei:
  283|  57.1k|		MonthToken( int width1 ) : NumericToken( width1 )
  284|  57.1k|		{
  285|  57.1k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl25AbbreviatedMonthNameTokenC2EiPKNSt3__16localeE:
  298|    868|		AbbreviatedMonthNameToken(int, const std::locale* locale) : names( 12 )
  299|    868|		{
  300|    868|			renderFacet(locale, PatternToken::incrementMonth, 'b', 0x62, "%b", names);
  301|    868|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl12PatternToken11renderFacetEPKNSt3__16localeEPFvR2tmR14apr_time_exp_tEcjPKcRNS3_6vectorINS3_12basic_stringIwNS3_11char_traitsIwEENS3_9allocatorIwEEEENSJ_ISL_EEEE:
  123|  10.0k|		{
  124|  10.0k|			std::vector<LogString>::iterator valueIter = values.begin();
  125|  10.0k|			tm time;
  126|  10.0k|			memset(&time, 0, sizeof(time));
  127|  10.0k|			apr_time_exp_t aprtime;
  128|  10.0k|			memset(&aprtime, 0, sizeof(aprtime));
  129|  10.0k|#if LOG4CXX_HAS_STD_LOCALE
  130|       |
  131|  10.0k|			if (locale != NULL)
  ------------------
  |  Branch (131:8): [True: 10.0k, False: 0]
  ------------------
  132|  10.0k|			{
  133|  10.0k|#if LOG4CXX_WCHAR_T_API
  134|       |
  135|  10.0k|				if (HAS_FACET(*locale, std::time_put<wchar_t>))
  ------------------
  |  |   50|  10.0k|		#define HAS_FACET(locale, type) std::has_facet < type >(locale)
  |  |  ------------------
  |  |  |  Branch (50:35): [True: 10.0k, False: 0]
  |  |  ------------------
  ------------------
  136|  10.0k|				{
  137|  10.0k|					const std::time_put<wchar_t>& facet = USE_FACET(*locale, std::time_put<wchar_t>);
  ------------------
  |  |   51|  10.0k|		#define USE_FACET(locale, type) std::use_facet < type >(locale)
  ------------------
  138|  10.0k|					size_t start = 0;
  139|  10.0k|					std::basic_ostringstream<wchar_t> os;
  140|       |
  141|  74.8k|					for (; valueIter != values.end(); valueIter++)
  ------------------
  |  Branch (141:13): [True: 64.7k, False: 10.0k]
  ------------------
  142|  64.7k|					{
  143|  64.7k|						PUT_FACET(facet, os, &time, (char)wspec);
  ------------------
  |  |   53|  64.7k|	#define PUT_FACET(facet, os, time, spec) facet.put(os, os, os.fill(), time, spec)
  ------------------
  144|  64.7k|						Transcoder::decode(os.str().substr(start), *valueIter);
  145|  64.7k|						start = os.str().length();
  146|  64.7k|						(*inc)(time, aprtime);
  147|  64.7k|					}
  148|  10.0k|				}
  149|      0|				else
  150|      0|#endif
  151|      0|					if (HAS_FACET(*locale,  std::time_put<char>))
  ------------------
  |  |   50|      0|		#define HAS_FACET(locale, type) std::has_facet < type >(locale)
  |  |  ------------------
  |  |  |  Branch (50:35): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  152|      0|					{
  153|      0|						const std::time_put<char>& facet = USE_FACET(*locale, std::time_put<char> );
  ------------------
  |  |   51|      0|		#define USE_FACET(locale, type) std::use_facet < type >(locale)
  ------------------
  154|      0|						size_t start = 0;
  155|      0|						std::ostringstream os;
  156|       |
  157|      0|						for (; valueIter != values.end(); valueIter++)
  ------------------
  |  Branch (157:14): [True: 0, False: 0]
  ------------------
  158|      0|						{
  159|      0|							PUT_FACET(facet, os, &time, spec);
  ------------------
  |  |   53|      0|	#define PUT_FACET(facet, os, time, spec) facet.put(os, os, os.fill(), time, spec)
  ------------------
  160|      0|							Transcoder::decode(os.str().substr(start), *valueIter);
  161|      0|							start = os.str().length();
  162|      0|							(*inc)(time, aprtime);
  163|      0|						}
  164|      0|					}
  165|  10.0k|			}
  166|       |
  167|  10.0k|#endif
  168|  10.0k|			const size_t BUFSIZE = 256;
  169|  10.0k|			char buf[BUFSIZE];
  170|  10.0k|			memset(buf, 0, BUFSIZE);
  171|  10.0k|			apr_size_t retsize = 0;
  172|       |
  173|  10.0k|			for (; valueIter != values.end(); valueIter++)
  ------------------
  |  Branch (173:11): [True: 0, False: 10.0k]
  ------------------
  174|      0|			{
  175|      0|				apr_status_t stat = apr_strftime(buf, &retsize, BUFSIZE, aprspec, &aprtime);
  176|      0|				(*inc)(time, aprtime);
  177|       |
  178|      0|				if (stat == APR_SUCCESS)
  ------------------
  |  |  225|      0|#define APR_SUCCESS 0
  ------------------
  |  Branch (178:9): [True: 0, False: 0]
  ------------------
  179|      0|				{
  180|      0|					Transcoder::decode(std::string(buf, retsize), *valueIter);
  181|      0|				}
  182|      0|				else
  183|      0|				{
  184|      0|					valueIter->append(1, (logchar) 0x3F);
  185|      0|				}
  186|      0|			}
  187|  10.0k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl12PatternToken14incrementMonthER2tmR14apr_time_exp_t:
  100|  23.8k|		{
  101|  23.8k|			time.tm_mon++;
  102|  23.8k|			aprtime.tm_mon++;
  103|  23.8k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl18FullMonthNameTokenC2EiPKNSt3__16localeE:
  317|  1.12k|		FullMonthNameToken( int width, const std::locale* locale) : names( 12 )
  318|  1.12k|		{
  319|  1.12k|			renderFacet(locale, PatternToken::incrementMonth, 'B', 0x42, "%B", names);
  320|  1.12k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl15WeekInYearTokenC2Ei:
  336|  1.35k|		WeekInYearToken( int width1 ) : NumericToken( width1 )
  337|  1.35k|		{
  338|  1.35k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl16WeekInMonthTokenC2Ei:
  351|    426|		WeekInMonthToken( int width1 ) : NumericToken( width1 )
  352|    426|		{
  353|    426|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl14DayInYearTokenC2Ei:
  381|  1.46k|		DayInYearToken( int width1 ) : NumericToken( width1 )
  382|  1.46k|		{
  383|  1.46k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl15DayInMonthTokenC2Ei:
  366|  60.6k|		DayInMonthToken( int width1 ) : NumericToken( width1 )
  367|  60.6k|		{
  368|  60.6k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl21DayOfWeekInMonthTokenC2Ei:
  396|    416|		DayOfWeekInMonthToken( int width1 ) : NumericToken( width1 )
  397|    416|		{
  398|    416|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl23AbbreviatedDayNameTokenC2EiPKNSt3__16localeE:
  411|  4.03k|		AbbreviatedDayNameToken( int width, const std::locale* locale) : names( 7 )
  412|  4.03k|		{
  413|  4.03k|			renderFacet(locale, PatternToken::incrementDay, 'a', 0x61, "%a", names);
  414|  4.03k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl12PatternToken12incrementDayER2tmR14apr_time_exp_t:
  106|  34.6k|		{
  107|  34.6k|			time.tm_wday++;
  108|  34.6k|			aprtime.tm_wday++;
  109|  34.6k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl16FullDayNameTokenC2EiPKNSt3__16localeE:
  431|    904|		FullDayNameToken( int width, const std::locale* locale) : names( 7 )
  432|    904|		{
  433|    904|			renderFacet(locale, PatternToken::incrementDay, 'A', 0x41, "%A", names);
  434|    904|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl9AMPMTokenC2EiPKNSt3__16localeE:
  547|  3.15k|		AMPMToken( int width, const std::locale* locale) : names( 2 )
  548|  3.15k|		{
  549|  3.15k|			renderFacet(locale, PatternToken::incrementHalfDay, 'p', 0x70, "%p", names);
  550|  3.15k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl12PatternToken16incrementHalfDayER2tmR14apr_time_exp_t:
  112|  6.31k|		{
  113|  6.31k|			time.tm_hour += 12;
  114|  6.31k|			aprtime.tm_hour += 12;
  115|  6.31k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl17MilitaryHourTokenC2Eii:
  451|  57.6k|		MilitaryHourToken( int width1, int offset1 ) : NumericToken( width1 ), offset( offset1 )
  452|  57.6k|		{
  453|  57.6k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl9HourTokenC2Eii:
  469|  6.47k|		HourToken( int width1, int /* offset1 */ ) : NumericToken( width1 ), offset( 0 )
  470|  6.47k|		{
  471|  6.47k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl11MinuteTokenC2Ei:
  487|  57.0k|		MinuteToken( int width1 ) : NumericToken( width1 )
  488|  57.0k|		{
  489|  57.0k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl11SecondTokenC2Ei:
  502|  57.0k|		SecondToken( int width1 ) : NumericToken( width1 )
  503|  57.0k|		{
  504|  57.0k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl16MicrosecondTokenC2Ei:
  532|    351|		MicrosecondToken( int width1 ) : NumericToken( width1 )
  533|    351|		{
  534|    351|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl16MillisecondTokenC2Ei:
  517|  61.9k|		MillisecondToken( int width1 ) : NumericToken( width1 )
  518|  61.9k|		{
  519|  61.9k|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl20GeneralTimeZoneTokenC2Ei:
  567|    898|		{
  568|    898|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl20GeneralTimeZoneToken11setTimeZoneERKNSt3__110shared_ptrINS0_8TimeZoneEEE:
  576|    898|		{
  577|    898|			timeZone = zone;
  578|    898|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl19RFC822TimeZoneTokenC2Ei:
  590|    420|		{
  591|    420|		}
_ZN7log4cxx7helpers20SimpleDateFormatImpl12LiteralTokenC2Ewi:
  205|   372k|		LiteralToken( logchar ch1, int count1 ) : ch( ch1 ), count( count1 )
  206|   372k|		{
  207|   372k|		}
_ZN7log4cxx7helpers16SimpleDateFormat23SimpleDateFormatPrivateC2Ev:
  792|  63.9k|		timeZone(TimeZone::getDefault())
  793|  63.9k|	{}

_ZN7log4cxx7helpers18StrftimeDateFormatC2ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   41|  3.51k|	: m_priv(std::make_unique<StrftimeDateFormatPrivate>())
   42|  3.51k|{
   43|  3.51k|	LOG4CXX_NS::helpers::Transcoder::encode(fmt, m_priv->pattern);
   44|  3.51k|}
_ZN7log4cxx7helpers18StrftimeDateFormatD2Ev:
   47|  3.51k|{
   48|  3.51k|}
_ZN7log4cxx7helpers18StrftimeDateFormat11setTimeZoneERKNSt3__110shared_ptrINS0_8TimeZoneEEE:
   71|  1.28k|{
   72|  1.28k|	m_priv->timeZone = zone;
   73|  1.28k|}
_ZN7log4cxx7helpers18StrftimeDateFormat25StrftimeDateFormatPrivateC2Ev:
   29|  3.51k|		timeZone(TimeZone::getDefault())
   30|  3.51k|	{}

_ZN7log4cxx7helpers12StringHelper16equalsIgnoreCaseERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEPKwSC_:
   32|  32.6k|{
   33|  32.6k|	for (const auto& item : s1)
  ------------------
  |  Branch (33:24): [True: 36.2k, False: 1.00k]
  ------------------
   34|  36.2k|	{
   35|  36.2k|		if (0 == item || // OSS-Fuzz makes strings with embedded NUL characters
  ------------------
  |  Branch (35:7): [True: 533, False: 35.7k]
  ------------------
   36|  35.7k|			(item != *upper && item != *lower))
  ------------------
  |  Branch (36:5): [True: 34.7k, False: 970]
  |  Branch (36:23): [True: 31.1k, False: 3.64k]
  ------------------
   37|  31.6k|		{
   38|  31.6k|			return false;
   39|  31.6k|		}
   40|  4.61k|		++upper;
   41|  4.61k|		++lower;
   42|  4.61k|	}
   43|       |
   44|  1.00k|	return 0 == *upper;
   45|  32.6k|}
_ZN7log4cxx7helpers12StringHelper11toLowerCaseERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   69|    228|{
   70|       |	// Fold ASCII A-Z only. Passing a value not representable as unsigned char
   71|       |	// (or EOF) to std::tolower(int) is undefined behaviour; with signed char,
   72|       |	// any byte > 0x7F sign-extends to a negative int. The previous implementation
   73|       |	// also produced locale-dependent output for the same input, which is wrong
   74|       |	// for the callers (class names, color names, column names — all ASCII).
   75|    228|	LogString d;
   76|    228|	d.reserve(s.size());
   77|    228|	for (auto ch : s)
  ------------------
  |  Branch (77:15): [True: 3.79k, False: 228]
  ------------------
   78|  3.79k|	{
   79|  3.79k|		if (ch >= static_cast<logchar>('A') && ch <= static_cast<logchar>('Z'))
  ------------------
  |  Branch (79:7): [True: 3.79k, False: 0]
  |  Branch (79:42): [True: 666, False: 3.13k]
  ------------------
   80|    666|			d.push_back(static_cast<logchar>(ch + ('a' - 'A')));
   81|  3.13k|		else
   82|  3.13k|			d.push_back(ch);
   83|  3.79k|	}
   84|    228|	return d;
   85|    228|}
_ZN7log4cxx7helpers12StringHelper4trimERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   88|  3.86k|{
   89|  3.86k|	LogString::size_type pos = s.find_first_not_of(' ');
   90|       |
   91|  3.86k|	if (pos == std::string::npos)
  ------------------
  |  Branch (91:6): [True: 205, False: 3.65k]
  ------------------
   92|    205|	{
   93|    205|		return LogString();
   94|    205|	}
   95|       |
   96|  3.65k|	LogString::size_type n = s.find_last_not_of(' ') - pos + 1;
   97|  3.65k|	return s.substr(pos, n);
   98|  3.86k|}
_ZN7log4cxx7helpers12StringHelper5toIntERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  122|  17.3k|{
  123|       |#if LOG4CXX_LOGCHAR_IS_UNICHAR
  124|       |	std::string as;
  125|       |	Transcoder::encode(s, as);
  126|       |	return std::stoi(as);
  127|       |#else
  128|  17.3k|	return std::stoi(s);
  129|  17.3k|#endif
  130|  17.3k|}
_ZN7log4cxx7helpers12StringHelper8toStringEiRNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  144|  6.39k|{
  145|  6.39k|#if LOG4CXX_LOGCHAR_IS_WCHAR
  146|  6.39k|	dst.append(std::to_wstring(n));
  147|       |#elif LOG4CXX_LOGCHAR_IS_UTF8
  148|       |	dst.append(std::to_string(n));
  149|       |#else
  150|       |	Transcoder::decode(std::to_string(n), dst);
  151|       |#endif
  152|  6.39k|}

_ZN7log4cxx7helpers6System11getPropertyERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   45|      2|{
   46|      2|	if (lkey.empty())
  ------------------
  |  Branch (46:6): [True: 0, False: 2]
  ------------------
   47|      0|	{
   48|      0|		throw IllegalArgumentException(LOG4CXX_STR("key is empty"));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
   49|      0|	}
   50|       |
   51|      2|	LogString rv;
   52|       |
   53|      2|	if (lkey == LOG4CXX_STR("java.io.tmpdir"))
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (53:6): [True: 0, False: 2]
  ------------------
   54|      0|	{
   55|      0|		Pool p;
   56|      0|		const char* dir = NULL;
   57|      0|		apr_status_t stat = apr_temp_dir_get(&dir, p.getAPRPool());
   58|       |
   59|      0|		if (stat == APR_SUCCESS)
  ------------------
  |  |  225|      0|#define APR_SUCCESS 0
  ------------------
  |  Branch (59:7): [True: 0, False: 0]
  ------------------
   60|      0|		{
   61|      0|			Transcoder::decode(dir, rv);
   62|      0|		}
   63|       |
   64|      0|		return rv;
   65|      0|	}
   66|       |
   67|      2|	if (lkey == LOG4CXX_STR("user.dir"))
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (67:6): [True: 0, False: 2]
  ------------------
   68|      0|	{
   69|      0|		Pool p;
   70|      0|		char* dir = NULL;
   71|      0|		apr_status_t stat = apr_filepath_get(&dir, APR_FILEPATH_NATIVE,
  ------------------
  |  |  305|      0|#define APR_FILEPATH_NATIVE         0x10
  ------------------
   72|      0|				p.getAPRPool());
   73|       |
   74|      0|		if (stat == APR_SUCCESS)
  ------------------
  |  |  225|      0|#define APR_SUCCESS 0
  ------------------
  |  Branch (74:7): [True: 0, False: 0]
  ------------------
   75|      0|		{
   76|      0|			Transcoder::decode(dir, rv);
   77|      0|		}
   78|       |
   79|      0|		return rv;
   80|      0|	}
   81|       |
   82|      2|#if APR_HAS_USER
   83|       |
   84|      2|	if (lkey == LOG4CXX_STR("user.home") || lkey == LOG4CXX_STR("user.name"))
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
              	if (lkey == LOG4CXX_STR("user.home") || lkey == LOG4CXX_STR("user.name"))
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (84:6): [True: 0, False: 2]
  |  Branch (84:42): [True: 0, False: 2]
  ------------------
   85|      0|	{
   86|      0|		Pool pool;
   87|      0|		apr_uid_t userid;
   88|      0|		apr_gid_t groupid;
   89|      0|		apr_pool_t* p = pool.getAPRPool();
   90|      0|		apr_status_t stat = apr_uid_current(&userid, &groupid, p);
   91|       |
   92|      0|		if (stat == APR_SUCCESS)
  ------------------
  |  |  225|      0|#define APR_SUCCESS 0
  ------------------
  |  Branch (92:7): [True: 0, False: 0]
  ------------------
   93|      0|		{
   94|      0|			char* username = NULL;
   95|      0|			stat = apr_uid_name_get(&username, userid, p);
   96|       |
   97|      0|			if (stat == APR_SUCCESS)
  ------------------
  |  |  225|      0|#define APR_SUCCESS 0
  ------------------
  |  Branch (97:8): [True: 0, False: 0]
  ------------------
   98|      0|			{
   99|      0|				if (lkey == LOG4CXX_STR("user.name"))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (99:9): [True: 0, False: 0]
  ------------------
  100|      0|				{
  101|      0|					Transcoder::decode(username, rv);
  102|      0|				}
  103|      0|				else
  104|      0|				{
  105|      0|					char* dirname = NULL;
  106|      0|					stat = apr_uid_homepath_get(&dirname, username, p);
  107|       |
  108|      0|					if (stat == APR_SUCCESS)
  ------------------
  |  |  225|      0|#define APR_SUCCESS 0
  ------------------
  |  Branch (108:10): [True: 0, False: 0]
  ------------------
  109|      0|					{
  110|      0|						Transcoder::decode(dirname, rv);
  111|      0|					}
  112|      0|				}
  113|      0|			}
  114|      0|		}
  115|       |
  116|      0|		return rv;
  117|      0|	}
  118|       |
  119|      2|#endif
  120|       |
  121|      2|	LOG4CXX_ENCODE_CHAR(key, lkey);
  ------------------
  |  |  238|      2|	std::string var;                      \
  |  |  239|      2|	LOG4CXX_NS::helpers::Transcoder::encode(src, var)
  ------------------
  122|      2|	Pool p;
  123|      2|	char* value = NULL;
  124|      2|	apr_status_t stat = apr_env_get(&value, key.c_str(),
  125|      2|			p.getAPRPool());
  126|       |
  127|      2|	if (stat == APR_SUCCESS)
  ------------------
  |  |  225|      2|#define APR_SUCCESS 0
  ------------------
  |  Branch (127:6): [True: 0, False: 2]
  ------------------
  128|      0|	{
  129|      0|		Transcoder::decode((const char*) value, rv);
  130|      0|	}
  131|       |
  132|      2|	return rv;
  133|      2|}

_ZN7log4cxx7helpers15SystemErrWriterC2Ev:
   28|  30.4k|{
   29|  30.4k|}
_ZN7log4cxx7helpers15SystemErrWriterD2Ev:
   32|  30.4k|{
   33|  30.4k|}
_ZN7log4cxx7helpers15SystemErrWriter5writeERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   51|  30.4k|{
   52|       |	helpers::writeToConsole(str, stderr);
   53|  30.4k|}

_ZN7log4cxx7pattern22ThreadPatternConverterC1Ev:
   31|  1.15k|	LoggingEventPatternConverter(LOG4CXX_STR("Thread"),
  ------------------
  |  |   43|  1.15k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   32|  1.15k|		LOG4CXX_STR("Thread"))
  ------------------
  |  |   43|  1.15k|	#define LOG4CXX_STR(str) L ## str
  ------------------
   33|  1.15k|{
   34|  1.15k|}
_ZN7log4cxx7pattern22ThreadPatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   38|  1.15k|{
   39|  1.15k|	return std::make_shared<ThreadPatternConverter>();
   40|  1.15k|}

_ZN7log4cxx7helpers18ThreadSpecificData25ThreadSpecificDataPrivate15setThreadIdNameEv:
  111|      1|{
  112|      1|#if LOG4CXX_HAS_PTHREAD_SELF && !(defined(_WIN32) && defined(_LIBCPP_VERSION))
  113|       |	// pthread_t encoded in HEX takes needs as many characters
  114|       |	// as two times the size of the type, plus an additional null byte.
  115|      1|	auto threadId = pthread_self();
  116|      1|	char result[sizeof(pthread_t) * 3 + 10];
  117|      1|	apr_snprintf(result, sizeof(result), LOG4CXX_APR_THREAD_FMTSPEC, (void*) &threadId);
  118|      1|	this->pNamePair->idString = Transcoder::decode(result);
  119|       |#elif defined(_WIN32)
  120|       |	char result[20];
  121|       |	apr_snprintf(result, sizeof(result), LOG4CXX_WIN32_THREAD_FMTSPEC, GetCurrentThreadId());
  122|       |	this->pNamePair->idString = Transcoder::decode(result);
  123|       |#else
  124|       |	std::stringstream ss;
  125|       |	ss << std::hex << "0x" << std::this_thread::get_id();
  126|       |	this->pNamePair->idString = Transcoder::decode(ss.str().c_str());
  127|       |#endif
  128|      1|}
_ZN7log4cxx7helpers18ThreadSpecificData25ThreadSpecificDataPrivate17setThreadUserNameEv:
  136|      1|{
  137|      1|#if LOG4CXX_HAS_PTHREAD_GETNAME && !(defined(_WIN32) && defined(_LIBCPP_VERSION))
  138|      1|	char result[16];
  139|      1|	pthread_t current_thread = pthread_self();
  140|      1|	if (pthread_getname_np(current_thread, result, sizeof(result)) < 0 || 0 == result[0])
  ------------------
  |  Branch (140:6): [True: 0, False: 1]
  |  Branch (140:72): [True: 0, False: 1]
  ------------------
  141|      0|		this->pNamePair->threadName = this->pNamePair->idString;
  142|      1|	else
  143|      1|		this->pNamePair->threadName = Transcoder::decode(result);
  144|       |#elif defined(_WIN32)
  145|       |	typedef HRESULT (WINAPI *TGetThreadDescription)(HANDLE, PWSTR*);
  146|       |	static struct initialiser
  147|       |	{
  148|       |		HMODULE hKernelBase;
  149|       |		TGetThreadDescription GetThreadDescription;
  150|       |		initialiser()
  151|       |			: hKernelBase(GetModuleHandleA("KernelBase.dll"))
  152|       |			, GetThreadDescription(nullptr)
  153|       |		{
  154|       |			if (hKernelBase)
  155|       |				GetThreadDescription = reinterpret_cast<TGetThreadDescription>(GetProcAddress(hKernelBase, "GetThreadDescription"));
  156|       |		}
  157|       |	} win32func;
  158|       |	if (win32func.GetThreadDescription)
  159|       |	{
  160|       |		PWSTR result = 0;
  161|       |		HRESULT hr = win32func.GetThreadDescription(GetCurrentThread(), &result);
  162|       |		if (SUCCEEDED(hr) && result)
  163|       |		{
  164|       |			std::wstring wresult = result;
  165|       |			LOG4CXX_DECODE_WCHAR(decoded, wresult);
  166|       |			LocalFree(result);
  167|       |			this->pNamePair->threadName = decoded;
  168|       |		}
  169|       |	}
  170|       |	if (this->pNamePair->threadName.empty())
  171|       |		this->pNamePair->threadName = this->pNamePair->idString;
  172|       |#else
  173|       |	this->pNamePair->threadName = this->pNamePair->idString;
  174|       |#endif
  175|      1|}
_ZN7log4cxx7helpers18ThreadSpecificDataC2Ev:
  178|      1|	: m_priv(std::make_unique<ThreadSpecificDataPrivate>())
  179|      1|{
  180|      1|}
_ZN7log4cxx7helpers18ThreadSpecificDataD2Ev:
  188|      1|{
  189|      1|	m_priv.reset();
  190|      1|}
_ZN7log4cxx7helpers18ThreadSpecificData8getNamesEv:
  203|  4.00k|{
  204|  4.00k|	auto p = getCurrentData();
  205|  4.00k|	return p ? p->m_priv->pNamePair : std::make_shared<NamePair>();
  ------------------
  |  Branch (205:9): [True: 4.00k, False: 0]
  ------------------
  206|  4.00k|}
_ZN7log4cxx7helpers18ThreadSpecificData14getCurrentDataEv:
  249|  4.00k|{
  250|  4.00k|#if LOG4CXX_HAS_THREAD_LOCAL
  251|  4.00k|	thread_local ThreadSpecificData data;
  252|  4.00k|	return data.m_priv ? &data : NULL;
  ------------------
  |  Branch (252:9): [True: 4.00k, False: 0]
  ------------------
  253|       |#elif APR_HAS_THREADS
  254|       |	void* pData = NULL;
  255|       |	if (APR_SUCCESS == apr_threadkey_private_get(&pData, APRInitializer::getTlsKey())
  256|       |		&& !pData)
  257|       |	{
  258|       |		pData = new ThreadSpecificData();
  259|       |		if (APR_SUCCESS != apr_threadkey_private_set(pData, APRInitializer::getTlsKey()))
  260|       |		{
  261|       |			delete (ThreadSpecificData*)pData;
  262|       |			pData = NULL;
  263|       |		}
  264|       |	}
  265|       |	if (pData)
  266|       |		return (ThreadSpecificData*) pData;
  267|       |#endif
  268|       |
  269|       |#if !LOG4CXX_HAS_THREAD_LOCAL
  270|       |	// Fallback implementation that is not expected to be used
  271|       |	using TaggedData = std::pair<std::thread::id, ThreadSpecificData>;
  272|       |	static std::list<TaggedData> thread_id_map;
  273|       |	static std::mutex mutex;
  274|       |	std::lock_guard<std::mutex> lock(mutex);
  275|       |	auto threadId = std::this_thread::get_id();
  276|       |	auto pThreadId = std::find_if(thread_id_map.begin(), thread_id_map.end()
  277|       |		, [threadId](const TaggedData& item) { return threadId == item.first; });
  278|       |	if (thread_id_map.end() == pThreadId)
  279|       |		pThreadId = thread_id_map.emplace(thread_id_map.begin(), threadId, ThreadSpecificData());
  280|       |	return &pThreadId->second;
  281|       |#endif
  282|  4.00k|}
_ZN7log4cxx7helpers18ThreadSpecificData25ThreadSpecificDataPrivateC2Ev:
   42|      1|		: pNamePair(std::make_shared<NamePair>())
   43|      1|	{
   44|      1|		setThreadIdName();
   45|      1|		setThreadUserName();
   46|      1|	}

_ZN7log4cxx7pattern30ThreadUsernamePatternConverterC1Ev:
   31|    543|	LoggingEventPatternConverter(LOG4CXX_STR("Thread Name"),
  ------------------
  |  |   43|    543|	#define LOG4CXX_STR(str) L ## str
  ------------------
   32|    543|		LOG4CXX_STR("Thread Name"))
  ------------------
  |  |   43|    543|	#define LOG4CXX_STR(str) L ## str
  ------------------
   33|    543|{
   34|    543|}
_ZN7log4cxx7pattern30ThreadUsernamePatternConverter11newInstanceERKNSt3__16vectorINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS7_IS9_EEEE:
   38|    543|{
   39|    543|	return std::make_shared<ThreadUsernamePatternConverter>();
   40|    543|}

_ZN7log4cxx7helpers8TimeZoneC2ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  184|  3.19k|TimeZone::TimeZone( const LogString& id1 ) : id( id1 )
  185|  3.19k|{
  186|  3.19k|}
_ZN7log4cxx7helpers8TimeZoneD2Ev:
  189|  3.19k|{
  190|  3.19k|}
_ZN7log4cxx7helpers8TimeZone10getDefaultEv:
  193|  70.6k|{
  194|  70.6k|	return LOG4CXX_NS::helpers::TimeZoneImpl::LocalTimeZone::getInstance();
  195|  70.6k|}
_ZN7log4cxx7helpers8TimeZone6getGMTEv:
  198|  2.27k|{
  199|  2.27k|	return LOG4CXX_NS::helpers::TimeZoneImpl::GMTTimeZone::getInstance();
  200|  2.27k|}
_ZN7log4cxx7helpers8TimeZone11getTimeZoneERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  203|  13.4k|{
  204|  13.4k|	const logchar gmt[] = { 0x47, 0x4D, 0x54, 0 };
  205|       |
  206|  13.4k|	if ( id == gmt )
  ------------------
  |  Branch (206:7): [True: 229, False: 13.2k]
  ------------------
  207|    229|	{
  208|    229|		return LOG4CXX_NS::helpers::TimeZoneImpl::GMTTimeZone::getInstance();
  209|    229|	}
  210|       |
  211|  13.2k|	if ( id.length() >= 5 && id.substr( 0, 3 ) == gmt )
  ------------------
  |  Branch (211:7): [True: 10.7k, False: 2.47k]
  |  Branch (211:7): [True: 10.0k, False: 3.20k]
  |  Branch (211:27): [True: 10.0k, False: 733]
  ------------------
  212|  10.0k|	{
  213|  10.0k|		int hours = 0;
  214|  10.0k|		int minutes = 0;
  215|  10.0k|		int sign = 1;
  216|       |
  217|  10.0k|		if (id[3] == 0x2D /* '-' */)
  ------------------
  |  Branch (217:7): [True: 3.09k, False: 6.93k]
  ------------------
  218|  3.09k|		{
  219|  3.09k|			sign = -1;
  220|  3.09k|		}
  221|       |
  222|  10.0k|		LogString off( id.substr( 4 ) );
  223|       |
  224|  10.0k|		if ( id.length() >= 7 )
  ------------------
  |  Branch (224:8): [True: 7.02k, False: 3.00k]
  ------------------
  225|  7.02k|		{
  226|  7.02k|			size_t colonPos = off.find( 0x3A /* ':' */);
  227|       |
  228|  7.02k|			if ( colonPos == LogString::npos )
  ------------------
  |  Branch (228:9): [True: 3.56k, False: 3.46k]
  ------------------
  229|  3.56k|			{
  230|  3.56k|				minutes = StringHelper::toInt(off.substr(off.length() - 2));
  231|  3.56k|				hours = StringHelper::toInt(off.substr(0, off.length() - 2));
  232|  3.56k|			}
  233|  3.46k|			else
  234|  3.46k|			{
  235|  3.46k|				minutes = StringHelper::toInt(off.substr(colonPos + 1));
  236|  3.46k|				hours = StringHelper::toInt(off.substr(0, colonPos));
  237|  3.46k|			}
  238|  7.02k|		}
  239|  3.00k|		else
  240|  3.00k|		{
  241|  3.00k|			hours = StringHelper::toInt(off);
  242|  3.00k|		}
  243|       |
  244|       |		// Make sure that our offset can't be crazy
  245|  10.0k|		if( hours < -12 || 14 < hours)
  ------------------
  |  Branch (245:7): [True: 5.65k, False: 4.37k]
  |  Branch (245:22): [True: 520, False: 3.85k]
  ------------------
  246|    834|		{
  247|    834|			throw RuntimeException(LOG4CXX_STR("Hour offset must be in (-12..14)"));
  ------------------
  |  |   43|    834|	#define LOG4CXX_STR(str) L ## str
  ------------------
  248|    834|		}
  249|  9.19k|		if (minutes < 0 || 60 < minutes)
  ------------------
  |  Branch (249:7): [True: 5.58k, False: 3.60k]
  |  Branch (249:22): [True: 414, False: 3.19k]
  ------------------
  250|    659|		{
  251|    659|			throw RuntimeException(LOG4CXX_STR("Minute offset must be in (0..60)"));
  ------------------
  |  |   43|    659|	#define LOG4CXX_STR(str) L ## str
  ------------------
  252|    659|		}
  253|       |
  254|  8.53k|		LogString s(gmt);
  255|  8.53k|		LogString hh;
  256|  8.53k|		StringHelper::toString(hours, hh);
  257|       |
  258|  8.53k|		if (sign > 0)
  ------------------
  |  Branch (258:7): [True: 1.68k, False: 6.85k]
  ------------------
  259|  1.68k|		{
  260|  1.68k|			s.append(1, (logchar) 0x2B /* '+' */);
  261|  1.68k|		}
  262|  6.85k|		else
  263|  6.85k|		{
  264|  6.85k|			s.append(1, (logchar) 0x2D /* '-' */);
  265|  6.85k|		}
  266|       |
  267|  8.53k|		if (hh.length() == 1)
  ------------------
  |  Branch (267:7): [True: 2.46k, False: 6.07k]
  ------------------
  268|  2.46k|		{
  269|  2.46k|			s.append(1, (logchar) 0x30 /* '0' */);
  270|  2.46k|		}
  271|       |
  272|  8.53k|		s.append(hh);
  273|  8.53k|		s.append(1, (logchar) 0x3A /*' :' */);
  274|  8.53k|		LogString mm;
  275|  8.53k|		StringHelper::toString(minutes, mm);
  276|       |
  277|  8.53k|		if (mm.length() == 1)
  ------------------
  |  Branch (277:7): [True: 2.42k, False: 6.11k]
  ------------------
  278|  2.42k|		{
  279|  2.42k|			s.append(1, (logchar) 0x30 /* '0' */);
  280|  2.42k|		}
  281|       |
  282|  8.53k|		s.append(mm);
  283|  8.53k|		apr_int32_t offset = sign * (hours * 3600 + minutes * 60);
  284|  8.53k|		return std::make_shared<helpers::TimeZoneImpl::FixedTimeZone>( s, offset );
  285|  9.19k|	}
  286|       |
  287|  3.20k|	const TimeZonePtr& ltz = getDefault();
  288|       |
  289|  3.20k|	if ( ltz->getID() == id )
  ------------------
  |  Branch (289:7): [True: 935, False: 2.27k]
  ------------------
  290|    935|	{
  291|    935|		return ltz;
  292|    935|	}
  293|       |
  294|  2.27k|	return getGMT();
  295|  3.20k|}
_ZN7log4cxx7helpers12TimeZoneImpl13LocalTimeZone11getInstanceEv:
   88|  70.6k|		{
   89|  70.6k|			static WideLife<TimeZonePtr> tz = std::make_shared<LocalTimeZone>();
   90|  70.6k|			return tz;
   91|  70.6k|		}
_ZN7log4cxx7helpers12TimeZoneImpl13LocalTimeZoneC2Ev:
  115|      1|		LocalTimeZone() : TimeZone( getTimeZoneName() )
  116|      1|		{
  117|      1|		}
_ZN7log4cxx7helpers12TimeZoneImpl13LocalTimeZone15getTimeZoneNameEv:
  121|      1|		{
  122|      1|			const int MAX_TZ_LENGTH = 255;
  123|      1|			char tzName[MAX_TZ_LENGTH];
  124|      1|			apr_size_t tzLength;
  125|      1|			apr_time_exp_t tm;
  126|      1|			apr_time_exp_lt(&tm, 0);
  127|      1|			apr_strftime(tzName, &tzLength, MAX_TZ_LENGTH, "%Z", &tm);
  128|       |
  129|      1|			if (tzLength == 0)
  ------------------
  |  Branch (129:8): [True: 0, False: 1]
  ------------------
  130|      0|			{
  131|      0|				apr_strftime(tzName, &tzLength, MAX_TZ_LENGTH, "%z", &tm);
  132|      0|			}
  133|       |
  134|      1|			tzName[tzLength] = 0;
  135|      1|			LogString retval;
  136|      1|			LOG4CXX_NS::helpers::Transcoder::decode(tzName, retval);
  137|      1|			return retval;
  138|      1|		}
_ZN7log4cxx7helpers12TimeZoneImpl11GMTTimeZone11getInstanceEv:
   49|  2.50k|		{
   50|  2.50k|			static WideLife<TimeZonePtr> tz = std::make_shared<GMTTimeZone>();
   51|  2.50k|			return tz;
   52|  2.50k|		}
_ZN7log4cxx7helpers12TimeZoneImpl11GMTTimeZoneC2Ev:
   75|      1|		GMTTimeZone() : TimeZone( LOG4CXX_STR("GMT") )
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   76|      1|		{
   77|      1|		}
_ZN7log4cxx7helpers12TimeZoneImpl13FixedTimeZoneC2ERKNSt3__112basic_stringIwNS3_11char_traitsIwEENS3_9allocatorIwEEEEi:
  148|  3.19k|		FixedTimeZone( const LogString& name, apr_int32_t offset1 ) : TimeZone( name ), offset( offset1 )
  149|  3.19k|		{
  150|  3.19k|		}

_ZN7log4cxx7helpers10Transcoder10encodeUTF8EjRNS0_10ByteBufferE:
  102|  64.3k|{
  103|  64.3k|	size_t bytes = encodeUTF8(sv, dst.current());
  104|  64.3k|	dst.increment_position(bytes);
  105|  64.3k|}
_ZN7log4cxx7helpers10Transcoder10encodeUTF8EjPc:
  109|  64.3k|{
  110|  64.3k|	if (ch < 0x80)
  ------------------
  |  Branch (110:6): [True: 61.5k, False: 2.83k]
  ------------------
  111|  61.5k|	{
  112|  61.5k|		dst[0] = (char) ch;
  113|  61.5k|		return 1;
  114|  61.5k|	}
  115|  2.83k|	else if (ch < 0x800)
  ------------------
  |  Branch (115:11): [True: 2.16k, False: 663]
  ------------------
  116|  2.16k|	{
  117|  2.16k|		dst[0] = (char) (0xC0 + (ch >> 6));
  118|  2.16k|		dst[1] = (char) (0x80 + (ch & 0x3F));
  119|  2.16k|		return 2;
  120|  2.16k|	}
  121|    663|	else if (ch < 0x10000)
  ------------------
  |  Branch (121:11): [True: 351, False: 312]
  ------------------
  122|    351|	{
  123|    351|		dst[0] = (char) (0xE0 + (ch >> 12));
  124|    351|		dst[1] = (char) (0x80 + ((ch >> 6) & 0x3F));
  125|    351|		dst[2] = (char) (0x80 + (ch & 0x3F));
  126|    351|		return 3;
  127|    351|	}
  128|    312|	else if (ch <= 0x10FFFF)
  ------------------
  |  Branch (128:11): [True: 312, False: 0]
  ------------------
  129|    312|	{
  130|    312|		dst[0] = (char) (0xF0 + (ch >> 18));
  131|    312|		dst[1] = (char) (0x80 + ((ch >> 12) & 0x3F));
  132|    312|		dst[2] = (char) (0x80 + ((ch >> 6) & 0x3F));
  133|    312|		dst[3] = (char) (0x80 + (ch & 0x3F));
  134|    312|		return 4;
  135|    312|	}
  136|      0|	else
  137|      0|	{
  138|       |		//
  139|       |		//  output UTF-8 encoding of 0xFFFF
  140|       |		//
  141|      0|		dst[0] = (char) 0xEF;
  142|      0|		dst[1] = (char) 0xBF;
  143|      0|		dst[2] = (char) 0xBF;
  144|      0|		return 3;
  145|      0|	}
  146|  64.3k|}
_ZN7log4cxx7helpers10Transcoder6decodeERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERNS2_11__wrap_iterIPKcEE:
  210|  1.85M|{
  211|  1.85M|	std::string::const_iterator start(iter);
  212|  1.85M|	unsigned char ch1 = *(iter++);
  213|       |
  214|  1.85M|	if (ch1 <= 0x7F)
  ------------------
  |  Branch (214:6): [True: 1.59M, False: 255k]
  ------------------
  215|  1.59M|	{
  216|  1.59M|		return ch1;
  217|  1.59M|	}
  218|       |
  219|       |	//
  220|       |	//   should not have continuation character here
  221|       |	//
  222|   255k|	if ((ch1 & 0xC0) != 0x80 && iter != src.end())
  ------------------
  |  Branch (222:6): [True: 191k, False: 64.1k]
  |  Branch (222:6): [True: 191k, False: 64.3k]
  |  Branch (222:30): [True: 191k, False: 139]
  ------------------
  223|   191k|	{
  224|   191k|		unsigned char ch2 = *(iter++);
  225|       |
  226|       |		//
  227|       |		//   should be continuation
  228|   191k|		if ((ch2 & 0xC0) != 0x80)
  ------------------
  |  Branch (228:7): [True: 178k, False: 12.5k]
  ------------------
  229|   178k|		{
  230|   178k|			iter = start;
  231|   178k|			return 0xFFFF;
  232|   178k|		}
  233|       |
  234|  12.5k|		if ((ch1 & 0xE0) == 0xC0)
  ------------------
  |  Branch (234:7): [True: 5.60k, False: 6.96k]
  ------------------
  235|  5.60k|		{
  236|  5.60k|			if ((ch2 & 0xC0) == 0x80)
  ------------------
  |  Branch (236:8): [True: 5.60k, False: 0]
  ------------------
  237|  5.60k|			{
  238|  5.60k|				unsigned int rv = ((ch1 & 0x1F) << 6) + (ch2 & 0x3F);
  239|       |
  240|  5.60k|				if (rv >= 0x80)
  ------------------
  |  Branch (240:9): [True: 4.01k, False: 1.59k]
  ------------------
  241|  4.01k|				{
  242|  4.01k|					return rv;
  243|  4.01k|				}
  244|  5.60k|			}
  245|       |
  246|  1.59k|			iter = start;
  247|  1.59k|			return 0xFFFF;
  248|  5.60k|		}
  249|       |
  250|  6.96k|		if (iter != src.end())
  ------------------
  |  Branch (250:7): [True: 6.92k, False: 36]
  ------------------
  251|  6.92k|		{
  252|  6.92k|			unsigned char ch3 = *(iter++);
  253|       |
  254|       |			//
  255|       |			//   should be continuation
  256|       |			//
  257|  6.92k|			if ((ch3 & 0xC0) != 0x80)
  ------------------
  |  Branch (257:8): [True: 1.85k, False: 5.07k]
  ------------------
  258|  1.85k|			{
  259|  1.85k|				iter = start;
  260|  1.85k|				return 0xFFFF;
  261|  1.85k|			}
  262|       |
  263|  5.07k|			if ((ch1 & 0xF0) == 0xE0)
  ------------------
  |  Branch (263:8): [True: 1.66k, False: 3.40k]
  ------------------
  264|  1.66k|			{
  265|  1.66k|				unsigned rv = ((ch1 & 0x0F) << 12)
  266|  1.66k|					+ ((ch2 & 0x3F) << 6)
  267|  1.66k|					+ (ch3 & 0x3F);
  268|       |
  269|       |				// RFC 3629 §3 prohibits UTF-8 encodings of the UTF-16 surrogate
  270|       |				// halves (U+D800..U+DFFF); accepting them lets malformed Unicode
  271|       |				// cross the decode boundary into LogString and downstream output.
  272|  1.66k|				if (rv < 0x800 || (0xD800 <= rv && rv <= 0xDFFF))
  ------------------
  |  Branch (272:9): [True: 298, False: 1.36k]
  |  Branch (272:24): [True: 689, False: 679]
  |  Branch (272:40): [True: 247, False: 442]
  ------------------
  273|    545|				{
  274|    545|					iter = start;
  275|    545|					return 0xFFFF;
  276|    545|				}
  277|       |
  278|  1.12k|				return rv;
  279|  1.66k|			}
  280|       |
  281|  3.40k|			if (iter != src.end())
  ------------------
  |  Branch (281:8): [True: 3.37k, False: 35]
  ------------------
  282|  3.37k|			{
  283|  3.37k|				unsigned char ch4 = *(iter++);
  284|       |
  285|  3.37k|				if ((ch4 & 0xC0) != 0x80)
  ------------------
  |  Branch (285:9): [True: 1.23k, False: 2.13k]
  ------------------
  286|  1.23k|				{
  287|  1.23k|					iter = start;
  288|  1.23k|					return 0xFFFF;
  289|  1.23k|				}
  290|       |
  291|  2.13k|				unsigned int rv = ((ch1 & 0x07) << 18)
  292|  2.13k|					+ ((ch2 & 0x3F) << 12)
  293|  2.13k|					+ ((ch3 & 0x3F) << 6)
  294|  2.13k|					+ (ch4 & 0x3F);
  295|       |
  296|       |				// RFC 3629 §3 caps UTF-8 at U+10FFFF; lead bytes F5..F7 (and
  297|       |				// F4 with an over-high trailer) produce rv > 0x10FFFF, which
  298|       |				// is not a Unicode code point. Without this bound, encodeUTF16
  299|       |				// later silently aliases the bogus value to a valid in-range
  300|       |				// code point — a substitution-collision filter-bypass primitive.
  301|  2.13k|				if (rv > 0xFFFF && rv <= 0x10FFFF)
  ------------------
  |  Branch (301:9): [True: 1.50k, False: 627]
  |  Branch (301:24): [True: 1.12k, False: 383]
  ------------------
  302|  1.12k|				{
  303|  1.12k|					return rv;
  304|  1.12k|				}
  305|       |
  306|  2.13k|			}
  307|  3.40k|		}
  308|  6.96k|	}
  309|       |
  310|  65.4k|	iter = start;
  311|  65.4k|	return 0xFFFF;
  312|   255k|}
_ZN7log4cxx7helpers10Transcoder6decodeERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERNS3_IwNS4_IwEENS6_IwEEEE:
  324|  19.0k|{
  325|       |#if LOG4CXX_CHARSET_UTF8 && LOG4CXX_LOGCHAR_IS_UTF8
  326|       |	dst.append(src);
  327|       |#else
  328|  19.0k|	static CharsetDecoderPtr decoder(CharsetDecoder::getDefaultDecoder());
  329|  19.0k|	dst.reserve(dst.size() + src.size());
  330|  19.0k|	std::string::const_iterator iter = src.begin();
  331|  19.0k|#if !LOG4CXX_CHARSET_EBCDIC
  332|       |
  333|  19.0k|	for (;
  334|   972k|		iter != src.end() && ((unsigned char) *iter) < 0x80;
  ------------------
  |  Branch (334:3): [True: 955k, False: 16.8k]
  |  Branch (334:3): [True: 953k, False: 19.0k]
  |  Branch (334:24): [True: 953k, False: 2.18k]
  ------------------
  335|   953k|		iter++)
  336|   953k|	{
  337|   953k|		dst.append(1, *iter);
  338|   953k|	}
  339|       |
  340|  19.0k|#endif
  341|       |
  342|  19.0k|	if (iter != src.end())
  ------------------
  |  Branch (342:6): [True: 2.18k, False: 16.8k]
  ------------------
  343|  2.18k|	{
  344|  2.18k|		size_t offset = iter - src.begin();
  345|  2.18k|		ByteBuffer buf(const_cast<char*>(src.data() + offset), src.size() - offset);
  346|       |
  347|   253k|		while (buf.remaining() > 0)
  ------------------
  |  Branch (347:10): [True: 251k, False: 2.18k]
  ------------------
  348|   251k|		{
  349|   251k|			log4cxx_status_t stat = decoder->decode(buf, dst);
  350|       |
  351|   251k|			if (CharsetDecoder::isError(stat))
  ------------------
  |  Branch (351:8): [True: 249k, False: 1.80k]
  ------------------
  352|   249k|			{
  353|   249k|				dst.append(1, LOSSCHAR);
  354|   249k|				buf.increment_position(1);
  355|   249k|			}
  356|   251k|		}
  357|       |
  358|  2.18k|		decoder->decode(buf, dst);
  359|  2.18k|	}
  360|       |
  361|  19.0k|#endif
  362|  19.0k|}
_ZN7log4cxx7helpers10Transcoder6encodeERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERNS3_IcNS4_IcEENS6_IcEEEE:
  379|  35.4k|{
  380|       |#if LOG4CXX_CHARSET_UTF8 && LOG4CXX_LOGCHAR_IS_UTF8
  381|       |	dst.append(src);
  382|       |#else
  383|  35.4k|	static CharsetEncoderPtr encoder(CharsetEncoder::getDefaultEncoder());
  384|  35.4k|	dst.reserve(dst.size() + src.size());
  385|  35.4k|	LogString::const_iterator iter = src.begin();
  386|  35.4k|#if !LOG4CXX_CHARSET_EBCDIC
  387|       |
  388|  35.4k|	for (;
  389|  2.16M|		iter != src.end() && ((unsigned int) *iter) < 0x80;
  ------------------
  |  Branch (389:3): [True: 2.13M, False: 33.4k]
  |  Branch (389:3): [True: 2.13M, False: 35.4k]
  |  Branch (389:24): [True: 2.13M, False: 1.98k]
  ------------------
  390|  2.13M|		iter++)
  391|  2.13M|	{
  392|  2.13M|		dst.append(1, static_cast<char>(*iter));
  393|  2.13M|	}
  394|       |
  395|  35.4k|#endif
  396|       |
  397|  35.4k|	if (iter != src.end())
  ------------------
  |  Branch (397:6): [True: 1.98k, False: 33.4k]
  ------------------
  398|  1.98k|	{
  399|  1.98k|		char buf[BUFSIZE];
  400|  1.98k|		ByteBuffer out(buf, BUFSIZE);
  401|       |
  402|  4.18k|		while (iter != src.end())
  ------------------
  |  Branch (402:10): [True: 2.19k, False: 1.98k]
  ------------------
  403|  2.19k|		{
  404|  2.19k|			log4cxx_status_t stat = encoder->encode(src, iter, out);
  405|  2.19k|			out.flip();
  406|  2.19k|			dst.append(out.data(), out.limit());
  407|  2.19k|			out.clear();
  408|       |
  409|  2.19k|			if (CharsetEncoder::isError(stat))
  ------------------
  |  Branch (409:8): [True: 0, False: 2.19k]
  ------------------
  410|      0|			{
  411|      0|				dst.append(1, LOSSCHAR);
  412|      0|				iter++;
  413|      0|			}
  414|  2.19k|		}
  415|       |
  416|  1.98k|		encoder->encode(src, iter, out);
  417|  1.98k|	}
  418|       |
  419|  35.4k|#endif
  420|  35.4k|}
_ZN7log4cxx7helpers10Transcoder6decodeERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERS8_:
  493|  64.7k|{
  494|  64.7k|#if LOG4CXX_LOGCHAR_IS_WCHAR
  495|  64.7k|	dst.append(src);
  496|       |#else
  497|       |	std::wstring::const_iterator i = src.begin();
  498|       |
  499|       |	while (i != src.end())
  500|       |	{
  501|       |		unsigned int cp = decode(src, i);
  502|       |
  503|       |		if (cp != 0xFFFF)
  504|       |		{
  505|       |			encode(cp, dst);
  506|       |		}
  507|       |		else
  508|       |		{
  509|       |			dst.append(1, LOSSCHAR);
  510|       |			i++;
  511|       |		}
  512|       |	}
  513|       |
  514|       |#endif
  515|  64.7k|}
_ZN7log4cxx7helpers10Transcoder6decodeERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERNS2_11__wrap_iterIPKwEE:
  558|  64.3k|{
  559|  64.3k|#if defined(__STDC_ISO_10646__)
  560|  64.3k|	return *(iter++);
  561|       |#else
  562|       |	return decodeUTF16(in, iter);
  563|       |#endif
  564|  64.3k|}
_ZN7log4cxx7helpers10Transcoder6encodeEjRNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  568|  1.60M|{
  569|  1.60M|#if defined(__STDC_ISO_10646__)
  570|  1.60M|	dst.append(1, sv);
  571|       |#else
  572|       |
  573|       |	if (sizeof(wchar_t) == 4)
  574|       |	{
  575|       |		dst.append(1, sv);
  576|       |	}
  577|       |	else
  578|       |	{
  579|       |		encodeUTF16(sv, dst);
  580|       |	}
  581|       |
  582|       |#endif
  583|  1.60M|}
_ZN7log4cxx7helpers10Transcoder6decodeEPKc:
  683|      2|{
  684|       |#if LOG4CXX_LOGCHAR_IS_UTF8 && !LOG4CXX_CHARSET_EBCDIC
  685|       |	return val;
  686|       |#else
  687|      2|	LogString dst;
  688|      2|	Transcoder::decode(val, dst);
  689|      2|	return dst;
  690|      2|#endif
  691|      2|}

_ZN7log4cxx7helpers6WriterC2Ev:
   29|  30.4k|{
   30|  30.4k|}
_ZN7log4cxx7helpers6WriterD2Ev:
   33|  30.4k|{
   34|  30.4k|}

_ZN7log4cxx7helpers14CharsetDecoder7isErrorEi:
  103|   251k|		{
  104|   251k|			return (stat != 0);
  105|   251k|		}

_ZN7log4cxx7helpers14CharsetEncoder7isErrorEi:
  115|  2.19k|		{
  116|  2.19k|			return (stat != 0);
  117|  2.19k|		}

_ZN7log4cxx7helpers18DateTimeDateFormatC2Ev:
   35|    416|			: SimpleDateFormat(LOG4CXX_STR("dd MMM yyyy HH:mm:ss,SSS")) {}
  ------------------
  |  |   43|    416|	#define LOG4CXX_STR(str) L ## str
  ------------------

_ZN7log4cxx7helpers17ISO8601DateFormatC2Ev:
   40|  56.5k|			: SimpleDateFormat(LOG4CXX_STR("yyyy-MM-dd HH:mm:ss,SSS")) {}
  ------------------
  |  |   43|  56.5k|	#define LOG4CXX_STR(str) L ## str
  ------------------

_ZN7log4cxx7helpers6ObjectD2Ev:
  104|   439k|		virtual ~Object() {}
_ZNK7log4cxx7helpers6Object11ClazzObject7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3spi13OptionHandler18ClazzOptionHandler7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx8Appender13ClazzAppender7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3spi18AppenderAttachable23ClazzAppenderAttachable7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx6Logger11ClazzLogger7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3spi13LoggerFactory18ClazzLoggerFactory7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3spi16LoggerRepository21ClazzLoggerRepository7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3spi12LoggingEvent17ClazzLoggingEvent7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx6Layout11ClazzLayout7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3spi12ErrorHandler17ClazzErrorHandler7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3spi6Filter11ClazzFilter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx16AppenderSkeleton21ClazzAppenderSkeleton7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern14FormattingInfo19ClazzFormattingInfo7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern16PatternConverter21ClazzPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern28LoggingEventPatternConverter33ClazzLoggingEventPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern15NameAbbreviator20ClazzNameAbbreviator7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern20NamePatternConverter25ClazzNamePatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern22LoggerPatternConverter27ClazzLoggerPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern23LiteralPatternConverter28ClazzLiteralPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern25ClassNamePatternConverter30ClazzClassNamePatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers8TimeZone13ClazzTimeZone7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers10DateFormat15ClazzDateFormat7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers4Date9ClazzDate7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern20DatePatternConverter25ClazzDatePatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern28FileLocationPatternConverter33ClazzFileLocationPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern28FullLocationPatternConverter33ClazzFullLocationPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern23IntegerPatternConverter28ClazzIntegerPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern28LineLocationPatternConverter33ClazzLineLocationPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern23MessagePatternConverter28ClazzMessagePatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern29LineSeparatorPatternConverter34ClazzLineSeparatorPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern30MethodLocationPatternConverter35ClazzMethodLocationPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern21LevelPatternConverter26ClazzLevelPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern28RelativeTimePatternConverter33ClazzRelativeTimePatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern22ThreadPatternConverter27ClazzThreadPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern19NDCPatternConverter24ClazzNDCPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern26PropertiesPatternConverter31ClazzPropertiesPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern36ThrowableInformationPatternConverter41ClazzThrowableInformationPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern30ThreadUsernamePatternConverter35ClazzThreadUsernamePatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7pattern25ClassNamePatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern25ClassNamePatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern20DatePatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern20DatePatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern28FileLocationPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern28FileLocationPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern14FormattingInfo14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern14FormattingInfo13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern28FullLocationPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern28FullLocationPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx5Level14getStaticClassEv:
   79|      2|	const LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   80|      2|		static LOG4CXX_NS::helpers::WideLife<class> theClass; \
   81|      2|		return theClass;                                       \
   82|      2|	}                                                         \
_ZN7log4cxx5Level13registerClassEv:
   83|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   84|      2|		static LOG4CXX_NS::helpers::WideLife<LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   85|      2|		return classReg; \
   86|      2|	}\
_ZN7log4cxx7pattern21LevelPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern21LevelPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern28LineLocationPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern28LineLocationPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern29LineSeparatorPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern29LineSeparatorPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers6Object14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers6Object13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3spi13OptionHandler14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3spi13OptionHandler13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3spi12ErrorHandler14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3spi12ErrorHandler13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3spi6Filter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3spi6Filter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3spi18AppenderAttachable14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3spi18AppenderAttachable13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3spi13LoggerFactory14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3spi13LoggerFactory13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3spi16LoggerRepository14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3spi16LoggerRepository13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx6filter13DenyAllFilter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx6filter13DenyAllFilter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3spi18RepositorySelector14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3spi18RepositorySelector13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers10XMLDOMNode14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers10XMLDOMNode13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers14XMLDOMDocument14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers14XMLDOMDocument13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers13XMLDOMElement14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers13XMLDOMElement13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers14XMLDOMNodeList14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers14XMLDOMNodeList13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3spi24TriggeringEventEvaluator14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3spi24TriggeringEventEvaluator13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx6filter13DenyAllFilter18ClazzDenyAllFilter7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3spi18RepositorySelector23ClazzRepositorySelector7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers10XMLDOMNode15ClazzXMLDOMNode7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers14XMLDOMDocument19ClazzXMLDOMDocument7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers13XMLDOMElement18ClazzXMLDOMElement7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers14XMLDOMNodeList19ClazzXMLDOMNodeList7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3spi24TriggeringEventEvaluator29ClazzTriggeringEventEvaluator7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers11InputStream16ClazzInputStream7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers15FileInputStream20ClazzFileInputStream7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7pattern22LoggerPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern22LoggerPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3spi12LoggingEvent14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3spi12LoggingEvent13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx7helpers11InetAddress16ClazzInetAddress7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers6Socket11ClazzSocket7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7pattern28LoggingEventPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern28LoggingEventPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx7helpers12OutputStream17ClazzOutputStream7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers6Writer11ClazzWriter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers15SystemErrWriter20ClazzSystemErrWriter7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7pattern23MessagePatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern23MessagePatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern30MethodLocationPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern30MethodLocationPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern20NamePatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern20NamePatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern19NDCPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern19NDCPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx3spi12Configurator17ClazzConfigurator7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx20PropertyConfigurator25ClazzPropertyConfigurator7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers14CharsetDecoder19ClazzCharsetDecoder7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7rolling16TriggeringPolicy21ClazzTriggeringPolicy7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7rolling6Action11ClazzAction7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7rolling19RolloverDescription24ClazzRolloverDescription7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7rolling13RollingPolicy18ClazzRollingPolicy7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3xml15DOMConfigurator20ClazzDOMConfigurator7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7pattern16PatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern16PatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx7helpers6Reader11ClazzReader7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers17InputStreamReader22ClazzInputStreamReader7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7pattern26PropertiesPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern26PropertiesPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx20PropertyConfigurator14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx20PropertyConfigurator13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx7helpers22AppenderAttachableImpl27ClazzAppenderAttachableImpl7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx13AsyncAppender18ClazzAsyncAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx20DefaultLoggerFactory25ClazzDefaultLoggerFactory7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers14CharsetEncoder19ClazzCharsetEncoder7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers18OutputStreamWriter23ClazzOutputStreamWriter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx14WriterAppender19ClazzWriterAppender7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx12FileAppender17ClazzFileAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7rolling19RollingFileAppender24ClazzRollingFileAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7helpers6Reader14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers6Reader13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern28RelativeTimePatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern28RelativeTimePatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7rolling19RollingFileAppender14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling19RollingFileAppender13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx7helpers16FileOutputStream21ClazzFileOutputStream7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7rolling17RollingPolicyBase22ClazzRollingPolicyBase7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7rolling24FixedWindowRollingPolicy29ClazzFixedWindowRollingPolicy7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7rolling22TimeBasedRollingPolicy27ClazzTimeBasedRollingPolicy7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7rolling25SizeBasedTriggeringPolicy30ClazzSizeBasedTriggeringPolicy7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers20OnlyOnceErrorHandler25ClazzOnlyOnceErrorHandler7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7rolling13RollingPolicy14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling13RollingPolicy13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7rolling17RollingPolicyBase14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling17RollingPolicyBase13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7rolling19RolloverDescription14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling19RolloverDescription13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7rolling25SizeBasedTriggeringPolicy14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling25SizeBasedTriggeringPolicy13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers15SystemErrWriter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers15SystemErrWriter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern22ThreadPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern22ThreadPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern30ThreadUsernamePatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern30ThreadUsernamePatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern36ThrowableInformationPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern36ThrowableInformationPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7rolling22TimeBasedRollingPolicy14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling22TimeBasedRollingPolicy13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx7rolling16FileRenameAction21ClazzFileRenameAction7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7rolling16GZCompressAction21ClazzGZCompressAction7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7rolling17ZipCompressAction22ClazzZipCompressAction7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7helpers8TimeZone14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers8TimeZone13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7rolling16TriggeringPolicy14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling16TriggeringPolicy13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers6Writer14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers6Writer13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx14WriterAppender14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx14WriterAppender13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7rolling17ZipCompressAction14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling17ZipCompressAction13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3xml15DOMConfigurator14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3xml15DOMConfigurator13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx5varia20FallbackErrorHandler25ClazzFallbackErrorHandler7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7rolling27FilterBasedTriggeringPolicy32ClazzFilterBasedTriggeringPolicy7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3net12SMTPAppender17ClazzSMTPAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7rolling6Action14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling6Action13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx8Appender14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx8Appender13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx16AppenderSkeleton14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx16AppenderSkeleton13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx13AsyncAppender14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx13AsyncAppender13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers14CharsetDecoder14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers14CharsetDecoder13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers14CharsetEncoder14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers14CharsetEncoder13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx15ConsoleAppender20ClazzConsoleAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx2db12ODBCAppender17ClazzODBCAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers14DatagramPacket19ClazzDatagramPacket7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers14DatagramSocket19ClazzDatagramSocket7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3net14SyslogAppender19ClazzSyslogAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3net14TelnetAppender19ClazzTelnetAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3net17XMLSocketAppender22ClazzXMLSocketAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx13PatternLayout18ClazzPatternLayout7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx10JSONLayout15ClazzJSONLayout7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx10HTMLLayout15ClazzHTMLLayout7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx12SimpleLayout17ClazzSimpleLayout7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3xml9XMLLayout14ClazzXMLLayout7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx6filter16LevelMatchFilter21ClazzLevelMatchFilter7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx6filter16LevelRangeFilter21ClazzLevelRangeFilter7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx6filter17StringMatchFilter22ClazzStringMatchFilter7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx6filter18LocationInfoFilter23ClazzLocationInfoFilter7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7rolling22ManualTriggeringPolicy27ClazzManualTriggeringPolicy7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx3spi12Configurator14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3spi12Configurator13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx15ConsoleAppender14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx15ConsoleAppender13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx7helpers15SystemOutWriter20ClazzSystemOutWriter7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7helpers4Date14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers4Date13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers10DateFormat14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers10DateFormat13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx20DefaultLoggerFactory14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx20DefaultLoggerFactory13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx5varia20FallbackErrorHandler14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx5varia20FallbackErrorHandler13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx9Hierarchy14ClazzHierarchy7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx12FileAppender14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx12FileAppender13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx7helpers14BufferedWriter19ClazzBufferedWriter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7helpers15FileInputStream14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers15FileInputStream13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers16FileOutputStream14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers16FileOutputStream13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7rolling16FileRenameAction14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling16FileRenameAction13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7rolling27FilterBasedTriggeringPolicy14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling27FilterBasedTriggeringPolicy13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7rolling24FixedWindowRollingPolicy14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling24FixedWindowRollingPolicy13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx7helpers7Integer12ClazzInteger7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7rolling16GZCompressAction14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling16GZCompressAction13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx10HTMLLayout14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx10HTMLLayout13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers11InputStream14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers11InputStream13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers17InputStreamReader14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers17InputStreamReader13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers7Integer14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers7Integer13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern23IntegerPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern23IntegerPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx10JSONLayout14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx10JSONLayout13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx6Layout14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx6Layout13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx6filter16LevelMatchFilter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx6filter16LevelMatchFilter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx6filter16LevelRangeFilter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx6filter16LevelRangeFilter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern23LiteralPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern23LiteralPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx6filter18LocationInfoFilter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx6filter18LocationInfoFilter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx6Logger14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx6Logger13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3spi25DefaultRepositorySelector14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3spi25DefaultRepositorySelector13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx3spi25DefaultRepositorySelector30ClazzDefaultRepositorySelector7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7rolling22ManualTriggeringPolicy14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling22ManualTriggeringPolicy13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern15NameAbbreviator14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern15NameAbbreviator13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern14NOPAbbreviator14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern14NOPAbbreviator13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern21MaxElementAbbreviator14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern21MaxElementAbbreviator13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern18PatternAbbreviator14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern18PatternAbbreviator13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx7pattern14NOPAbbreviator19ClazzNOPAbbreviator7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern21MaxElementAbbreviator26ClazzMaxElementAbbreviator7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern18PatternAbbreviator23ClazzPatternAbbreviator7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx2db12ODBCAppender14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx2db12ODBCAppender13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx7pattern19MDCPatternConverter24ClazzMDCPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern33ShortFileLocationPatternConverter38ClazzShortFileLocationPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7helpers20OnlyOnceErrorHandler14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers20OnlyOnceErrorHandler13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers12OutputStream14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers12OutputStream13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers18OutputStreamWriter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers18OutputStreamWriter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx13PatternLayout14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx13PatternLayout13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx7pattern24ColorEndPatternConverter29ClazzColorEndPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7pattern26ColorStartPatternConverter31ClazzColorStartPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7pattern33ShortFileLocationPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern33ShortFileLocationPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx12SimpleLayout14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx12SimpleLayout13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3net16DefaultEvaluator14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3net16DefaultEvaluator13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3net12SMTPAppender14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3net12SMTPAppender13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx3net16DefaultEvaluator21ClazzDefaultEvaluator7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx6filter17StringMatchFilter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx6filter17StringMatchFilter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers15SystemOutWriter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers15SystemOutWriter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3xml9XMLLayout14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3xml9XMLLayout13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3net14TelnetAppender14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3net14TelnetAppender13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3net17XMLSocketAppender14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3net17XMLSocketAppender13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx3net14SyslogAppender14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx3net14SyslogAppender13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers22AppenderAttachableImpl14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers22AppenderAttachableImpl13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers14BufferedWriter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers14BufferedWriter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern26ColorStartPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern26ColorStartPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern24ColorEndPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern24ColorEndPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx9Hierarchy14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx9Hierarchy13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers11InetAddress14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers11InetAddress13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern19MDCPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern19MDCPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers6Socket14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers6Socket13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZNK7log4cxx7helpers18SocketOutputStream23ClazzSocketOutputStream7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx7helpers18SocketOutputStream14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers18SocketOutputStream13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers14DatagramPacket14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers14DatagramPacket13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers14DatagramSocket14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers14DatagramSocket13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\

_ZNK7log4cxx7helpers8TimeZone5getIDEv:
   46|  3.20k|		{
   47|  3.20k|			return id;
   48|  3.20k|		}

_ZN7log4cxx7helpers8WideLifeINS_7pattern25ClassNamePatternConverter30ClazzClassNamePatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern25ClassNamePatternConverter30ClazzClassNamePatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern25ClassNamePatternConverter30ClazzClassNamePatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_17ClassRegistrationEEC2IRFRKNS0_5ClassEvEJEQntsr3stdE7same_asINS1_IT_EETL0__EEEOSA_DpOT0_:
   48|    228|	{		
   49|    228|		new(&storage) T(std::forward<Arg0>(arg0), std::forward<Args>(args)...);
   50|    228|	}
_ZN7log4cxx7helpers8WideLifeINS0_17ClassRegistrationEE5valueEv:
   62|    228|	{
   63|    228|		return *reinterpret_cast<T*>(&storage);
   64|    228|	}
_ZN7log4cxx7helpers8WideLifeINS0_17ClassRegistrationEEcvRS2_Ev:
   72|    228|	{
   73|    228|		return value();
   74|    228|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern20DatePatternConverter25ClazzDatePatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern20DatePatternConverter25ClazzDatePatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern20DatePatternConverter25ClazzDatePatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28FileLocationPatternConverter33ClazzFileLocationPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28FileLocationPatternConverter33ClazzFileLocationPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28FileLocationPatternConverter33ClazzFileLocationPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern14FormattingInfo19ClazzFormattingInfoEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern14FormattingInfo19ClazzFormattingInfoEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern14FormattingInfo19ClazzFormattingInfoEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_7pattern14FormattingInfoEEEEC2IS6_JEQntsr3stdE7same_asINS1_IT_EETL0__EEEOS9_DpOT0_:
   48|      1|	{		
   49|      1|		new(&storage) T(std::forward<Arg0>(arg0), std::forward<Args>(args)...);
   50|      1|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_7pattern14FormattingInfoEEEED2Ev:
   53|      1|	{
   54|       |#if LOG4CXX_EVENTS_AT_EXIT
   55|       |		// keep the holded value alive
   56|       |#else
   57|      1|		value().~T();
   58|      1|#endif
   59|      1|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_7pattern14FormattingInfoEEEE5valueEv:
   62|   431k|	{
   63|   431k|		return *reinterpret_cast<T*>(&storage);
   64|   431k|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_7pattern14FormattingInfoEEEEcvRS6_Ev:
   72|   431k|	{
   73|   431k|		return value();
   74|   431k|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28FullLocationPatternConverter33ClazzFullLocationPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28FullLocationPatternConverter33ClazzFullLocationPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28FullLocationPatternConverter33ClazzFullLocationPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_5Level10LevelClassEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_5Level10LevelClassEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_5Level10LevelClassEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_5LevelEEEEC2IS5_JEQntsr3stdE7same_asINS1_IT_EETL0__EEEOS8_DpOT0_:
   48|      1|	{		
   49|      1|		new(&storage) T(std::forward<Arg0>(arg0), std::forward<Args>(args)...);
   50|      1|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_5LevelEEEED2Ev:
   53|      1|	{
   54|       |#if LOG4CXX_EVENTS_AT_EXIT
   55|       |		// keep the holded value alive
   56|       |#else
   57|      1|		value().~T();
   58|      1|#endif
   59|      1|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_5LevelEEEE5valueEv:
   62|  4.01k|	{
   63|  4.01k|		return *reinterpret_cast<T*>(&storage);
   64|  4.01k|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_5LevelEEEEcvRS5_Ev:
   72|  4.00k|	{
   73|  4.00k|		return value();
   74|  4.00k|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern21LevelPatternConverter26ClazzLevelPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern21LevelPatternConverter26ClazzLevelPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern21LevelPatternConverter26ClazzLevelPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28LineLocationPatternConverter33ClazzLineLocationPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28LineLocationPatternConverter33ClazzLineLocationPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28LineLocationPatternConverter33ClazzLineLocationPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern29LineSeparatorPatternConverter34ClazzLineSeparatorPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern29LineSeparatorPatternConverter34ClazzLineSeparatorPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern29LineSeparatorPatternConverter34ClazzLineSeparatorPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Object11ClazzObjectEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Object11ClazzObjectEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Object11ClazzObjectEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13OptionHandler18ClazzOptionHandlerEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13OptionHandler18ClazzOptionHandlerEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13OptionHandler18ClazzOptionHandlerEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi12ErrorHandler17ClazzErrorHandlerEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi12ErrorHandler17ClazzErrorHandlerEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi12ErrorHandler17ClazzErrorHandlerEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi6Filter11ClazzFilterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi6Filter11ClazzFilterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi6Filter11ClazzFilterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi18AppenderAttachable23ClazzAppenderAttachableEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi18AppenderAttachable23ClazzAppenderAttachableEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi18AppenderAttachable23ClazzAppenderAttachableEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13LoggerFactory18ClazzLoggerFactoryEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13LoggerFactory18ClazzLoggerFactoryEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13LoggerFactory18ClazzLoggerFactoryEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi16LoggerRepository21ClazzLoggerRepositoryEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi16LoggerRepository21ClazzLoggerRepositoryEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi16LoggerRepository21ClazzLoggerRepositoryEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter13DenyAllFilter18ClazzDenyAllFilterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter13DenyAllFilter18ClazzDenyAllFilterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter13DenyAllFilter18ClazzDenyAllFilterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi18RepositorySelector23ClazzRepositorySelectorEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi18RepositorySelector23ClazzRepositorySelectorEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi18RepositorySelector23ClazzRepositorySelectorEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_10XMLDOMNode15ClazzXMLDOMNodeEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_10XMLDOMNode15ClazzXMLDOMNodeEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_10XMLDOMNode15ClazzXMLDOMNodeEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14XMLDOMDocument19ClazzXMLDOMDocumentEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14XMLDOMDocument19ClazzXMLDOMDocumentEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14XMLDOMDocument19ClazzXMLDOMDocumentEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_13XMLDOMElement18ClazzXMLDOMElementEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_13XMLDOMElement18ClazzXMLDOMElementEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_13XMLDOMElement18ClazzXMLDOMElementEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14XMLDOMNodeList19ClazzXMLDOMNodeListEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14XMLDOMNodeList19ClazzXMLDOMNodeListEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14XMLDOMNodeList19ClazzXMLDOMNodeListEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi24TriggeringEventEvaluator29ClazzTriggeringEventEvaluatorEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi24TriggeringEventEvaluator29ClazzTriggeringEventEvaluatorEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi24TriggeringEventEvaluator29ClazzTriggeringEventEvaluatorEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern22LoggerPatternConverter27ClazzLoggerPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern22LoggerPatternConverter27ClazzLoggerPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern22LoggerPatternConverter27ClazzLoggerPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi12LoggingEvent17ClazzLoggingEventEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi12LoggingEvent17ClazzLoggingEventEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi12LoggingEvent17ClazzLoggingEventEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28LoggingEventPatternConverter33ClazzLoggingEventPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28LoggingEventPatternConverter33ClazzLoggingEventPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28LoggingEventPatternConverter33ClazzLoggingEventPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_6LogLogEEC2Ev:
   40|      1|	{		
   41|      1|		new(&storage) T();
   42|      1|	}
_ZN7log4cxx7helpers8WideLifeINS0_6LogLogEED2Ev:
   53|      1|	{
   54|       |#if LOG4CXX_EVENTS_AT_EXIT
   55|       |		// keep the holded value alive
   56|       |#else
   57|      1|		value().~T();
   58|      1|#endif
   59|      1|	}
_ZN7log4cxx7helpers8WideLifeINS0_6LogLogEE5valueEv:
   62|  23.3k|	{
   63|  23.3k|		return *reinterpret_cast<T*>(&storage);
   64|  23.3k|	}
_ZN7log4cxx7helpers8WideLifeINS0_6LogLogEEcvRS2_Ev:
   72|  23.3k|	{
   73|  23.3k|		return value();
   74|  23.3k|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern23MessagePatternConverter28ClazzMessagePatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern23MessagePatternConverter28ClazzMessagePatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern23MessagePatternConverter28ClazzMessagePatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern30MethodLocationPatternConverter35ClazzMethodLocationPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern30MethodLocationPatternConverter35ClazzMethodLocationPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern30MethodLocationPatternConverter35ClazzMethodLocationPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern20NamePatternConverter25ClazzNamePatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern20NamePatternConverter25ClazzNamePatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern20NamePatternConverter25ClazzNamePatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern19NDCPatternConverter24ClazzNDCPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern19NDCPatternConverter24ClazzNDCPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern19NDCPatternConverter24ClazzNDCPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern16PatternConverter21ClazzPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern16PatternConverter21ClazzPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern16PatternConverter21ClazzPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern26PropertiesPatternConverter31ClazzPropertiesPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern26PropertiesPatternConverter31ClazzPropertiesPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern26PropertiesPatternConverter31ClazzPropertiesPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_20PropertyConfigurator25ClazzPropertyConfiguratorEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_20PropertyConfigurator25ClazzPropertyConfiguratorEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_20PropertyConfigurator25ClazzPropertyConfiguratorEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Reader11ClazzReaderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Reader11ClazzReaderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Reader11ClazzReaderEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28RelativeTimePatternConverter33ClazzRelativeTimePatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28RelativeTimePatternConverter33ClazzRelativeTimePatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern28RelativeTimePatternConverter33ClazzRelativeTimePatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_7pattern16PatternConverterEEEEC2INS3_INS4_28RelativeTimePatternConverterEEEJEQntsr3stdE7same_asINS1_IT_EETL0__EEEOSB_DpOT0_:
   48|      1|	{		
   49|      1|		new(&storage) T(std::forward<Arg0>(arg0), std::forward<Args>(args)...);
   50|      1|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_7pattern16PatternConverterEEEED2Ev:
   53|      2|	{
   54|       |#if LOG4CXX_EVENTS_AT_EXIT
   55|       |		// keep the holded value alive
   56|       |#else
   57|      2|		value().~T();
   58|      2|#endif
   59|      2|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_7pattern16PatternConverterEEEE5valueEv:
   62|  10.1k|	{
   63|  10.1k|		return *reinterpret_cast<T*>(&storage);
   64|  10.1k|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_7pattern16PatternConverterEEEEcvRS6_Ev:
   72|  10.1k|	{
   73|  10.1k|		return value();
   74|  10.1k|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling19RollingFileAppender24ClazzRollingFileAppenderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling19RollingFileAppender24ClazzRollingFileAppenderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling19RollingFileAppender24ClazzRollingFileAppenderEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling13RollingPolicy18ClazzRollingPolicyEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling13RollingPolicy18ClazzRollingPolicyEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling13RollingPolicy18ClazzRollingPolicyEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling17RollingPolicyBase22ClazzRollingPolicyBaseEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling17RollingPolicyBase22ClazzRollingPolicyBaseEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling17RollingPolicyBase22ClazzRollingPolicyBaseEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling19RolloverDescription24ClazzRolloverDescriptionEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling19RolloverDescription24ClazzRolloverDescriptionEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling19RolloverDescription24ClazzRolloverDescriptionEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling25SizeBasedTriggeringPolicy30ClazzSizeBasedTriggeringPolicyEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling25SizeBasedTriggeringPolicy30ClazzSizeBasedTriggeringPolicyEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling25SizeBasedTriggeringPolicy30ClazzSizeBasedTriggeringPolicyEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_15SystemErrWriter20ClazzSystemErrWriterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_15SystemErrWriter20ClazzSystemErrWriterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_15SystemErrWriter20ClazzSystemErrWriterEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern22ThreadPatternConverter27ClazzThreadPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern22ThreadPatternConverter27ClazzThreadPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern22ThreadPatternConverter27ClazzThreadPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern30ThreadUsernamePatternConverter35ClazzThreadUsernamePatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern30ThreadUsernamePatternConverter35ClazzThreadUsernamePatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern30ThreadUsernamePatternConverter35ClazzThreadUsernamePatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern36ThrowableInformationPatternConverter41ClazzThrowableInformationPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern36ThrowableInformationPatternConverter41ClazzThrowableInformationPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern36ThrowableInformationPatternConverter41ClazzThrowableInformationPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling22TimeBasedRollingPolicy27ClazzTimeBasedRollingPolicyEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling22TimeBasedRollingPolicy27ClazzTimeBasedRollingPolicyEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling22TimeBasedRollingPolicy27ClazzTimeBasedRollingPolicyEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS0_8TimeZoneEEEEC2INS3_INS0_12TimeZoneImpl13LocalTimeZoneEEEJEQntsr3stdE7same_asINS1_IT_EETL0__EEEOSB_DpOT0_:
   48|      1|	{		
   49|      1|		new(&storage) T(std::forward<Arg0>(arg0), std::forward<Args>(args)...);
   50|      1|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS0_8TimeZoneEEEED2Ev:
   53|      2|	{
   54|       |#if LOG4CXX_EVENTS_AT_EXIT
   55|       |		// keep the holded value alive
   56|       |#else
   57|      2|		value().~T();
   58|      2|#endif
   59|      2|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS0_8TimeZoneEEEE5valueEv:
   62|  73.1k|	{
   63|  73.1k|		return *reinterpret_cast<T*>(&storage);
   64|  73.1k|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS0_8TimeZoneEEEEcvRS5_Ev:
   72|  73.1k|	{
   73|  73.1k|		return value();
   74|  73.1k|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS0_8TimeZoneEEEEC2INS3_INS0_12TimeZoneImpl11GMTTimeZoneEEEJEQntsr3stdE7same_asINS1_IT_EETL0__EEEOSB_DpOT0_:
   48|      1|	{		
   49|      1|		new(&storage) T(std::forward<Arg0>(arg0), std::forward<Args>(args)...);
   50|      1|	}
_ZN7log4cxx7helpers8WideLifeINS0_8TimeZone13ClazzTimeZoneEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_8TimeZone13ClazzTimeZoneEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_8TimeZone13ClazzTimeZoneEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling16TriggeringPolicy21ClazzTriggeringPolicyEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling16TriggeringPolicy21ClazzTriggeringPolicyEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling16TriggeringPolicy21ClazzTriggeringPolicyEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Writer11ClazzWriterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Writer11ClazzWriterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Writer11ClazzWriterEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_14WriterAppender19ClazzWriterAppenderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_14WriterAppender19ClazzWriterAppenderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_14WriterAppender19ClazzWriterAppenderEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling17ZipCompressAction22ClazzZipCompressActionEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling17ZipCompressAction22ClazzZipCompressActionEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling17ZipCompressAction22ClazzZipCompressActionEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3xml15DOMConfigurator20ClazzDOMConfiguratorEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3xml15DOMConfigurator20ClazzDOMConfiguratorEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3xml15DOMConfigurator20ClazzDOMConfiguratorEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling6Action11ClazzActionEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling6Action11ClazzActionEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling6Action11ClazzActionEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_8Appender13ClazzAppenderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_8Appender13ClazzAppenderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_8Appender13ClazzAppenderEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_16AppenderSkeleton21ClazzAppenderSkeletonEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_16AppenderSkeleton21ClazzAppenderSkeletonEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_16AppenderSkeleton21ClazzAppenderSkeletonEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
aprinitializer.cpp:_ZN7log4cxx7helpers8WideLifeIN12_GLOBAL__N_115apr_environmentEEC2Ev:
   40|      1|	{		
   41|      1|		new(&storage) T();
   42|      1|	}
aprinitializer.cpp:_ZN7log4cxx7helpers8WideLifeIN12_GLOBAL__N_115apr_environmentEED2Ev:
   53|      1|	{
   54|       |#if LOG4CXX_EVENTS_AT_EXIT
   55|       |		// keep the holded value alive
   56|       |#else
   57|      1|		value().~T();
   58|      1|#endif
   59|      1|	}
aprinitializer.cpp:_ZN7log4cxx7helpers8WideLifeIN12_GLOBAL__N_115apr_environmentEE5valueEv:
   62|      1|	{
   63|      1|		return *reinterpret_cast<T*>(&storage);
   64|      1|	}
_ZN7log4cxx7helpers8WideLifeINS0_14APRInitializerEEC2Ev:
   40|      1|	{		
   41|      1|		new(&storage) T();
   42|      1|	}
_ZN7log4cxx7helpers8WideLifeINS0_14APRInitializerEED2Ev:
   53|      1|	{
   54|       |#if LOG4CXX_EVENTS_AT_EXIT
   55|       |		// keep the holded value alive
   56|       |#else
   57|      1|		value().~T();
   58|      1|#endif
   59|      1|	}
_ZN7log4cxx7helpers8WideLifeINS0_14APRInitializerEE5valueEv:
   62|      3|	{
   63|      3|		return *reinterpret_cast<T*>(&storage);
   64|      3|	}
_ZN7log4cxx7helpers8WideLifeINS0_14APRInitializerEEcvRS2_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_13AsyncAppender18ClazzAsyncAppenderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_13AsyncAppender18ClazzAsyncAppenderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_13AsyncAppender18ClazzAsyncAppenderEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14CharsetDecoder19ClazzCharsetDecoderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14CharsetDecoder19ClazzCharsetDecoderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14CharsetDecoder19ClazzCharsetDecoderEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS0_14CharsetDecoderEEEEC2IPS4_JEQntsr3stdE7same_asINS1_IT_EETL0__EEEOS9_DpOT0_:
   48|      1|	{		
   49|      1|		new(&storage) T(std::forward<Arg0>(arg0), std::forward<Args>(args)...);
   50|      1|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS0_14CharsetDecoderEEEED2Ev:
   53|      1|	{
   54|       |#if LOG4CXX_EVENTS_AT_EXIT
   55|       |		// keep the holded value alive
   56|       |#else
   57|      1|		value().~T();
   58|      1|#endif
   59|      1|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS0_14CharsetDecoderEEEE5valueEv:
   62|      3|	{
   63|      3|		return *reinterpret_cast<T*>(&storage);
   64|      3|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS0_14CharsetDecoderEEEEcvRS5_Ev:
   72|      1|	{
   73|      1|		return value();
   74|      1|	}
_ZN7log4cxx7helpers8WideLifeINS0_14CharsetEncoder19ClazzCharsetEncoderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14CharsetEncoder19ClazzCharsetEncoderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14CharsetEncoder19ClazzCharsetEncoderEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS0_14CharsetEncoderEEEEC2IPS4_JEQntsr3stdE7same_asINS1_IT_EETL0__EEEOS9_DpOT0_:
   48|      1|	{		
   49|      1|		new(&storage) T(std::forward<Arg0>(arg0), std::forward<Args>(args)...);
   50|      1|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS0_14CharsetEncoderEEEED2Ev:
   53|      1|	{
   54|       |#if LOG4CXX_EVENTS_AT_EXIT
   55|       |		// keep the holded value alive
   56|       |#else
   57|      1|		value().~T();
   58|      1|#endif
   59|      1|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS0_14CharsetEncoderEEEE5valueEv:
   62|      3|	{
   63|      3|		return *reinterpret_cast<T*>(&storage);
   64|      3|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS0_14CharsetEncoderEEEEcvRS5_Ev:
   72|      1|	{
   73|      1|		return value();
   74|      1|	}
_ZN7log4cxx7helpers8WideLifeINSt3__13mapINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEPKNS0_5ClassENS2_4lessIS9_EENS7_INS2_4pairIKS9_SC_EEEEEEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINSt3__13mapINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEPKNS0_5ClassENS2_4lessIS9_EENS7_INS2_4pairIKS9_SC_EEEEEEE5valueEv:
   62|    228|	{
   63|    228|		return *reinterpret_cast<T*>(&storage);
   64|    228|	}
_ZN7log4cxx7helpers8WideLifeINSt3__13mapINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEPKNS0_5ClassENS2_4lessIS9_EENS7_INS2_4pairIKS9_SC_EEEEEEEcvRSJ_Ev:
   72|    228|	{
   73|    228|		return value();
   74|    228|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi12Configurator17ClazzConfiguratorEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi12Configurator17ClazzConfiguratorEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi12Configurator17ClazzConfiguratorEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_15ConsoleAppender20ClazzConsoleAppenderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_15ConsoleAppender20ClazzConsoleAppenderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_15ConsoleAppender20ClazzConsoleAppenderEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_4Date9ClazzDateEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_4Date9ClazzDateEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_4Date9ClazzDateEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_10DateFormat15ClazzDateFormatEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_10DateFormat15ClazzDateFormatEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_10DateFormat15ClazzDateFormatEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_20DefaultLoggerFactory25ClazzDefaultLoggerFactoryEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_20DefaultLoggerFactory25ClazzDefaultLoggerFactoryEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_20DefaultLoggerFactory25ClazzDefaultLoggerFactoryEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_5varia20FallbackErrorHandler25ClazzFallbackErrorHandlerEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_5varia20FallbackErrorHandler25ClazzFallbackErrorHandlerEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_5varia20FallbackErrorHandler25ClazzFallbackErrorHandlerEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_12FileAppender17ClazzFileAppenderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_12FileAppender17ClazzFileAppenderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_12FileAppender17ClazzFileAppenderEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_15FileInputStream20ClazzFileInputStreamEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_15FileInputStream20ClazzFileInputStreamEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_15FileInputStream20ClazzFileInputStreamEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_16FileOutputStream21ClazzFileOutputStreamEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_16FileOutputStream21ClazzFileOutputStreamEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_16FileOutputStream21ClazzFileOutputStreamEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling16FileRenameAction21ClazzFileRenameActionEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling16FileRenameAction21ClazzFileRenameActionEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling16FileRenameAction21ClazzFileRenameActionEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling27FilterBasedTriggeringPolicy32ClazzFilterBasedTriggeringPolicyEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling27FilterBasedTriggeringPolicy32ClazzFilterBasedTriggeringPolicyEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling27FilterBasedTriggeringPolicy32ClazzFilterBasedTriggeringPolicyEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling24FixedWindowRollingPolicy29ClazzFixedWindowRollingPolicyEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling24FixedWindowRollingPolicy29ClazzFixedWindowRollingPolicyEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling24FixedWindowRollingPolicy29ClazzFixedWindowRollingPolicyEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling16GZCompressAction21ClazzGZCompressActionEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling16GZCompressAction21ClazzGZCompressActionEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling16GZCompressAction21ClazzGZCompressActionEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_10HTMLLayout15ClazzHTMLLayoutEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_10HTMLLayout15ClazzHTMLLayoutEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_10HTMLLayout15ClazzHTMLLayoutEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_11InputStream16ClazzInputStreamEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_11InputStream16ClazzInputStreamEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_11InputStream16ClazzInputStreamEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_17InputStreamReader22ClazzInputStreamReaderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_17InputStreamReader22ClazzInputStreamReaderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_17InputStreamReader22ClazzInputStreamReaderEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_7Integer12ClazzIntegerEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_7Integer12ClazzIntegerEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_7Integer12ClazzIntegerEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern23IntegerPatternConverter28ClazzIntegerPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern23IntegerPatternConverter28ClazzIntegerPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern23IntegerPatternConverter28ClazzIntegerPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_10JSONLayout15ClazzJSONLayoutEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_10JSONLayout15ClazzJSONLayoutEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_10JSONLayout15ClazzJSONLayoutEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6Layout11ClazzLayoutEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6Layout11ClazzLayoutEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6Layout11ClazzLayoutEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter16LevelMatchFilter21ClazzLevelMatchFilterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter16LevelMatchFilter21ClazzLevelMatchFilterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter16LevelMatchFilter21ClazzLevelMatchFilterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter16LevelRangeFilter21ClazzLevelRangeFilterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter16LevelRangeFilter21ClazzLevelRangeFilterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter16LevelRangeFilter21ClazzLevelRangeFilterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern23LiteralPatternConverter28ClazzLiteralPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern23LiteralPatternConverter28ClazzLiteralPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern23LiteralPatternConverter28ClazzLiteralPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_7pattern16PatternConverterEEEEC2INS3_INS4_23LiteralPatternConverterEEEJEQntsr3stdE7same_asINS1_IT_EETL0__EEEOSB_DpOT0_:
   48|      1|	{		
   49|      1|		new(&storage) T(std::forward<Arg0>(arg0), std::forward<Args>(args)...);
   50|      1|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter18LocationInfoFilter23ClazzLocationInfoFilterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter18LocationInfoFilter23ClazzLocationInfoFilterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter18LocationInfoFilter23ClazzLocationInfoFilterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6Logger11ClazzLoggerEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6Logger11ClazzLoggerEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6Logger11ClazzLoggerEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi25DefaultRepositorySelector30ClazzDefaultRepositorySelectorEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi25DefaultRepositorySelector30ClazzDefaultRepositorySelectorEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi25DefaultRepositorySelector30ClazzDefaultRepositorySelectorEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling22ManualTriggeringPolicy27ClazzManualTriggeringPolicyEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling22ManualTriggeringPolicy27ClazzManualTriggeringPolicyEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7rolling22ManualTriggeringPolicy27ClazzManualTriggeringPolicyEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern15NameAbbreviator20ClazzNameAbbreviatorEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern15NameAbbreviator20ClazzNameAbbreviatorEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern15NameAbbreviator20ClazzNameAbbreviatorEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern14NOPAbbreviator19ClazzNOPAbbreviatorEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern14NOPAbbreviator19ClazzNOPAbbreviatorEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern14NOPAbbreviator19ClazzNOPAbbreviatorEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern21MaxElementAbbreviator26ClazzMaxElementAbbreviatorEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern21MaxElementAbbreviator26ClazzMaxElementAbbreviatorEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern21MaxElementAbbreviator26ClazzMaxElementAbbreviatorEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern18PatternAbbreviator23ClazzPatternAbbreviatorEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern18PatternAbbreviator23ClazzPatternAbbreviatorEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern18PatternAbbreviator23ClazzPatternAbbreviatorEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_7pattern15NameAbbreviatorEEEEC2INS3_INS4_14NOPAbbreviatorEEEJEQntsr3stdE7same_asINS1_IT_EETL0__EEEOSB_DpOT0_:
   48|      1|	{		
   49|      1|		new(&storage) T(std::forward<Arg0>(arg0), std::forward<Args>(args)...);
   50|      1|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_7pattern15NameAbbreviatorEEEED2Ev:
   53|      1|	{
   54|       |#if LOG4CXX_EVENTS_AT_EXIT
   55|       |		// keep the holded value alive
   56|       |#else
   57|      1|		value().~T();
   58|      1|#endif
   59|      1|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_7pattern15NameAbbreviatorEEEE5valueEv:
   62|  15.0k|	{
   63|  15.0k|		return *reinterpret_cast<T*>(&storage);
   64|  15.0k|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_7pattern15NameAbbreviatorEEEEcvRS6_Ev:
   72|  15.0k|	{
   73|  15.0k|		return value();
   74|  15.0k|	}
_ZN7log4cxx7helpers8WideLifeINS_2db12ODBCAppender17ClazzODBCAppenderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_2db12ODBCAppender17ClazzODBCAppenderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_2db12ODBCAppender17ClazzODBCAppenderEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_20OnlyOnceErrorHandler25ClazzOnlyOnceErrorHandlerEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_20OnlyOnceErrorHandler25ClazzOnlyOnceErrorHandlerEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_20OnlyOnceErrorHandler25ClazzOnlyOnceErrorHandlerEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_12OutputStream17ClazzOutputStreamEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_12OutputStream17ClazzOutputStreamEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_12OutputStream17ClazzOutputStreamEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_18OutputStreamWriter23ClazzOutputStreamWriterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_18OutputStreamWriter23ClazzOutputStreamWriterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_18OutputStreamWriter23ClazzOutputStreamWriterEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_13PatternLayout18ClazzPatternLayoutEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_13PatternLayout18ClazzPatternLayoutEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_13PatternLayout18ClazzPatternLayoutEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern33ShortFileLocationPatternConverter38ClazzShortFileLocationPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern33ShortFileLocationPatternConverter38ClazzShortFileLocationPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern33ShortFileLocationPatternConverter38ClazzShortFileLocationPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_12SimpleLayout17ClazzSimpleLayoutEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_12SimpleLayout17ClazzSimpleLayoutEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_12SimpleLayout17ClazzSimpleLayoutEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net16DefaultEvaluator21ClazzDefaultEvaluatorEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net16DefaultEvaluator21ClazzDefaultEvaluatorEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net16DefaultEvaluator21ClazzDefaultEvaluatorEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net12SMTPAppender17ClazzSMTPAppenderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net12SMTPAppender17ClazzSMTPAppenderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net12SMTPAppender17ClazzSMTPAppenderEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter17StringMatchFilter22ClazzStringMatchFilterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter17StringMatchFilter22ClazzStringMatchFilterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_6filter17StringMatchFilter22ClazzStringMatchFilterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_15SystemOutWriter20ClazzSystemOutWriterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_15SystemOutWriter20ClazzSystemOutWriterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_15SystemOutWriter20ClazzSystemOutWriterEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3xml9XMLLayout14ClazzXMLLayoutEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3xml9XMLLayout14ClazzXMLLayoutEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3xml9XMLLayout14ClazzXMLLayoutEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net14TelnetAppender19ClazzTelnetAppenderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net14TelnetAppender19ClazzTelnetAppenderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net14TelnetAppender19ClazzTelnetAppenderEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net17XMLSocketAppender22ClazzXMLSocketAppenderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net17XMLSocketAppender22ClazzXMLSocketAppenderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net17XMLSocketAppender22ClazzXMLSocketAppenderEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net14SyslogAppender19ClazzSyslogAppenderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net14SyslogAppender19ClazzSyslogAppenderEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3net14SyslogAppender19ClazzSyslogAppenderEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_22AppenderAttachableImpl27ClazzAppenderAttachableImplEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_22AppenderAttachableImpl27ClazzAppenderAttachableImplEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_22AppenderAttachableImpl27ClazzAppenderAttachableImplEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14BufferedWriter19ClazzBufferedWriterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14BufferedWriter19ClazzBufferedWriterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14BufferedWriter19ClazzBufferedWriterEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern26ColorStartPatternConverter31ClazzColorStartPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern26ColorStartPatternConverter31ClazzColorStartPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern26ColorStartPatternConverter31ClazzColorStartPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern24ColorEndPatternConverter29ClazzColorEndPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern24ColorEndPatternConverter29ClazzColorEndPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern24ColorEndPatternConverter29ClazzColorEndPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_9Hierarchy14ClazzHierarchyEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_9Hierarchy14ClazzHierarchyEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_9Hierarchy14ClazzHierarchyEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_11InetAddress16ClazzInetAddressEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_11InetAddress16ClazzInetAddressEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_11InetAddress16ClazzInetAddressEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern19MDCPatternConverter24ClazzMDCPatternConverterEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern19MDCPatternConverter24ClazzMDCPatternConverterEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_7pattern19MDCPatternConverter24ClazzMDCPatternConverterEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Socket11ClazzSocketEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Socket11ClazzSocketEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Socket11ClazzSocketEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_18SocketOutputStream23ClazzSocketOutputStreamEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_18SocketOutputStream23ClazzSocketOutputStreamEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_18SocketOutputStream23ClazzSocketOutputStreamEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14DatagramPacket19ClazzDatagramPacketEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14DatagramPacket19ClazzDatagramPacketEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14DatagramPacket19ClazzDatagramPacketEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14DatagramSocket19ClazzDatagramSocketEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14DatagramSocket19ClazzDatagramSocketEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_14DatagramSocket19ClazzDatagramSocketEEcvRS3_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}

_ZN7log4cxx5Level10LevelClassC2Ev:
   54|      2|				LevelClass() : helpers::Class() {}
_ZNK7log4cxx5Level10LevelClass7getNameEv:
   57|      2|				{
   58|      2|					return LOG4CXX_STR("Level");
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
   59|      2|				}

_ZN7log4cxx7pattern16PatternConverter23PatternConverterPrivateC2ERKNSt3__112basic_stringIwNS3_11char_traitsIwEENS3_9allocatorIwEEEESB_:
   35|   181k|		name(_name),
   36|   181k|		style(_style) {}
_ZN7log4cxx7pattern16PatternConverter23PatternConverterPrivateD2Ev:
   38|   181k|	virtual ~PatternConverterPrivate(){}

_ZN7log4cxx3spi12LocationInfo17calcShortFileNameEPKc:
   58|  4.00k|		static constexpr const char* calcShortFileName(const char* fileName){
   59|       |#else
   60|       |		static const char* calcShortFileName(const char* fileName){
   61|       |#endif
   62|  4.00k|			if (fileName == nullptr) return nullptr;
  ------------------
  |  Branch (62:8): [True: 0, False: 4.00k]
  ------------------
   63|       |#if defined(_MSC_VER)
   64|       |			// As at 2024, the MSVC optimizer does not inline a function that calls another function
   65|       |			const char* location = nullptr;
   66|       |			for (auto p = fileName; *p; ++p)
   67|       |				if (*p == LOG4CXX_SHORT_FILENAME_SPLIT_CHAR)
   68|       |					location = p;
   69|       |#else
   70|  4.00k|			const char* location = strrchr(fileName, LOG4CXX_SHORT_FILENAME_SPLIT_CHAR);
  ------------------
  |  |   28|  4.00k|#define LOG4CXX_SHORT_FILENAME_SPLIT_CHAR '/'
  ------------------
   71|  4.00k|#endif
   72|  4.00k|			return location == nullptr ? fileName : location + 1;
  ------------------
  |  Branch (72:11): [True: 0, False: 4.00k]
  ------------------
   73|  4.00k|		}

