LLVMFuzzerTestOneInput:
   30|  2.14k|extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   31|  2.14k|	char filename[9] = "conf.xml";
   32|       |
   33|  2.14k|	FILE *fp = fopen(filename, "wb");
   34|  2.14k|	if (!fp) {
  ------------------
  |  Branch (34:6): [True: 0, False: 2.14k]
  ------------------
   35|      0|		return 0;
   36|      0|	}
   37|  2.14k|	fwrite(data, std::min(size, MaximumFileByteCount), 1, fp);
   38|  2.14k|	fclose(fp);
   39|  2.14k|	DOMConfigurator::configure(filename);
   40|  2.14k|	return 0;
   41|  2.14k|}

_ZN7log4cxx7helpers22AppenderAttachableImplC1Ev:
   68|     12|{
   69|     12|}
_ZN7log4cxx7helpers22AppenderAttachableImplD2Ev:
   77|     12|{
   78|     12|}
_ZNK7log4cxx7helpers22AppenderAttachableImpl15getAllAppendersEv:
  121|     23|{
  122|     23|	AppenderList result;
  123|     23|	if (m_priv)
  ------------------
  |  Branch (123:6): [True: 0, False: 23]
  ------------------
  124|      0|		result = *m_priv->getAppenders();
  125|     23|	return result;
  126|     23|}
_ZN7log4cxx7helpers22AppenderAttachableImpl18removeAllAppendersEv:
  158|     23|{
  159|     23|	if (m_priv)
  ------------------
  |  Branch (159:6): [True: 0, False: 23]
  ------------------
  160|      0|	{
  161|      0|		auto allAppenders = m_priv->getAppenders();
  162|      0|		for (auto& appender : *allAppenders)
  ------------------
  |  Branch (162:23): [True: 0, False: 0]
  ------------------
  163|      0|			appender->close();
  164|      0|		m_priv->setAppenders({});
  165|      0|	}
  166|     23|}

_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|  15.1k|{
  125|  15.1k|	static WideLife<apr_environment> env;
  126|  15.1k|	static WideLife<APRInitializer> init;
  127|  15.1k|	return init;
  128|  15.1k|}
_ZN7log4cxx7helpers14APRInitializer11getRootPoolEv:
  144|  10.8k|{
  145|  10.8k|	return getInstance().m_priv->p;
  146|  10.8k|}
_ZN7log4cxx7helpers14APRInitializer15findOrAddObjectEmNSt3__18functionIFNS2_10shared_ptrINS0_6ObjectEEEvEEE:
  176|  4.29k|{
  177|  4.29k|	std::lock_guard<std::mutex> lock(m_priv->mutex);
  178|  4.29k|	if (m_priv->objects.empty())
  ------------------
  |  Branch (178:6): [True: 1, False: 4.29k]
  ------------------
  179|      1|	{
  180|       |		// Ensure the internal logger has a longer life than other Log4cxx static data
  181|      1|		LogLog::debug(LOG4CXX_STR("Started"));
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
  182|      1|	}
  183|  4.29k|	auto pItem = std::find_if(m_priv->objects.begin(), m_priv->objects.end()
  184|  4.29k|		, [key](const IdentifiedObject& item) { return item.first == key; }
  185|  4.29k|		);
  186|  4.29k|	if (m_priv->objects.end() != pItem)
  ------------------
  |  Branch (186:6): [True: 4.29k, False: 2]
  ------------------
  187|  4.29k|		return pItem->second;
  188|      2|	m_priv->objects.emplace_back(key, creator());
  189|      2|	return m_priv->objects.back().second;
  190|  4.29k|}
aprinitializer.cpp:_ZZN7log4cxx7helpers14APRInitializer15findOrAddObjectEmNSt3__18functionIFNS2_10shared_ptrINS0_6ObjectEEEvEEEENK3$_0clERKNS2_4pairImS6_EE:
  184|  6.43k|		, [key](const IdentifiedObject& item) { return item.first == key; }
_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|      3|		while (!objects.empty())
  ------------------
  |  Branch (51:10): [True: 2, False: 1]
  ------------------
   52|      2|			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|    }

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

_ZN7log4cxx7helpers14CharsetDecoderC2Ev:
  510|  2.14k|{
  511|  2.14k|}
_ZN7log4cxx7helpers14CharsetDecoderD2Ev:
  515|  2.14k|{
  516|  2.14k|}
_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|}
_ZN7log4cxx7helpers14CharsetDecoder10getDecoderERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  566|  2.14k|{
  567|  2.14k|	if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("UTF-8"), LOG4CXX_STR("utf-8")) ||
  ------------------
  |  |   43|  2.14k|	#define LOG4CXX_STR(str) L ## str
  ------------------
              	if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("UTF-8"), LOG4CXX_STR("utf-8")) ||
  ------------------
  |  |   43|  2.14k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (567:6): [True: 2.14k, False: 0]
  ------------------
  568|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("UTF8"), LOG4CXX_STR("utf8")) ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("UTF8"), LOG4CXX_STR("utf8")) ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (568:3): [True: 0, False: 0]
  ------------------
  569|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("CP65001"), LOG4CXX_STR("cp65001")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("CP65001"), LOG4CXX_STR("cp65001")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (569:3): [True: 0, False: 0]
  ------------------
  570|  2.14k|	{
  571|       |#if LOG4CXX_LOGCHAR_IS_UTF8
  572|       |		return std::make_shared<TrivialCharsetDecoder>();
  573|       |#else
  574|  2.14k|		return std::make_shared<UTF8CharsetDecoder>();
  575|  2.14k|#endif
  576|  2.14k|	}
  577|      0|	else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("C"), LOG4CXX_STR("c")) ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              	else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("C"), LOG4CXX_STR("c")) ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (577:11): [True: 0, False: 0]
  ------------------
  578|      0|		charset == LOG4CXX_STR("646") ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (578:3): [True: 0, False: 0]
  ------------------
  579|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("US-ASCII"), LOG4CXX_STR("us-ascii")) ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("US-ASCII"), LOG4CXX_STR("us-ascii")) ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (579:3): [True: 0, False: 0]
  ------------------
  580|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO646-US"), LOG4CXX_STR("iso646-US")) ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO646-US"), LOG4CXX_STR("iso646-US")) ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (580:3): [True: 0, False: 0]
  ------------------
  581|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ANSI_X3.4-1968"), LOG4CXX_STR("ansi_x3.4-1968")) ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ANSI_X3.4-1968"), LOG4CXX_STR("ansi_x3.4-1968")) ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (581:3): [True: 0, False: 0]
  ------------------
  582|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("CP20127"), LOG4CXX_STR("cp20127")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("CP20127"), LOG4CXX_STR("cp20127")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (582:3): [True: 0, False: 0]
  ------------------
  583|      0|	{
  584|      0|		return std::make_shared<USASCIICharsetDecoder>();
  585|      0|	}
  586|      0|	else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO-8859-1"), LOG4CXX_STR("iso-8859-1")) ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              	else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO-8859-1"), LOG4CXX_STR("iso-8859-1")) ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (586:11): [True: 0, False: 0]
  ------------------
  587|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO-LATIN-1"), LOG4CXX_STR("iso-latin-1")) ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO-LATIN-1"), LOG4CXX_STR("iso-latin-1")) ||
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (587:3): [True: 0, False: 0]
  ------------------
  588|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("CP1252"), LOG4CXX_STR("cp1252")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("CP1252"), LOG4CXX_STR("cp1252")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (588:3): [True: 0, False: 0]
  ------------------
  589|      0|	{
  590|      0|		return std::make_shared<ISOLatinCharsetDecoder>();
  591|      0|	}
  592|      0|	else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("LOCALE"), LOG4CXX_STR("locale")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              	else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("LOCALE"), LOG4CXX_STR("locale")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (592:11): [True: 0, False: 0]
  ------------------
  593|      0|	{
  594|      0|		return std::make_shared<LocaleCharsetDecoder>();
  595|      0|	}
  596|       |
  597|      0|#if APR_HAS_XLATE
  598|      0|	return std::make_shared<APRCharsetDecoder>(charset);
  599|       |#else
  600|       |	throw IllegalArgumentException(charset);
  601|       |#endif
  602|  2.14k|}
_ZN7log4cxx7helpers14CharsetDecoder6decodeEPKcmRNSt3__112basic_stringIwNS4_11char_traitsIwEENS4_9allocatorIwEEEE:
  605|    363|{
  606|    363|	ByteBuffer buf((char*)in, strnlen_s(in, maxByteCount));
  607|    363|	return decode(buf, out);
  608|    363|}
_ZN7log4cxx7helpers18UTF8CharsetDecoderC2Ev:
  310|  2.14k|		{
  311|  2.14k|		}
_ZN7log4cxx7helpers18UTF8CharsetDecoder6decodeERNS0_10ByteBufferERNSt3__112basic_stringIwNS4_11char_traitsIwEENS4_9allocatorIwEEEE:
  320|    513|		{
  321|    513|			auto availableByteCount = in.remaining();
  322|    513|			std::string tmp(in.current(), availableByteCount);
  323|    513|			std::string::const_iterator nextCodePoint = tmp.begin();
  324|       |
  325|   293k|			while (nextCodePoint != tmp.end())
  ------------------
  |  Branch (325:11): [True: 292k, False: 511]
  ------------------
  326|   292k|			{
  327|   292k|				auto lastCodePoint = nextCodePoint;
  328|   292k|				auto sv = Transcoder::decode(tmp, nextCodePoint);
  329|       |
  330|   292k|				if (sv == 0xFFFF || nextCodePoint == lastCodePoint)
  ------------------
  |  Branch (330:9): [True: 2, False: 292k]
  |  Branch (330:25): [True: 0, False: 292k]
  ------------------
  331|      2|				{
  332|      2|					size_t offset = nextCodePoint - tmp.begin();
  333|      2|					in.increment_position(offset);
  334|      2|					return APR_BADCH;
  ------------------
  |  |  457|      2|#define APR_BADCH          (APR_OS_START_STATUS + 12)
  |  |  ------------------
  |  |  |  |  136|      2|#define APR_OS_START_STATUS    (APR_OS_START_ERROR + APR_OS_ERRSPACE_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      2|#define APR_OS_START_ERROR     20000
  |  |  |  |  ------------------
  |  |  |  |               #define APR_OS_START_STATUS    (APR_OS_START_ERROR + APR_OS_ERRSPACE_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  123|      2|#define APR_OS_ERRSPACE_SIZE 50000
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  335|      2|				}
  336|   292k|				else
  337|   292k|				{
  338|   292k|					Transcoder::encode(sv, out);
  339|   292k|				}
  340|   292k|			}
  341|       |
  342|    511|			in.increment_position(availableByteCount);
  343|       |
  344|    511|			return APR_SUCCESS;
  ------------------
  |  |  225|    511|#define APR_SUCCESS 0
  ------------------
  345|    513|		}

_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|  3.60k|		{
  359|   703k|			while (iter != in.end() && out.remaining() >= 8)
  ------------------
  |  Branch (359:11): [True: 702k, False: 870]
  |  Branch (359:11): [True: 700k, False: 3.60k]
  |  Branch (359:31): [True: 700k, False: 2.73k]
  ------------------
  360|   700k|			{
  361|   700k|				unsigned int sv = Transcoder::decode(in, iter);
  362|       |
  363|   700k|				if (sv == 0xFFFF)
  ------------------
  |  Branch (363:9): [True: 0, False: 700k]
  ------------------
  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|   700k|				Transcoder::encodeUTF8(sv, out);
  369|   700k|			}
  370|       |
  371|  3.60k|			return APR_SUCCESS;
  ------------------
  |  |  225|  3.60k|#define APR_SUCCESS 0
  ------------------
  372|  3.60k|		}

_ZN7log4cxx7helpers5ClassC2Ev:
  100|    228|{
  101|    228|}
_ZN7log4cxx7helpers5Class11getRegistryEv:
  125|    495|{
  126|    495|	static WideLife<ClassMap> registry;
  127|    495|	return registry;
  128|    495|}
_ZN7log4cxx7helpers5Class7forNameERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  131|     74|{
  132|     74|	LogString lowerName(StringHelper::toLowerCase(className));
  133|       |	//
  134|       |	//  check registry using full class name
  135|       |	//
  136|     74|	const Class* clazz = getRegistry()[lowerName];
  137|       |
  138|     74|	if (clazz == 0)
  ------------------
  |  Branch (138:6): [True: 73, False: 1]
  ------------------
  139|     73|	{
  140|     73|		LogString::size_type pos = className.find_last_of(LOG4CXX_STR(".$"));
  ------------------
  |  |   43|     73|	#define LOG4CXX_STR(str) L ## str
  ------------------
  141|       |
  142|     73|		if (pos != LogString::npos)
  ------------------
  |  Branch (142:7): [True: 61, False: 12]
  ------------------
  143|     61|		{
  144|     61|			LogString terminalName(lowerName, pos + 1, LogString::npos);
  145|     61|			clazz = getRegistry()[terminalName];
  146|       |
  147|     61|			if (clazz == 0)
  ------------------
  |  Branch (147:8): [True: 60, False: 1]
  ------------------
  148|     60|			{
  149|     60|				registerClasses();
  150|     60|				clazz = getRegistry()[lowerName];
  151|       |
  152|     60|				if (clazz == 0)
  ------------------
  |  Branch (152:9): [True: 60, False: 0]
  ------------------
  153|     60|				{
  154|     60|					clazz = getRegistry()[terminalName];
  155|     60|				}
  156|     60|			}
  157|     61|		}
  158|     12|		else
  159|     12|		{
  160|     12|			registerClasses();
  161|     12|			clazz = getRegistry()[lowerName];
  162|     12|		}
  163|     73|	}
  164|       |
  165|     74|	if (clazz == 0)
  ------------------
  |  Branch (165:6): [True: 72, False: 2]
  ------------------
  166|     72|	{
  167|     72|		throw ClassNotFoundException(className);
  168|     72|	}
  169|       |
  170|      2|	return *clazz;
  171|     74|}
_ZN7log4cxx7helpers5Class13registerClassERKS1_:
  174|    228|{
  175|    228|	getRegistry()[StringHelper::toLowerCase(newClass.getName())] = &newClass;
  176|    228|	return true;
  177|    228|}
_ZN7log4cxx7helpers5Class15registerClassesEv:
  180|     72|{
  181|     72|	AsyncAppender::registerClass();
  182|     72|	ConsoleAppender::registerClass();
  183|     72|	FileAppender::registerClass();
  184|     72|	LOG4CXX_NS::db::ODBCAppender::registerClass();
  185|       |#if (defined(WIN32) || defined(_WIN32))
  186|       |#if !defined(_WIN32_WCE)
  187|       |	LOG4CXX_NS::nt::NTEventLogAppender::registerClass();
  188|       |#endif
  189|       |	LOG4CXX_NS::nt::OutputDebugStringAppender::registerClass();
  190|       |#endif
  191|     72|	SMTPAppender::registerClass();
  192|     72|	JSONLayout::registerClass();
  193|     72|	HTMLLayout::registerClass();
  194|       |#if LOG4CXX_HAS_FMT_LAYOUT
  195|       |	FMTLayout::registerClass();
  196|       |#endif
  197|     72|	PatternLayout::registerClass();
  198|     72|	SimpleLayout::registerClass();
  199|     72|	XMLLayout::registerClass();
  200|     72|	LevelMatchFilter::registerClass();
  201|     72|	LevelRangeFilter::registerClass();
  202|     72|	StringMatchFilter::registerClass();
  203|     72|	LocationInfoFilter::registerClass();
  204|     72|	LOG4CXX_NS::rolling::RollingFileAppender::registerClass();
  205|       |#if LOG4CXX_HAS_MULTIPROCESS_ROLLING_FILE_APPENDER
  206|       |	LOG4CXX_NS::rolling::MultiprocessRollingFileAppender::registerClass();
  207|       |#endif
  208|     72|	LOG4CXX_NS::rolling::SizeBasedTriggeringPolicy::registerClass();
  209|     72|	LOG4CXX_NS::rolling::TimeBasedRollingPolicy::registerClass();
  210|     72|	LOG4CXX_NS::rolling::ManualTriggeringPolicy::registerClass();
  211|     72|	LOG4CXX_NS::rolling::FixedWindowRollingPolicy::registerClass();
  212|     72|	LOG4CXX_NS::rolling::FilterBasedTriggeringPolicy::registerClass();
  213|     72|#if LOG4CXX_HAS_DOMCONFIGURATOR
  214|     72|	LOG4CXX_NS::xml::DOMConfigurator::registerClass();
  215|     72|#endif
  216|     72|	LOG4CXX_NS::PropertyConfigurator::registerClass();
  217|     72|	LOG4CXX_NS::varia::FallbackErrorHandler::registerClass();
  218|     72|#if LOG4CXX_HAS_NETWORKING
  219|     72|	TelnetAppender::registerClass();
  220|     72|	XMLSocketAppender::registerClass();
  221|     72|	SyslogAppender::registerClass();
  222|     72|#endif
  223|     72|}

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

_ZN7log4cxx3spi12ConfiguratorC2Ev:
   53|  2.14k|{
   54|  2.14k|}
_ZN7log4cxx3spi12Configurator10propertiesEv:
   57|  2.14k|{
   58|  2.14k|	auto& result = getInstance().second;
   59|  2.14k|	if (result.isEmpty())
  ------------------
  |  Branch (59:6): [True: 1, False: 2.14k]
  ------------------
   60|      1|		helpers::System::addProgramFilePathComponents(result);
   61|  2.14k|	return result;
   62|  2.14k|}
configurator.cpp:_ZN12_GLOBAL__N_111getInstanceEv:
   42|  2.14k|	{
   43|  2.14k|		using ConfiguratorObject = helpers::SingletonHolder<ConfiguratorProperties>;
   44|  2.14k|		auto result = helpers::APRInitializer::getOrAddUnique<ConfiguratorObject>
   45|  2.14k|			( []() -> helpers::ObjectPtr
   46|  2.14k|				{ return std::make_shared<ConfiguratorObject>(); }
   47|  2.14k|			);
   48|  2.14k|		return result->value();
   49|  2.14k|	}
configurator.cpp:_ZZN12_GLOBAL__N_111getInstanceEvENK3$_0clEv:
   46|      1|				{ return std::make_shared<ConfiguratorObject>(); }

_ZN7log4cxx7helpers14writeToConsoleERKNSt3__112basic_stringIwNS1_11char_traitsIwEENS1_9allocatorIwEEEEP8_IO_FILE:
   39|  6.43k|{
   40|  6.43k|#if LOG4CXX_WCHAR_T_API
   41|  6.43k|	if (isConsoleWide(file))
  ------------------
  |  Branch (41:6): [True: 0, False: 6.43k]
  ------------------
   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|  6.43k|#endif
   48|       |
   49|  6.43k|	LOG4CXX_ENCODE_CHAR(msg, str);
  ------------------
  |  |  238|  6.43k|	std::string var;                      \
  |  |  239|  6.43k|	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|  6.43k|	return fwrite(msg.data(), 1, msg.size(), file);
   57|  6.43k|}
consolewriter.cpp:_ZL13isConsoleWideP8_IO_FILE:
   28|  6.43k|{
   29|       |#if LOG4CXX_FORCE_WIDE_CONSOLE
   30|       |	return true;
   31|       |#elif LOG4CXX_FORCE_BYTE_CONSOLE || !LOG4CXX_HAS_FWIDE
   32|       |	return false;
   33|       |#else
   34|  6.43k|	return fwide(file, 0) > 0;
   35|  6.43k|#endif
   36|  6.43k|}

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

_ZNK7log4cxx20DefaultLoggerFactory21makeNewLoggerInstanceERNS_7helpers4PoolERKNSt3__112basic_stringIwNS4_11char_traitsIwEENS4_9allocatorIwEEEE:
   33|     11|{
   34|     11|	return std::make_shared<Logger>(name);
   35|     11|}

_ZN7log4cxx3spi25DefaultRepositorySelectorC1ENSt3__110shared_ptrINS0_16LoggerRepositoryEEE:
   30|      1|	: m_priv(std::make_unique<DefaultRepositorySelectorPrivate>())
   31|      1|{
   32|      1|	m_priv->repository = repository1;
   33|      1|}
_ZN7log4cxx3spi25DefaultRepositorySelectorD2Ev:
   35|      1|DefaultRepositorySelector::~DefaultRepositorySelector() {}
_ZN7log4cxx3spi25DefaultRepositorySelector19getLoggerRepositoryEv:
   38|  2.14k|{
   39|  2.14k|	return m_priv->repository;
   40|  2.14k|}

_ZN7log4cxx3xml15DOMConfiguratorC1Ev:
  211|  2.14k|DOMConfigurator::DOMConfigurator() {}
_ZN7log4cxx3xml15DOMConfiguratorD2Ev:
  213|  2.14k|DOMConfigurator::~DOMConfigurator() {}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivate11parseLoggerEP12apr_xml_elem:
  559|     11|{
  560|       |	// Create a new Logger object from the <category> element.
  561|     11|	LogString loggerName = subst(getAttribute(loggerElement, NAME_ATTR));
  ------------------
  |  |  191|     11|#define NAME_ATTR "name"
  ------------------
  562|       |
  563|     11|	if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (563:6): [True: 11, False: 0]
  ------------------
  564|     11|	{
  565|     11|		LogLog::debug(LOG4CXX_STR("Getting [") + loggerName + LOG4CXX_STR("]"));
  ------------------
  |  |   43|     33|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		LogLog::debug(LOG4CXX_STR("Getting [") + loggerName + LOG4CXX_STR("]"));
  ------------------
  |  |   43|     11|	#define LOG4CXX_STR(str) L ## str
  ------------------
  566|     11|	}
  567|     11|	LoggerPtr logger = this->repository->getLogger(loggerName, this->loggerFactory);
  568|       |
  569|       |	// Setting up a logger needs to be an atomic operation, in order
  570|       |	// to protect potential log operations while logger
  571|       |	// configuration is in progress.
  572|     11|	bool additivity = OptionConverter::toBoolean(
  573|     11|			subst(getAttribute(loggerElement, ADDITIVITY_ATTR)),
  ------------------
  |  |  202|     11|#define ADDITIVITY_ATTR "additivity"
  ------------------
  574|     11|			true);
  575|       |
  576|     11|	if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (576:6): [True: 11, False: 0]
  ------------------
  577|     11|	{
  578|     11|		LogLog::debug(LOG4CXX_STR("Setting [") + logger->getName() + LOG4CXX_STR("] additivity to [") +
  ------------------
  |  |   43|     55|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		LogLog::debug(LOG4CXX_STR("Setting [") + logger->getName() + LOG4CXX_STR("] additivity to [") +
  ------------------
  |  |   43|     11|	#define LOG4CXX_STR(str) L ## str
  ------------------
  579|     11|			(additivity ? LogString(LOG4CXX_STR("true")) : LogString(LOG4CXX_STR("false"))) + LOG4CXX_STR("]"));
  ------------------
  |  |   43|     11|	#define LOG4CXX_STR(str) L ## str
  ------------------
              			(additivity ? LogString(LOG4CXX_STR("true")) : LogString(LOG4CXX_STR("false"))) + LOG4CXX_STR("]"));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              			(additivity ? LogString(LOG4CXX_STR("true")) : LogString(LOG4CXX_STR("false"))) + LOG4CXX_STR("]"));
  ------------------
  |  |   43|     11|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (579:5): [True: 11, False: 0]
  ------------------
  580|     11|	}
  581|     11|	logger->setAdditivity(additivity);
  582|     11|	parseChildrenOfLoggerElement(loggerElement, logger, false);
  583|     11|}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivate18parseLoggerFactoryEP12apr_xml_elem:
  589|      2|{
  590|      2|	LogString className(subst(getAttribute(factoryElement, CLASS_ATTR)));
  ------------------
  |  |  192|      2|#define CLASS_ATTR "class"
  ------------------
  591|       |
  592|      2|	if (className.empty())
  ------------------
  |  Branch (592:6): [True: 2, False: 0]
  ------------------
  593|      2|	{
  594|      2|		LogString msg(LOG4CXX_STR("["));
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
  595|      2|		utf8Decoder->decode(factoryElement->name, MAX_ATTRIBUTE_NAME_LEN, msg);
  ------------------
  |  |   63|      2|#define MAX_ATTRIBUTE_NAME_LEN 2000
  ------------------
  596|      2|		msg += LOG4CXX_STR("] attribute [");
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
  597|      2|		utf8Decoder->decode(CLASS_ATTR, MAX_ATTRIBUTE_NAME_LEN, msg);
  ------------------
  |  |  192|      2|#define CLASS_ATTR "class"
  ------------------
              		utf8Decoder->decode(CLASS_ATTR, MAX_ATTRIBUTE_NAME_LEN, msg);
  ------------------
  |  |   63|      2|#define MAX_ATTRIBUTE_NAME_LEN 2000
  ------------------
  598|      2|		msg += LOG4CXX_STR("] not found");
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
  599|      2|		LogLog::warn(msg);
  600|      2|	}
  601|      0|	else
  602|      0|	{
  603|      0|		auto obj = OptionConverter::instantiateByClassName
  604|      0|			( StringHelper::trim(className)
  605|      0|			, LoggerFactory::getStaticClass()
  606|      0|#if LOG4CXX_ABI_VERSION <= 15
  607|      0|			, std::make_shared<DefaultLoggerFactory>()
  608|       |#else
  609|       |			, std::make_shared<LoggerFactory>()
  610|       |#endif
  611|      0|			);
  612|      0|		this->loggerFactory = LOG4CXX_NS::cast<LoggerFactory>(obj);
  613|      0|		PropertySetter propSetter(this->loggerFactory);
  614|       |
  615|      0|		for (apr_xml_elem* currentElement = factoryElement->first_child;
  616|      0|			currentElement;
  ------------------
  |  Branch (616:4): [True: 0, False: 0]
  ------------------
  617|      0|			currentElement = currentElement->next)
  618|      0|		{
  619|      0|			std::string tagName(currentElement->name);
  620|       |
  621|      0|			if (tagName == PARAM_TAG)
  ------------------
  |  |  183|      0|#define PARAM_TAG "param"
  ------------------
  |  Branch (621:8): [True: 0, False: 0]
  ------------------
  622|      0|			{
  623|      0|				setParameter(currentElement, propSetter);
  624|      0|			}
  625|      0|		}
  626|      0|	}
  627|      2|}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivate28parseChildrenOfLoggerElementEP12apr_xml_elemNSt3__110shared_ptrINS_6LoggerEEEb:
  642|     11|{
  643|     11|	PropertySetter propSetter(logger);
  644|     11|	auto loggerName = this->repository->getRootLogger() == logger
  ------------------
  |  Branch (644:20): [True: 0, False: 11]
  ------------------
  645|     11|					? LogString(LOG4CXX_STR("root"))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  646|     11|					: logger->getName();
  647|     11|	AsyncAppenderPtr async;
  648|     11|	auto lsAsynchronous = subst(getAttribute(loggerElement, ASYNCHRONOUS_ATTR));
  ------------------
  |  |  203|     11|#define ASYNCHRONOUS_ATTR "asynchronous"
  ------------------
  649|     11|	if (!lsAsynchronous.empty() && OptionConverter::toBoolean(lsAsynchronous, true))
  ------------------
  |  Branch (649:6): [True: 0, False: 11]
  |  Branch (649:33): [True: 0, False: 0]
  ------------------
  650|      0|	{
  651|      0|		async = std::make_shared<AsyncAppender>();
  652|      0|		async->setName(loggerName);
  653|      0|	}
  654|       |
  655|     11|	std::vector<AppenderPtr> newappenders;
  656|     11|	for (apr_xml_elem* currentElement = loggerElement->first_child;
  657|     11|		currentElement;
  ------------------
  |  Branch (657:3): [True: 0, False: 11]
  ------------------
  658|     11|		currentElement = currentElement->next)
  659|      0|	{
  660|      0|		std::string tagName(currentElement->name);
  661|       |
  662|      0|		if (tagName == APPENDER_REF_TAG)
  ------------------
  |  |  182|      0|#define APPENDER_REF_TAG "appender-ref"
  ------------------
  |  Branch (662:7): [True: 0, False: 0]
  ------------------
  663|      0|		{
  664|      0|			if (auto appender = findAppenderByReference(currentElement))
  ------------------
  |  Branch (664:13): [True: 0, False: 0]
  ------------------
  665|      0|			{
  666|      0|				if (log4cxx::cast<AsyncAppender>(appender)) // An explicitly configured AsyncAppender?
  ------------------
  |  Branch (666:9): [True: 0, False: 0]
  ------------------
  667|      0|					async.reset(); // Not required
  668|      0|				if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (668:9): [True: 0, False: 0]
  ------------------
  669|      0|				{
  670|      0|					LogLog::debug(LOG4CXX_STR("Adding ") + Appender::getStaticClass().getName()
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  671|      0|						+ LOG4CXX_STR(" named [") + appender->getName() + LOG4CXX_STR("]")
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              						+ LOG4CXX_STR(" named [") + appender->getName() + LOG4CXX_STR("]")
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  672|      0|						+ LOG4CXX_STR(" to logger [") + logger->getName() + LOG4CXX_STR("]"));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              						+ LOG4CXX_STR(" to logger [") + logger->getName() + LOG4CXX_STR("]"));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  673|      0|				}
  674|      0|				newappenders.push_back(appender);
  675|      0|				if (async)
  ------------------
  |  Branch (675:9): [True: 0, False: 0]
  ------------------
  676|      0|				{
  677|      0|					async->addAppender(appender);
  678|      0|					parseFallbackAppender(currentElement, async->getName(), async, appender, async);
  679|      0|				}
  680|      0|				else if (auto appSkeleton = LOG4CXX_NS::cast<AppenderSkeleton>(appender))
  ------------------
  |  Branch (680:19): [True: 0, False: 0]
  ------------------
  681|      0|					parseFallbackAppender(currentElement, logger, appSkeleton);
  682|      0|			}
  683|      0|		}
  684|      0|		else if (tagName == LEVEL_TAG)
  ------------------
  |  |  196|      0|#define LEVEL_TAG "level"
  ------------------
  |  Branch (684:12): [True: 0, False: 0]
  ------------------
  685|      0|		{
  686|      0|			parseLevel(currentElement, logger, isRoot);
  687|      0|		}
  688|      0|		else if (tagName == PRIORITY_TAG)
  ------------------
  |  |  197|      0|#define PRIORITY_TAG "priority"
  ------------------
  |  Branch (688:12): [True: 0, False: 0]
  ------------------
  689|      0|		{
  690|      0|			parseLevel(currentElement, logger, isRoot);
  691|      0|		}
  692|      0|		else if (tagName == PARAM_TAG)
  ------------------
  |  |  183|      0|#define PARAM_TAG "param"
  ------------------
  |  Branch (692:12): [True: 0, False: 0]
  ------------------
  693|      0|		{
  694|      0|			setParameter(currentElement, propSetter);
  695|      0|		}
  696|      0|		else
  697|      0|		{
  698|      0|			LogString msg{ LOG4CXX_STR("Ignoring unknown [") };
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  699|      0|			utf8Decoder->decode(currentElement->name, MAX_ATTRIBUTE_NAME_LEN, msg);
  ------------------
  |  |   63|      0|#define MAX_ATTRIBUTE_NAME_LEN 2000
  ------------------
  700|      0|			msg += LOG4CXX_STR("] ");
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  701|      0|			utf8Decoder->decode(loggerElement->name, MAX_ATTRIBUTE_NAME_LEN, msg);
  ------------------
  |  |   63|      0|#define MAX_ATTRIBUTE_NAME_LEN 2000
  ------------------
  702|      0|			msg += LOG4CXX_STR(" element");
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  703|      0|			LogLog::warn(msg);
  704|      0|		}
  705|      0|	}
  706|     11|	if (async && !newappenders.empty())
  ------------------
  |  Branch (706:6): [True: 0, False: 11]
  |  Branch (706:15): [True: 0, False: 0]
  ------------------
  707|      0|	{
  708|      0|		if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (708:7): [True: 0, False: 0]
  ------------------
  709|      0|		{
  710|      0|			LogLog::debug(LOG4CXX_STR("Asynchronous logging for [")
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  711|      0|					+ logger->getName() + LOG4CXX_STR("] is on"));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  712|      0|		}
  713|      0|		logger->replaceAppenders({async});
  714|      0|		this->appenderAdded = true;
  715|      0|	}
  716|     11|	else if (newappenders.empty())
  ------------------
  |  Branch (716:11): [True: 11, False: 0]
  ------------------
  717|     11|		logger->removeAllAppenders();
  718|      0|	else
  719|      0|	{
  720|      0|		logger->replaceAppenders(newappenders);
  721|      0|		this->appenderAdded = true;
  722|      0|	}
  723|     11|	propSetter.activate();
  724|     11|}
_ZN7log4cxx3xml15DOMConfigurator11doConfigureERKNS_4FileENSt3__110shared_ptrINS_3spi16LoggerRepositoryEEE:
  972|  2.14k|{
  973|  2.14k|	m_priv = std::make_unique<DOMConfiguratorPrivate>
  974|  2.14k|		( repository ? repository : LogManager::getLoggerRepository()
  ------------------
  |  Branch (974:5): [True: 2.14k, False: 0]
  ------------------
  975|  2.14k|		);
  976|       |
  977|  2.14k|	apr_file_t* fd;
  978|  2.14k|	log4cxx_status_t rv = apr_file_open(&fd, filename.getAPRPath(), APR_READ, APR_OS_DEFAULT, m_priv->p.getAPRPool());
  ------------------
  |  |   93|  2.14k|#define APR_READ             APR_FOPEN_READ       /**< @deprecated @see APR_FOPEN_READ */
  |  |  ------------------
  |  |  |  |   54|  2.14k|#define APR_FOPEN_READ       0x00001  /**< Open the file for reading */
  |  |  ------------------
  ------------------
              	log4cxx_status_t rv = apr_file_open(&fd, filename.getAPRPath(), APR_READ, APR_OS_DEFAULT, m_priv->p.getAPRPool());
  ------------------
  |  |  112|  2.14k|#define APR_OS_DEFAULT APR_FPROT_OS_DEFAULT /**< @deprecated @see APR_FPROT_OS_DEFAULT */
  |  |  ------------------
  |  |  |  |   94|  2.14k|#define APR_FPROT_OS_DEFAULT  0x0FFF /**< use OS's default permissions */
  |  |  ------------------
  ------------------
  979|       |
  980|  2.14k|	if (rv != APR_SUCCESS)
  ------------------
  |  |  225|  2.14k|#define APR_SUCCESS 0
  ------------------
  |  Branch (980:6): [True: 0, False: 2.14k]
  ------------------
  981|      0|	{
  982|      0|		LogLog::error(LOG4CXX_STR("Could not open configuration file [")
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  983|      0|			+ filename.getPath() + LOG4CXX_STR("]")
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  984|      0|			, IOException(rv));
  985|      0|		return spi::ConfigurationStatus::NotConfigured;
  986|      0|	}
  987|  2.14k|	else
  988|  2.14k|	{
  989|  2.14k|		if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (989:7): [True: 1.86k, False: 286]
  ------------------
  990|  1.86k|		{
  991|  1.86k|			LogLog::debug(LOG4CXX_STR("Loading configuration file [")
  ------------------
  |  |   43|  5.58k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  992|  1.86k|					+ filename.getPath() + LOG4CXX_STR("]"));
  ------------------
  |  |   43|  1.86k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  993|  1.86k|		}
  994|       |
  995|  2.14k|		apr_xml_parser* parser = NULL;
  996|  2.14k|		rv = apr_xml_parse_file(m_priv->p.getAPRPool(), &parser, &m_priv->doc, fd, 2000);
  997|       |
  998|  2.14k|		if (rv != APR_SUCCESS)
  ------------------
  |  |  225|  2.14k|#define APR_SUCCESS 0
  ------------------
  |  Branch (998:7): [True: 1.86k, False: 278]
  ------------------
  999|  1.86k|		{
 1000|  1.86k|			LogString reason;
 1001|  1.86k|			if (parser)
  ------------------
  |  Branch (1001:8): [True: 101, False: 1.76k]
  ------------------
 1002|    101|			{
 1003|    101|				char errbuf[2000];
 1004|    101|				apr_xml_parser_geterror(parser, errbuf, sizeof(errbuf));
 1005|    101|				LOG4CXX_DECODE_CHAR(lsErrbuf, std::string(errbuf));
  ------------------
  |  |  251|    101|	LOG4CXX_NS::LogString var;                      \
  |  |  252|    101|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
 1006|    101|				reason.append(lsErrbuf);
 1007|    101|			}
 1008|  1.76k|			else
 1009|  1.76k|			{
 1010|  1.76k|				char errbuf[2000];
 1011|  1.76k|				apr_strerror(rv, errbuf, sizeof(errbuf));
 1012|  1.76k|				LOG4CXX_DECODE_CHAR(lsErrbuf, std::string(errbuf));
  ------------------
  |  |  251|  1.76k|	LOG4CXX_NS::LogString var;                      \
  |  |  252|  1.76k|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
 1013|  1.76k|				reason.append(lsErrbuf);
 1014|  1.76k|			}
 1015|  1.86k|			LogLog::error(LOG4CXX_STR("Error parsing file [")
  ------------------
  |  |   43|  5.60k|	#define LOG4CXX_STR(str) L ## str
  ------------------
 1016|  1.86k|				+ filename.getPath() + LOG4CXX_STR("]")
  ------------------
  |  |   43|  1.86k|	#define LOG4CXX_STR(str) L ## str
  ------------------
 1017|  1.86k|				, RuntimeException(reason));
 1018|  1.86k|			return spi::ConfigurationStatus::NotConfigured;
 1019|  1.86k|		}
 1020|    278|		else
 1021|    278|		{
 1022|    278|			m_priv->parse(m_priv->doc->root);
 1023|    278|		}
 1024|  2.14k|	}
 1025|       |
 1026|    278|	if (!m_priv->appenderAdded)
  ------------------
  |  Branch (1026:6): [True: 278, False: 0]
  ------------------
 1027|    278|	{
 1028|    278|		LogLog::warn(LOG4CXX_STR("[") + filename.getPath()
  ------------------
  |  |   43|  1.39k|	#define LOG4CXX_STR(str) L ## str
  ------------------
 1029|    278|			+ LOG4CXX_STR("] did not add an ") + Appender::getStaticClass().getName()
  ------------------
  |  |   43|    278|	#define LOG4CXX_STR(str) L ## str
  ------------------
 1030|    278|			+ LOG4CXX_STR(" to a logger"));
  ------------------
  |  |   43|    278|	#define LOG4CXX_STR(str) L ## str
  ------------------
 1031|    278|		return spi::ConfigurationStatus::NotConfigured;
 1032|    278|	}
 1033|       |
 1034|      0|	m_priv->repository->setConfigured(true);
 1035|      0|	return spi::ConfigurationStatus::Configured;
 1036|    278|}
_ZN7log4cxx3xml15DOMConfigurator9configureERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
 1046|  2.14k|{
 1047|  2.14k|	File file(filename);
 1048|  2.14k|	return DOMConfigurator().doConfigure(file, LogManager::getLoggerRepository());
 1049|  2.14k|}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivate5parseEP12apr_xml_elem:
 1148|    278|{
 1149|    278|	std::string rootElementName(element->name);
 1150|       |
 1151|    278|	if (rootElementName != CONFIGURATION_TAG)
  ------------------
  |  |  179|    278|#define CONFIGURATION_TAG "log4j:configuration"
  ------------------
  |  Branch (1151:6): [True: 278, False: 0]
  ------------------
 1152|    278|	{
 1153|    278|		if (rootElementName == OLD_CONFIGURATION_TAG)
  ------------------
  |  |  180|    278|#define OLD_CONFIGURATION_TAG "configuration"
  ------------------
  |  Branch (1153:7): [True: 247, False: 31]
  ------------------
 1154|    247|		{
 1155|       |			//LogLog::warn(LOG4CXX_STR("The <")+String(OLD_CONFIGURATION_TAG)+
 1156|       |			// LOG4CXX_STR("> element has been deprecated."));
 1157|       |			//LogLog::warn(LOG4CXX_STR("Use the <")+String(CONFIGURATION_TAG)+
 1158|       |			// LOG4CXX_STR("> element instead."));
 1159|    247|		}
 1160|     31|		else
 1161|     31|		{
 1162|     31|			LogString msg(LOG4CXX_STR("Root element ["));
  ------------------
  |  |   43|     31|	#define LOG4CXX_STR(str) L ## str
  ------------------
 1163|     31|			utf8Decoder->decode(element->name, MAX_ATTRIBUTE_NAME_LEN, msg);
  ------------------
  |  |   63|     31|#define MAX_ATTRIBUTE_NAME_LEN 2000
  ------------------
 1164|     31|			msg += LOG4CXX_STR("] is not [");
  ------------------
  |  |   43|     31|	#define LOG4CXX_STR(str) L ## str
  ------------------
 1165|     31|			utf8Decoder->decode(CONFIGURATION_TAG, MAX_ATTRIBUTE_NAME_LEN, msg);
  ------------------
  |  |  179|     31|#define CONFIGURATION_TAG "log4j:configuration"
  ------------------
              			utf8Decoder->decode(CONFIGURATION_TAG, MAX_ATTRIBUTE_NAME_LEN, msg);
  ------------------
  |  |   63|     31|#define MAX_ATTRIBUTE_NAME_LEN 2000
  ------------------
 1166|     31|			msg += LOG4CXX_STR("]");
  ------------------
  |  |   43|     31|	#define LOG4CXX_STR(str) L ## str
  ------------------
 1167|     31|			LogLog::error(msg);
 1168|     31|			return;
 1169|     31|		}
 1170|    278|	}
 1171|       |
 1172|    247|	LogString debugAttrib = subst(getAttribute(element, INTERNAL_DEBUG_ATTR));
  ------------------
  |  |  207|    247|#define INTERNAL_DEBUG_ATTR "debug"
  ------------------
 1173|       |
 1174|       |	// if the log4j.dtd is not specified in the XML file, then the
 1175|       |	// "debug" attribute is returned as the empty string.
 1176|    247|	if (!debugAttrib.empty() && debugAttrib != LOG4CXX_STR("NULL"))
  ------------------
  |  |   43|     71|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (1176:6): [True: 71, False: 176]
  |  Branch (1176:30): [True: 71, False: 0]
  ------------------
 1177|     71|	{
 1178|     71|		LogLog::setInternalDebugging(OptionConverter::toBoolean(debugAttrib, true));
 1179|     71|	}
 1180|       |
 1181|    247|	LogString colorAttrib = subst(getAttribute(element, INTERNAL_COLOR_ATTR));
  ------------------
  |  |  208|    247|#define INTERNAL_COLOR_ATTR "color"
  ------------------
 1182|    247|	if (!colorAttrib.empty())
  ------------------
  |  Branch (1182:6): [True: 31, False: 216]
  ------------------
 1183|     31|	{
 1184|     31|		LogLog::setColorEnabled(OptionConverter::toBoolean(colorAttrib, true));
 1185|     31|	}
 1186|       |
 1187|    247|	LogString thresholdStr = subst(getAttribute(element, THRESHOLD_ATTR));
  ------------------
  |  |  204|    247|#define THRESHOLD_ATTR "threshold"
  ------------------
 1188|       |
 1189|    247|	if (!thresholdStr.empty() && thresholdStr != LOG4CXX_STR("NULL"))
  ------------------
  |  |   43|    106|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (1189:6): [True: 106, False: 141]
  |  Branch (1189:31): [True: 106, False: 0]
  ------------------
 1190|    106|	{
 1191|    106|		this->repository->setThreshold(OptionConverter::toLevel(thresholdStr, Level::getAll()));
 1192|    106|		if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (1192:7): [True: 105, False: 1]
  ------------------
 1193|    105|		{
 1194|    105|			LogLog::debug(LOG4CXX_STR("Repository threshold =[")
  ------------------
  |  |   43|    315|	#define LOG4CXX_STR(str) L ## str
  ------------------
 1195|    105|				+ this->repository->getThreshold()->toString()
 1196|    105|				+ LOG4CXX_STR("]"));
  ------------------
  |  |   43|    105|	#define LOG4CXX_STR(str) L ## str
  ------------------
 1197|    105|		}
 1198|    106|	}
 1199|       |
 1200|    247|	LogString threadSignalValue = subst(getAttribute(element, THREAD_CONFIG_ATTR));
  ------------------
  |  |  209|    247|#define THREAD_CONFIG_ATTR "threadConfiguration"
  ------------------
 1201|       |
 1202|    247|	if ( !threadSignalValue.empty() && threadSignalValue != LOG4CXX_STR("NULL") )
  ------------------
  |  |   43|     30|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (1202:7): [True: 30, False: 217]
  |  Branch (1202:37): [True: 30, False: 0]
  ------------------
 1203|     30|	{
 1204|     30|		if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (1204:7): [True: 30, False: 0]
  ------------------
 1205|     30|		{
 1206|     30|			LogLog::debug(LOG4CXX_STR("ThreadUtility configuration =[") + threadSignalValue + LOG4CXX_STR("]"));
  ------------------
  |  |   43|     90|	#define LOG4CXX_STR(str) L ## str
  ------------------
              			LogLog::debug(LOG4CXX_STR("ThreadUtility configuration =[") + threadSignalValue + LOG4CXX_STR("]"));
  ------------------
  |  |   43|     30|	#define LOG4CXX_STR(str) L ## str
  ------------------
 1207|     30|		}
 1208|     30|		if ( threadSignalValue == LOG4CXX_STR("NoConfiguration") )
  ------------------
  |  |   43|     30|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (1208:8): [True: 0, False: 30]
  ------------------
 1209|      0|		{
 1210|      0|			helpers::ThreadUtility::configure( ThreadConfigurationType::NoConfiguration );
 1211|      0|		}
 1212|     30|		else if ( threadSignalValue == LOG4CXX_STR("BlockSignalsOnly") )
  ------------------
  |  |   43|     30|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (1212:13): [True: 0, False: 30]
  ------------------
 1213|      0|		{
 1214|      0|			helpers::ThreadUtility::configure( ThreadConfigurationType::BlockSignalsOnly );
 1215|      0|		}
 1216|     30|		else if ( threadSignalValue == LOG4CXX_STR("NameThreadOnly") )
  ------------------
  |  |   43|     30|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (1216:13): [True: 0, False: 30]
  ------------------
 1217|      0|		{
 1218|      0|			helpers::ThreadUtility::configure( ThreadConfigurationType::NameThreadOnly );
 1219|      0|		}
 1220|     30|		else if ( threadSignalValue == LOG4CXX_STR("BlockSignalsAndNameThread") )
  ------------------
  |  |   43|     30|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (1220:13): [True: 0, False: 30]
  ------------------
 1221|      0|		{
 1222|      0|			helpers::ThreadUtility::configure( ThreadConfigurationType::BlockSignalsAndNameThread );
 1223|      0|		}
 1224|     30|		else
 1225|     30|		{
 1226|     30|			LogLog::warn(LOG4CXX_STR("threadConfiguration value [") + threadSignalValue + LOG4CXX_STR("]") + LOG4CXX_STR(" is not valid"));
  ------------------
  |  |   43|    120|	#define LOG4CXX_STR(str) L ## str
  ------------------
              			LogLog::warn(LOG4CXX_STR("threadConfiguration value [") + threadSignalValue + LOG4CXX_STR("]") + LOG4CXX_STR(" is not valid"));
  ------------------
  |  |   43|     30|	#define LOG4CXX_STR(str) L ## str
  ------------------
              			LogLog::warn(LOG4CXX_STR("threadConfiguration value [") + threadSignalValue + LOG4CXX_STR("]") + LOG4CXX_STR(" is not valid"));
  ------------------
  |  |   43|     30|	#define LOG4CXX_STR(str) L ## str
  ------------------
 1227|     30|		}
 1228|     30|	}
 1229|       |
 1230|    247|	apr_xml_elem* currentElement;
 1231|       |
 1232|    247|	for (currentElement = element->first_child;
 1233|    261|		currentElement;
  ------------------
  |  Branch (1233:3): [True: 14, False: 247]
  ------------------
 1234|    247|		currentElement = currentElement->next)
 1235|     14|	{
 1236|     14|		std::string tagName(currentElement->name);
 1237|       |
 1238|     14|		if (tagName == CATEGORY_FACTORY_TAG)
  ------------------
  |  |  190|     14|#define CATEGORY_FACTORY_TAG "categoryFactory"
  ------------------
  |  Branch (1238:7): [True: 2, False: 12]
  ------------------
 1239|      2|		{
 1240|      2|			parseLoggerFactory(currentElement);
 1241|      2|		}
 1242|     14|	}
 1243|       |
 1244|    247|	for (currentElement = element->first_child;
 1245|    261|		currentElement;
  ------------------
  |  Branch (1245:3): [True: 14, False: 247]
  ------------------
 1246|    247|		currentElement = currentElement->next)
 1247|     14|	{
 1248|     14|		std::string tagName(currentElement->name);
 1249|       |
 1250|     14|		if (tagName == CATEGORY || tagName == LOGGER)
  ------------------
  |  |  187|     28|#define CATEGORY "category"
  ------------------
              		if (tagName == CATEGORY || tagName == LOGGER)
  ------------------
  |  |  188|     14|#define LOGGER "logger"
  ------------------
  |  Branch (1250:7): [True: 0, False: 14]
  |  Branch (1250:30): [True: 11, False: 3]
  ------------------
 1251|     11|		{
 1252|     11|			parseLogger(currentElement);
 1253|     11|		}
 1254|      3|		else if (tagName == ROOT_TAG)
  ------------------
  |  |  194|      3|#define ROOT_TAG "root"
  ------------------
  |  Branch (1254:12): [True: 0, False: 3]
  ------------------
 1255|      0|		{
 1256|      0|			parseRoot(currentElement);
 1257|      0|		}
 1258|     14|	}
 1259|    247|}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivate5substERKNSt3__112basic_stringIwNS3_11char_traitsIwEENS3_9allocatorIwEEEE:
 1262|  1.02k|{
 1263|  1.02k|	try
 1264|  1.02k|	{
 1265|  1.02k|		return OptionConverter::substVars(value, this->props);
 1266|  1.02k|	}
 1267|  1.02k|	catch (IllegalArgumentException& e)
 1268|  1.02k|	{
 1269|     61|		LogLog::warn(LOG4CXX_STR("Could not substitute variables using [") + value + LOG4CXX_STR("]"), e);
  ------------------
  |  |   43|    183|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		LogLog::warn(LOG4CXX_STR("Could not substitute variables using [") + value + LOG4CXX_STR("]"), e);
  ------------------
  |  |   43|     61|	#define LOG4CXX_STR(str) L ## str
  ------------------
 1270|     61|		return value;
 1271|     61|	}
 1272|  1.02k|}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivate12getAttributeEP12apr_xml_elemRKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEE:
 1276|  1.02k|{
 1277|  1.02k|	LogString attrValue;
 1278|       |
 1279|  1.02k|	for (apr_xml_attr* attr = element->attr;
 1280|  2.32k|		attr;
  ------------------
  |  Branch (1280:3): [True: 1.30k, False: 1.02k]
  ------------------
 1281|  1.30k|		attr = attr->next)
 1282|  1.30k|	{
 1283|  1.30k|		if (attrName == attr->name)
  ------------------
  |  Branch (1283:7): [True: 297, False: 1.00k]
  ------------------
 1284|    297|		{
 1285|    297|			utf8Decoder->decode(attr->value, MAX_ATTRIBUTE_NAME_LEN, attrValue);
  ------------------
  |  |   63|    297|#define MAX_ATTRIBUTE_NAME_LEN 2000
  ------------------
 1286|    297|		}
 1287|  1.30k|	}
 1288|       |
 1289|  1.02k|	return attrValue;
 1290|  1.02k|}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivateC2ERKNSt3__110shared_ptrINS_3spi16LoggerRepositoryEEE:
   97|  2.14k|		: repository(r)
   98|  2.14k|	{}

_ZN7log4cxx7helpers9ExceptionC2ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   30|  2.00k|{
   31|  2.00k|	LOG4CXX_ENCODE_CHAR(m, msg1);
  ------------------
  |  |  238|  2.00k|	std::string var;                      \
  |  |  239|  2.00k|	LOG4CXX_NS::helpers::Transcoder::encode(src, var)
  ------------------
   32|  2.00k|	msg = m;
   33|  2.00k|}
_ZNK7log4cxx7helpers9Exception4whatEv:
   53|  2.00k|{
   54|  2.00k|	return msg.c_str();
   55|  2.00k|}
_ZN7log4cxx7helpers16RuntimeExceptionC2ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   63|  1.93k|	: Exception(msg1)
   64|  1.93k|{
   65|  1.93k|}
_ZN7log4cxx7helpers24IllegalArgumentExceptionC2ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  102|     61|	: RuntimeException(msg1)
  103|     61|{
  104|     61|}
_ZN7log4cxx7helpers22ClassNotFoundExceptionC2ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  360|     72|	: Exception(formatMessage(className))
  361|     72|{
  362|     72|}
_ZN7log4cxx7helpers22ClassNotFoundException13formatMessageERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  377|     72|{
  378|     72|	LogString s(LOG4CXX_STR("Class not found: "));
  ------------------
  |  |   43|     72|	#define LOG4CXX_STR(str) L ## str
  ------------------
  379|     72|	s.append(className);
  380|     72|	return s;
  381|     72|}

_ZN7log4cxx4FileC2ERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE:
   87|  2.14k|	: m_priv(std::make_unique<FilePrivate>(decodeLS(name1)))
   88|  2.14k|{
   89|  2.14k|}
_ZN7log4cxx4FileD2Ev:
  147|  2.14k|{
  148|  2.14k|	if(m_priv->autoDelete){
  ------------------
  |  Branch (148:5): [True: 0, False: 2.14k]
  ------------------
  149|      0|		deleteFile();
  150|      0|	}
  151|  2.14k|}
_ZNK7log4cxx4File7getPathEv:
  155|  4.00k|{
  156|  4.00k|	return m_priv->path;
  157|  4.00k|}
_ZNK7log4cxx4File11FilePrivate7getPathEv:
  180|  2.14k|{
  181|  2.14k|	return this->apr_path;
  182|  2.14k|}
_ZN7log4cxx4File11FilePrivate12set_apr_pathEv:
  185|  2.14k|{
  186|  2.14k|	this->encodedPath.clear();
  187|  2.14k|	int style = APR_FILEPATH_ENCODING_UNKNOWN;
  ------------------
  |  |  404|  2.14k|#define APR_FILEPATH_ENCODING_UNKNOWN  0
  ------------------
  188|  2.14k|	apr_filepath_encoding(&style, this->p.getAPRPool());
  189|  2.14k|	if (style == APR_FILEPATH_ENCODING_UTF8)
  ------------------
  |  |  410|  2.14k|#define APR_FILEPATH_ENCODING_UTF8     2
  ------------------
  |  Branch (189:6): [True: 0, False: 2.14k]
  ------------------
  190|      0|	{
  191|      0|		Transcoder::encodeUTF8(this->path, this->encodedPath);
  192|      0|	}
  193|  2.14k|	else
  194|  2.14k|	{
  195|  2.14k|		Transcoder::encode(this->path, this->encodedPath);
  196|  2.14k|	}
  197|       |
  198|  2.14k|	for (auto& c : this->encodedPath)
  ------------------
  |  Branch (198:15): [True: 17.1k, False: 2.14k]
  ------------------
  199|  17.1k|	{
  200|  17.1k|		if (c == '\\')
  ------------------
  |  Branch (200:7): [True: 0, False: 17.1k]
  ------------------
  201|      0|		{
  202|      0|			c = '/';
  203|      0|		}
  204|  17.1k|	}
  205|  2.14k|	this->apr_path = this->encodedPath.c_str();
  206|  2.14k|}
_ZNK7log4cxx4File10getAPRPathEv:
  209|  2.14k|{
  210|  2.14k|	return m_priv->getPath();
  211|  2.14k|}
file.cpp:_ZL8decodeLSIcENSt3__112basic_stringIwNS0_11char_traitsIwEENS0_9allocatorIwEEEERKNS1_IT_NS2_IS7_EENS4_IS7_EEEE:
   79|  2.14k|{
   80|  2.14k|	LogString dst;
   81|  2.14k|	Transcoder::decode(src, dst);
   82|  2.14k|	return dst;
   83|  2.14k|}
_ZN7log4cxx4File11FilePrivateC2ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   37|  2.14k|		: path(path)
   38|  2.14k|	{
   39|  2.14k|		set_apr_path();
   40|  2.14k|	}

_ZN7log4cxx9HierarchyC1Ev:
   75|      1|	m_priv(std::make_unique<HierarchyPrivate>())
   76|      1|{
   77|      1|}
_ZN7log4cxx9HierarchyD2Ev:
   80|      1|{
   81|      1|	std::lock_guard<std::recursive_mutex> lock(m_priv->mutex);
   82|      1|	for (auto& item : m_priv->loggers)
  ------------------
  |  Branch (82:18): [True: 11, False: 1]
  ------------------
   83|     11|	{
   84|     11|		if (auto& pLogger = item.second)
  ------------------
  |  Branch (84:13): [True: 11, False: 0]
  ------------------
   85|     11|		{
   86|     11|			pLogger->removeHierarchy();
   87|     11|			pLogger->removeAllAppenders();
   88|     11|		}
   89|     11|	}
   90|      1|	if (m_priv->root)
  ------------------
  |  Branch (90:6): [True: 1, False: 0]
  ------------------
   91|      1|	{
   92|      1|		m_priv->root->removeHierarchy();
   93|      1|		m_priv->root->removeAllAppenders();
   94|      1|	}
   95|      1|}
_ZN7log4cxx9Hierarchy12setThresholdERKNSt3__110shared_ptrINS_5LevelEEE:
  163|    106|{
  164|    106|	if (l != 0)
  ------------------
  |  Branch (164:6): [True: 106, False: 0]
  ------------------
  165|    106|	{
  166|    106|		std::lock_guard<std::recursive_mutex> lock(m_priv->mutex);
  167|    106|		setThresholdInternal(l);
  168|    106|	}
  169|    106|}
_ZN7log4cxx9Hierarchy20setThresholdInternalERKNSt3__110shared_ptrINS_5LevelEEE:
  187|    106|{
  188|    106|	m_priv->thresholdInt = l->toInt();
  189|    106|	m_priv->threshold = l;
  190|       |
  191|    106|	if (m_priv->thresholdInt != Level::ALL_INT)
  ------------------
  |  Branch (191:6): [True: 3, False: 103]
  ------------------
  192|      3|	{
  193|      3|		m_priv->configured = true;
  194|      3|	}
  195|    106|}
_ZNK7log4cxx9Hierarchy12getThresholdEv:
  223|    105|{
  224|    105|	return m_priv->threshold ? m_priv->threshold : Level::getAll();
  ------------------
  |  Branch (224:9): [True: 105, False: 0]
  ------------------
  225|    105|}
_ZN7log4cxx9Hierarchy9getLoggerERKNSt3__112basic_stringIwNS1_11char_traitsIwEENS1_9allocatorIwEEEERKNS1_10shared_ptrINS_3spi13LoggerFactoryEEE:
  239|     11|{
  240|     11|	auto root = getRootLogger();
  241|     11|	std::lock_guard<std::recursive_mutex> lock(m_priv->mutex);
  242|       |
  243|     11|	LoggerMap::iterator it = m_priv->loggers.find(name);
  244|     11|	LoggerPtr result;
  245|       |
  246|     11|	if (it != m_priv->loggers.end())
  ------------------
  |  Branch (246:6): [True: 0, False: 11]
  ------------------
  247|      0|	{
  248|      0|		result = it->second;
  249|      0|	}
  250|     11|	if (!result && factory)
  ------------------
  |  Branch (250:6): [True: 11, False: 0]
  |  Branch (250:17): [True: 11, False: 0]
  ------------------
  251|     11|	{
  252|     11|#if LOG4CXX_ABI_VERSION <= 15
  253|     11|		LoggerPtr logger(factory->makeNewLoggerInstance(m_priv->pool, name));
  254|       |#else
  255|       |		LoggerPtr logger(factory->makeNewLoggerInstance(name));
  256|       |#endif
  257|     11|		logger->setHierarchy(this);
  258|     11|		m_priv->loggers.insert(LoggerMap::value_type(name, logger));
  259|       |
  260|     11|		ProvisionNodeMap::iterator it2 = m_priv->provisionNodes.find(name);
  261|       |
  262|     11|		if (it2 != m_priv->provisionNodes.end())
  ------------------
  |  Branch (262:7): [True: 0, False: 11]
  ------------------
  263|      0|		{
  264|      0|			updateChildren(it2->second, logger);
  265|      0|			m_priv->provisionNodes.erase(it2);
  266|      0|		}
  267|       |
  268|     11|		updateParents(logger, root);
  269|     11|		result = logger;
  270|     11|	}
  271|     11|	return result;
  272|       |
  273|     11|}
_ZNK7log4cxx9Hierarchy13getRootLoggerEv:
  289|     22|{
  290|     22|	std::lock_guard<std::recursive_mutex> lock(m_priv->mutex);
  291|     22|	if (!m_priv->root)
  ------------------
  |  Branch (291:6): [True: 1, False: 21]
  ------------------
  292|      1|	{
  293|      1|		m_priv->root = std::make_shared<RootLogger>(Level::getDebug());
  294|      1|		m_priv->root->setHierarchy(const_cast<Hierarchy*>(this));
  295|      1|	}
  296|       |
  297|     22|	return m_priv->root;
  298|     22|}
_ZN7log4cxx9Hierarchy13updateParentsERKNSt3__110shared_ptrINS_6LoggerEEES6_:
  373|     11|{
  374|     11|	const LogString name(logger->getName());
  375|     11|	size_t length = name.size();
  376|     11|	bool parentFound = false;
  377|       |
  378|       |
  379|       |	// if name = "w.x.y.z", loop through "w.x.y", "w.x" and "w", but not "w.x.y.z"
  380|     11|	for (size_t i = name.find_last_of(0x2E /* '.' */, length - 1);
  381|     54|		(i != LogString::npos) && (i != 0);
  ------------------
  |  Branch (381:3): [True: 44, False: 10]
  |  Branch (381:29): [True: 43, False: 1]
  ------------------
  382|     43|		i = name.find_last_of(0x2E /* '.' */, i - 1))
  383|     43|	{
  384|     43|		LogString substr = name.substr(0, i);
  385|       |
  386|     43|		LoggerMap::iterator it = m_priv->loggers.find(substr);
  387|       |
  388|     43|		if (it != m_priv->loggers.end())
  ------------------
  |  Branch (388:7): [True: 0, False: 43]
  ------------------
  389|      0|		{
  390|      0|			parentFound = true;
  391|      0|			logger->setParent( it->second );
  392|      0|			break; // no need to update the ancestors of the closest ancestor
  393|      0|		}
  394|     43|		else
  395|     43|		{
  396|     43|			ProvisionNodeMap::iterator it2 = m_priv->provisionNodes.find(substr);
  397|       |
  398|     43|			if (it2 != m_priv->provisionNodes.end())
  ------------------
  |  Branch (398:8): [True: 0, False: 43]
  ------------------
  399|      0|			{
  400|      0|				it2->second.push_back(logger);
  401|      0|			}
  402|     43|			else
  403|     43|			{
  404|     43|				ProvisionNode node(1, logger);
  405|     43|				m_priv->provisionNodes.insert(
  406|     43|					ProvisionNodeMap::value_type(substr, node));
  407|     43|			}
  408|     43|		}
  409|     43|	}
  410|       |
  411|       |	// If we could not find any existing parents, then link with root.
  412|     11|	if (!parentFound)
  ------------------
  |  Branch (412:6): [True: 11, False: 0]
  ------------------
  413|     11|	{
  414|     11|		logger->setParent( root );
  415|     11|	}
  416|     11|}
_ZN7log4cxx9Hierarchy14updateChildrenEPKNS_6LoggerE:
  434|     11|{
  435|     11|	for (auto& item : m_priv->loggers)
  ------------------
  |  Branch (435:18): [True: 66, False: 11]
  ------------------
  436|     66|	{
  437|    198|		for (auto l = item.second; l; l = l->getParent())
  ------------------
  |  Branch (437:30): [True: 132, False: 66]
  ------------------
  438|    132|		{
  439|    132|			if (l->getParent().get() == parent)
  ------------------
  |  Branch (439:8): [True: 0, False: 132]
  ------------------
  440|      0|			{
  441|      0|				item.second->updateThreshold();
  442|      0|				break;
  443|      0|			}
  444|    132|		}
  445|     66|	}
  446|     11|}
_ZN7log4cxx9Hierarchy6createEv:
  462|      1|{
  463|      1|	HierarchyPtr ret(new Hierarchy);
  464|      1|	return ret;
  465|      1|}
_ZN7log4cxx9Hierarchy16HierarchyPrivateC2Ev:
   43|      1|		: configured(false)
   44|      1|		, emittedNoAppenderWarning(false)
   45|      1|		, emittedNoResourceBundleWarning(false)
   46|      1|		, thresholdInt(Level::ALL_INT)
   47|      1|	{
   48|      1|	}

_ZN7log4cxx5Level6getOffEv:
   34|      1|{
   35|      1|	static WideLife<LevelPtr> offLevel = std::make_shared<Level>(Level::OFF_INT, LOG4CXX_STR("OFF"), 0);
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   36|      1|	return offLevel;
   37|      1|}
_ZN7log4cxx5Level8getFatalEv:
   40|      1|{
   41|      1|	static WideLife<LevelPtr> fatalLevel = std::make_shared<Level>(Level::FATAL_INT, LOG4CXX_STR("FATAL"), 0);
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   42|      1|	return fatalLevel;
   43|      1|}
_ZN7log4cxx5Level8getErrorEv:
   46|      1|{
   47|      1|	static WideLife<LevelPtr> errorLevel = std::make_shared<Level>(Level::ERROR_INT, LOG4CXX_STR("ERROR"), 3);
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   48|      1|	return errorLevel;
   49|      1|}
_ZN7log4cxx5Level7getWarnEv:
   52|      1|{
   53|      1|	static WideLife<LevelPtr> warnLevel = std::make_shared<Level>(Level::WARN_INT, LOG4CXX_STR("WARN"), 4);
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   54|      1|	return warnLevel;
   55|      1|}
_ZN7log4cxx5Level7getInfoEv:
   58|      1|{
   59|      1|	static WideLife<LevelPtr> infoLevel = std::make_shared<Level>(Level::INFO_INT, LOG4CXX_STR("INFO"), 6);
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   60|      1|	return infoLevel;
   61|      1|}
_ZN7log4cxx5Level8getDebugEv:
   64|      5|{
   65|      5|	static WideLife<LevelPtr> debugLevel = std::make_shared<Level>(Level::DEBUG_INT, LOG4CXX_STR("DEBUG"), 7);
  ------------------
  |  |   43|      5|	#define LOG4CXX_STR(str) L ## str
  ------------------
   66|      5|	return debugLevel;
   67|      5|}
_ZN7log4cxx5Level8getTraceEv:
   70|      1|{
   71|      1|	static WideLife<LevelPtr> traceLevel = std::make_shared<Level>(Level::TRACE_INT, LOG4CXX_STR("TRACE"), 7);
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   72|      1|	return traceLevel;
   73|      1|}
_ZN7log4cxx5Level6getAllEv:
   77|    107|{
   78|    107|	static WideLife<LevelPtr> allLevel = std::make_shared<Level>(Level::ALL_INT, LOG4CXX_STR("ALL"), 7);
  ------------------
  |  |   43|    107|	#define LOG4CXX_STR(str) L ## str
  ------------------
   79|    107|	return allLevel;
   80|    107|}
_ZN7log4cxx5LevelC2EiRKNSt3__112basic_stringIwNS1_11char_traitsIwEENS1_9allocatorIwEEEEi:
   86|      8|	: level(level1), name(name1), syslogEquivalent(syslogEquivalent1)
   87|      8|{
   88|      8|}
_ZN7log4cxx5Level9toLevelLSERKNSt3__112basic_stringIwNS1_11char_traitsIwEENS1_9allocatorIwEEEE:
   92|      1|{
   93|      1|	return toLevelLS(sArg, Level::getDebug());
   94|      1|}
_ZNK7log4cxx5Level8toStringEv:
   97|    105|{
   98|    105|	return name;
   99|    105|}
_ZN7log4cxx5Level7getDataEv:
  108|     12|{
  109|     12|	static WideLife<DataPtr> data = std::make_shared<Data>(Data
  110|     12|		{ getOff()
  111|     12|		, getFatal()
  112|     12|		, getError()
  113|     12|		, getWarn()
  114|     12|		, getInfo()
  115|     12|		, getDebug()
  116|     12|		, getTrace()
  117|     12|		, getAll()
  118|     12|		});
  119|     12|	return data;
  120|     12|}
_ZN7log4cxx5Level9toLevelLSERKNSt3__112basic_stringIwNS1_11char_traitsIwEENS1_9allocatorIwEEEERKNS1_10shared_ptrIS0_EE:
  231|     33|{
  232|     33|	const LogString trimmed(StringHelper::trim(sArg));
  233|     33|	const size_t len = trimmed.length();
  234|       |
  235|     33|	if (len == 4)
  ------------------
  |  Branch (235:6): [True: 0, False: 33]
  ------------------
  236|      0|	{
  237|      0|		if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("INFO"), LOG4CXX_STR("info")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("INFO"), LOG4CXX_STR("info")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (237:7): [True: 0, False: 0]
  ------------------
  238|      0|		{
  239|      0|			return getInfo();
  240|      0|		}
  241|       |
  242|      0|		if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("WARN"), LOG4CXX_STR("warn")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("WARN"), LOG4CXX_STR("warn")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (242:7): [True: 0, False: 0]
  ------------------
  243|      0|		{
  244|      0|			return getWarn();
  245|      0|		}
  246|      0|	}
  247|     33|	else
  248|     33|	{
  249|     33|		if (len == 5)
  ------------------
  |  Branch (249:7): [True: 3, False: 30]
  ------------------
  250|      3|		{
  251|      3|			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("DEBUG"), LOG4CXX_STR("debug")))
  ------------------
  |  |   43|      3|	#define LOG4CXX_STR(str) L ## str
  ------------------
              			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("DEBUG"), LOG4CXX_STR("debug")))
  ------------------
  |  |   43|      3|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (251:8): [True: 2, False: 1]
  ------------------
  252|      2|			{
  253|      2|				return getDebug();
  254|      2|			}
  255|       |
  256|      1|			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("TRACE"), LOG4CXX_STR("trace")))
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
              			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("TRACE"), LOG4CXX_STR("trace")))
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (256:8): [True: 0, False: 1]
  ------------------
  257|      0|			{
  258|      0|				return getTrace();
  259|      0|			}
  260|       |
  261|      1|			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("ERROR"), LOG4CXX_STR("error")))
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
              			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("ERROR"), LOG4CXX_STR("error")))
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (261:8): [True: 0, False: 1]
  ------------------
  262|      0|			{
  263|      0|				return getError();
  264|      0|			}
  265|       |
  266|      1|			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("FATAL"), LOG4CXX_STR("fatal")))
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
              			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("FATAL"), LOG4CXX_STR("fatal")))
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (266:8): [True: 0, False: 1]
  ------------------
  267|      0|			{
  268|      0|				return getFatal();
  269|      0|			}
  270|      1|		}
  271|     30|		else
  272|     30|		{
  273|     30|			if (len == 3)
  ------------------
  |  Branch (273:8): [True: 0, False: 30]
  ------------------
  274|      0|			{
  275|      0|				if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("OFF"), LOG4CXX_STR("off")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              				if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("OFF"), LOG4CXX_STR("off")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (275:9): [True: 0, False: 0]
  ------------------
  276|      0|				{
  277|      0|					return getOff();
  278|      0|				}
  279|       |
  280|      0|				if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("ALL"), LOG4CXX_STR("all")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              				if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("ALL"), LOG4CXX_STR("all")))
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (280:9): [True: 0, False: 0]
  ------------------
  281|      0|				{
  282|      0|					return getAll();
  283|      0|				}
  284|      0|			}
  285|     30|		}
  286|     33|	}
  287|       |
  288|     31|	return defaultLevel;
  289|     33|}

_ZN7log4cxx7helpers6Loader9loadClassERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   57|     74|{
   58|     74|	return Class::forName(clazz);
   59|     74|}

_ZN7log4cxx6LoggerC2ERKNSt3__112basic_stringIwNS1_11char_traitsIwEENS1_9allocatorIwEEEE:
   90|      1|	: m_priv(std::make_unique<LoggerPrivate>(name1))
   91|      1|	, m_threshold(0)
   92|      1|{
   93|      1|}
_ZN7log4cxx6LoggerC1ERKNSt3__112basic_stringIwNS1_11char_traitsIwEENS1_9allocatorIwEEEE:
   90|     11|	: m_priv(std::make_unique<LoggerPrivate>(name1))
   91|     11|	, m_threshold(0)
   92|     11|{
   93|     11|}
_ZN7log4cxx6LoggerD2Ev:
  103|     12|{
  104|     12|}
_ZNK7log4cxx6Logger17getEffectiveLevelEv:
  316|     11|{
  317|     22|	for (const Logger* l = this; l != 0; l = l->m_priv->parent.get())
  ------------------
  |  Branch (317:31): [True: 22, False: 0]
  ------------------
  318|     22|	{
  319|     22|		if (l->m_priv->level != 0)
  ------------------
  |  Branch (319:7): [True: 11, False: 11]
  ------------------
  320|     11|		{
  321|     11|			return l->m_priv->level;
  322|     11|		}
  323|     22|	}
  324|       |
  325|      0|	throw NullPointerException(LOG4CXX_STR("Logger level"));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  326|       |#if LOG4CXX_RETURN_AFTER_THROW
  327|       |	return m_priv->level;
  328|       |#endif
  329|     11|}
_ZNK7log4cxx6Logger12getHierarchyEv:
  344|     35|{
  345|     35|	return m_priv->repositoryRaw;
  346|     35|}
_ZNK7log4cxx6Logger9getParentEv:
  391|    264|{
  392|    264|	return m_priv->parent;
  393|    264|}
_ZNK7log4cxx6Logger8getLevelEv:
  396|      1|{
  397|      1|	return m_priv->level;
  398|      1|}
_ZN7log4cxx6Logger18removeAllAppendersEv:
  611|     23|{
  612|     23|	AppenderList currentAppenders = m_priv->aai.getAllAppenders();
  613|     23|	m_priv->aai.removeAllAppenders();
  614|       |
  615|     23|	auto rep = getHierarchy();
  616|     23|	if(rep){
  ------------------
  |  Branch (616:5): [True: 11, False: 12]
  ------------------
  617|     11|		for(AppenderPtr appender : currentAppenders){
  ------------------
  |  Branch (617:28): [True: 0, False: 11]
  ------------------
  618|      0|			rep->fireRemoveAppenderEvent(this, appender.get());
  619|      0|		}
  620|     11|	}
  621|     23|}
_ZN7log4cxx6Logger15removeHierarchyEv:
  641|     12|{
  642|     12|	m_priv->repositoryRaw = 0;
  643|     12|}
_ZN7log4cxx6Logger13setAdditivityEb:
  646|     11|{
  647|     11|	m_priv->additive = additive1;
  648|     11|}
_ZN7log4cxx6Logger12setHierarchyEPNS_3spi16LoggerRepositoryE:
  651|     12|{
  652|     12|	m_priv->repositoryRaw = repository1;
  653|     12|}
_ZN7log4cxx6Logger9setParentENSt3__110shared_ptrIS0_EE:
  656|     11|{
  657|     11|	m_priv->parent = parentLogger;
  658|     11|	updateThreshold();
  659|     11|	if (auto rep = dynamic_cast<Hierarchy*>(getHierarchy()))
  ------------------
  |  Branch (659:11): [True: 11, False: 0]
  ------------------
  660|     11|		rep->updateChildren(this);
  661|     11|}
_ZN7log4cxx6Logger8setLevelENSt3__110shared_ptrINS_5LevelEEE:
  664|      1|{
  665|      1|	if (m_priv->level != level1)
  ------------------
  |  Branch (665:6): [True: 1, False: 0]
  ------------------
  666|      1|	{
  667|      1|		m_priv->level = level1;
  668|      1|		updateThreshold();
  669|      1|		if (auto rep = dynamic_cast<Hierarchy*>(getHierarchy()))
  ------------------
  |  Branch (669:12): [True: 0, False: 1]
  ------------------
  670|      0|			rep->updateChildren(this);
  671|      1|	}
  672|      1|}
_ZN7log4cxx6Logger15updateThresholdEv:
  675|     12|{
  676|     12|	m_threshold = getEffectiveLevel()->toInt();
  677|     12|}
_ZNK7log4cxx6Logger7getNameEv:
  680|     33|{
  681|     33|	return m_priv->name;
  682|     33|}
_ZN7log4cxx6Logger13LoggerPrivateC2ERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   41|     12|		: name(name1)
   42|     12|		, repositoryRaw(0)
   43|     12|		, additive(true)
   44|     12|		, levelData(Level::getData())
   45|     12|		{}

_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|  6.91k|{
   97|  6.91k|	static WideLife<LogLog> internalLogger;
   98|       |
   99|  6.91k|	return internalLogger;
  100|  6.91k|}
_ZN7log4cxx7helpers6LogLog14isDebugEnabledEv:
  103|  2.37k|{
  104|  2.37k|	auto p = getInstance().m_priv.get();
  105|  2.37k|	return p && !p->quietMode // Not deleted by onexit processing?
  ------------------
  |  Branch (105:9): [True: 2.37k, False: 0]
  |  Branch (105:14): [True: 2.37k, False: 0]
  ------------------
  106|  2.37k|			 && p->debugEnabled;
  ------------------
  |  Branch (106:8): [True: 2.09k, False: 287]
  ------------------
  107|  2.37k|}
_ZN7log4cxx7helpers6LogLog20setInternalDebuggingEb:
  120|     71|{
  121|     71|	auto p = getInstance().m_priv.get();
  122|     71|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (122:6): [True: 71, False: 0]
  |  Branch (122:11): [True: 71, False: 0]
  ------------------
  123|     71|		p->debugEnabled = debugEnabled1;
  124|     71|}
_ZN7log4cxx7helpers6LogLog15setColorEnabledEb:
  133|     31|{
  134|     31|	if (auto p = getInstance().m_priv.get())
  ------------------
  |  Branch (134:11): [True: 31, False: 0]
  ------------------
  135|     31|		p->setColorEnabled(newValue);
  136|     31|}
_ZN7log4cxx7helpers6LogLog5debugERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  139|  2.09k|{
  140|  2.09k|	auto p = getInstance().m_priv.get();
  141|  2.09k|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (141:6): [True: 2.09k, False: 0]
  |  Branch (141:11): [True: 2.09k, False: 0]
  ------------------
  142|  2.09k|	{
  143|  2.09k|		if (!p->debugEnabled)
  ------------------
  |  Branch (143:7): [True: 1, False: 2.09k]
  ------------------
  144|      1|		{
  145|      1|			return;
  146|      1|		}
  147|       |
  148|  2.09k|		std::lock_guard<std::mutex> lock(p->mutex);
  149|  2.09k|		emit_log(p->debugPrefix, msg, p->suffix);
  150|  2.09k|	}
  151|  2.09k|}
_ZN7log4cxx7helpers6LogLog5errorERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  169|     31|{
  170|     31|	auto p = getInstance().m_priv.get();
  171|     31|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (171:6): [True: 31, False: 0]
  |  Branch (171:11): [True: 31, False: 0]
  ------------------
  172|     31|	{
  173|     31|		std::lock_guard<std::mutex> lock(p->mutex);
  174|       |
  175|     31|		emit_log(p->errorPrefix, msg, p->suffix);
  176|     31|	}
  177|     31|}
_ZN7log4cxx7helpers6LogLog5errorERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERKSt9exception:
  180|  1.94k|{
  181|  1.94k|	auto p = getInstance().m_priv.get();
  182|  1.94k|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (182:6): [True: 1.94k, False: 0]
  |  Branch (182:11): [True: 1.94k, False: 0]
  ------------------
  183|  1.94k|	{
  184|  1.94k|		std::lock_guard<std::mutex> lock(p->mutex);
  185|  1.94k|		emit_log(p->errorPrefix, msg, p->suffix);
  186|  1.94k|		emit_log(p->errorPrefix, e, p->suffix);
  187|  1.94k|	}
  188|  1.94k|}
_ZN7log4cxx7helpers6LogLog4warnERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  222|    311|{
  223|    311|	auto p = getInstance().m_priv.get();
  224|    311|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (224:6): [True: 311, False: 0]
  |  Branch (224:11): [True: 311, False: 0]
  ------------------
  225|    311|	{
  226|    311|		std::lock_guard<std::mutex> lock(p->mutex);
  227|    311|		emit_log(p->warnPrefix, msg, p->suffix);
  228|    311|	}
  229|    311|}
_ZN7log4cxx7helpers6LogLog4warnERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERKSt9exception:
  232|     61|{
  233|     61|	auto p = getInstance().m_priv.get();
  234|     61|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (234:6): [True: 61, False: 0]
  |  Branch (234:11): [True: 61, False: 0]
  ------------------
  235|     61|	{
  236|     61|		std::lock_guard<std::mutex> lock(p->mutex);
  237|     61|		emit_log(p->warnPrefix, msg, p->suffix);
  238|     61|		emit_log(p->warnPrefix, e, p->suffix);
  239|     61|	}
  240|     61|}
_ZN7log4cxx7helpers6LogLog8emit_logERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEESA_SA_:
  243|  4.43k|{
  244|  4.43k|	LogString out(LOG4CXX_STR("log4cxx: "));
  ------------------
  |  |   43|  4.43k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  245|  4.43k|	out.append(prefix);
  246|  4.43k|	out.append(msg);
  247|  4.43k|	out.append(suffix);
  248|  4.43k|	out.append(1, (logchar) 0x0A);
  249|       |
  250|  4.43k|	SystemErrWriter().write(out);
  251|  4.43k|}
_ZN7log4cxx7helpers6LogLog8emit_logERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERKSt9exceptionSA_:
  254|  2.00k|{
  255|  2.00k|	LogString out(LOG4CXX_STR("log4cxx: "));
  ------------------
  |  |   43|  2.00k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  256|  2.00k|	out.append(prefix);
  257|  2.00k|	const char* raw = ex.what();
  258|       |
  259|  2.00k|	if (raw != 0)
  ------------------
  |  Branch (259:6): [True: 2.00k, False: 0]
  ------------------
  260|  2.00k|	{
  261|  2.00k|		Transcoder::decode(raw, out);
  262|  2.00k|	}
  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|  2.00k|	out.append(suffix);
  269|  2.00k|	out.append(1, (logchar) 0x0A);
  270|       |
  271|  2.00k|	SystemErrWriter().write(out);
  272|  2.00k|}
_ZN7log4cxx7helpers6LogLog13LogLogPrivate15setColorEnabledEb:
   58|     32|	{
   59|     32|		if (newValue)
  ------------------
  |  Branch (59:7): [True: 29, False: 3]
  ------------------
   60|     29|		{
   61|     29|			this->errorPrefix = LOG4CXX_STR("\x1B[31m"); //red
  ------------------
  |  |   43|     29|	#define LOG4CXX_STR(str) L ## str
  ------------------
   62|     29|			this->warnPrefix = LOG4CXX_STR("\x1B[33m"); //yellow
  ------------------
  |  |   43|     29|	#define LOG4CXX_STR(str) L ## str
  ------------------
   63|     29|			this->debugPrefix = LOG4CXX_STR("\x1B[32m"); //green
  ------------------
  |  |   43|     29|	#define LOG4CXX_STR(str) L ## str
  ------------------
   64|     29|			this->suffix = LOG4CXX_STR("\x1B[0m"); // none
  ------------------
  |  |   43|     29|	#define LOG4CXX_STR(str) L ## str
  ------------------
   65|     29|		}
   66|      3|		else
   67|      3|		{
   68|      3|			this->errorPrefix.clear();
   69|      3|			this->warnPrefix.clear();
   70|      3|			this->debugPrefix.clear();
   71|      3|			this->suffix.clear();
   72|      3|		}
   73|     32|	}
_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|	}

_ZN7log4cxx10LogManager21getRepositorySelectorEv:
   49|  2.14k|{
   50|  2.14k|	auto result = APRInitializer::getOrAddUnique<spi::RepositorySelector>( []() -> ObjectPtr
   51|  2.14k|		{
   52|  2.14k|			LoggerRepositoryPtr hierarchy = Hierarchy::create();
   53|  2.14k|			return std::make_shared<DefaultRepositorySelector>(hierarchy);
   54|  2.14k|		}
   55|  2.14k|	);
   56|  2.14k|	return result;
   57|  2.14k|}
_ZN7log4cxx10LogManager19getLoggerRepositoryEv:
   78|  2.14k|{
   79|  2.14k|	return getRepositorySelector()->getLoggerRepository();
   80|  2.14k|}
logmanager.cpp:_ZZN7log4cxx10LogManager21getRepositorySelectorEvENK3$_0clEv:
   51|      1|		{
   52|      1|			LoggerRepositoryPtr hierarchy = Hierarchy::create();
   53|      1|			return std::make_shared<DefaultRepositorySelector>(hierarchy);
   54|      1|		}

_ZN7log4cxx7helpers15OptionConverter9toBooleanERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEb:
  257|    115|{
  258|    115|	if (value.length() >= 4)
  ------------------
  |  Branch (258:6): [True: 80, False: 35]
  ------------------
  259|     80|	{
  260|     80|		if (StringHelper::equalsIgnoreCase(value.substr(0, 4),
  ------------------
  |  Branch (260:7): [True: 2, False: 78]
  ------------------
  261|     80|				LOG4CXX_STR("TRUE"), LOG4CXX_STR("true")))
  ------------------
  |  |   43|     80|	#define LOG4CXX_STR(str) L ## str
  ------------------
              				LOG4CXX_STR("TRUE"), LOG4CXX_STR("true")))
  ------------------
  |  |   43|     80|	#define LOG4CXX_STR(str) L ## str
  ------------------
  262|      2|		{
  263|      2|			return true;
  264|      2|		}
  265|     80|	}
  266|       |
  267|    113|	if (dEfault && value.length() >= 5)
  ------------------
  |  Branch (267:6): [True: 112, False: 1]
  |  Branch (267:17): [True: 71, False: 41]
  ------------------
  268|     71|	{
  269|     71|		if (StringHelper::equalsIgnoreCase(value.substr(0, 5),
  ------------------
  |  Branch (269:7): [True: 4, False: 67]
  ------------------
  270|     71|				LOG4CXX_STR("FALSE"), LOG4CXX_STR("false")))
  ------------------
  |  |   43|     71|	#define LOG4CXX_STR(str) L ## str
  ------------------
              				LOG4CXX_STR("FALSE"), LOG4CXX_STR("false")))
  ------------------
  |  |   43|     71|	#define LOG4CXX_STR(str) L ## str
  ------------------
  271|      4|		{
  272|      4|			return false;
  273|      4|		}
  274|     71|	}
  275|       |
  276|    109|	return dEfault;
  277|    113|}
_ZN7log4cxx7helpers15OptionConverter9substVarsERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERNS0_10PropertiesE:
  391|  1.02k|{
  392|  1.02k|	return substVarsSafely(val, props);
  393|  1.02k|}
_ZN7log4cxx7helpers15OptionConverter17getSystemPropertyERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEESA_:
  396|  6.58k|{
  397|  6.58k|	if (!key.empty())
  ------------------
  |  Branch (397:6): [True: 6.52k, False: 62]
  ------------------
  398|  6.52k|	{
  399|  6.52k|		LogString value(System::getProperty(key));
  400|       |
  401|  6.52k|		if (!value.empty())
  ------------------
  |  Branch (401:7): [True: 5.22k, False: 1.30k]
  ------------------
  402|  5.22k|		{
  403|  5.22k|			return value;
  404|  5.22k|		}
  405|  6.52k|	}
  406|       |
  407|  1.36k|	return def;
  408|  6.58k|}
_ZN7log4cxx7helpers15OptionConverter7toLevelERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERKNS2_10shared_ptrINS_5LevelEEE:
  412|    106|{
  413|    106|	size_t hashIndex = value.find(LOG4CXX_STR("#"));
  ------------------
  |  |   43|    106|	#define LOG4CXX_STR(str) L ## str
  ------------------
  414|       |
  415|    106|	if (hashIndex == LogString::npos)
  ------------------
  |  Branch (415:6): [True: 27, False: 79]
  ------------------
  416|     27|	{
  417|       |		// no class name specified : use standard Level class
  418|     27|		if (value.empty())
  ------------------
  |  Branch (418:7): [True: 0, False: 27]
  ------------------
  419|      0|		{
  420|      0|			return defaultValue;
  421|      0|		}
  422|     27|		else
  423|     27|		{
  424|     27|			return Level::toLevelLS(value, defaultValue);
  425|     27|		}
  426|     27|	}
  427|       |
  428|     79|	LogString clazz = value.substr(hashIndex + 1);
  429|     79|	LogString levelName = value.substr(0, hashIndex);
  430|       |
  431|       |	// This is degenerate case but you never know.
  432|     79|	if (levelName.empty() || clazz.empty())
  ------------------
  |  Branch (432:6): [True: 3, False: 76]
  |  Branch (432:27): [True: 2, False: 74]
  ------------------
  433|      5|	{
  434|      5|		return Level::toLevelLS(value, defaultValue);
  435|      5|	}
  436|     74|	if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (436:6): [True: 74, False: 0]
  ------------------
  437|     74|	{
  438|     74|		LogLog::debug(LOG4CXX_STR("Desired ") + Level::getStaticClass().getName()
  ------------------
  |  |   43|    370|	#define LOG4CXX_STR(str) L ## str
  ------------------
  439|     74|				+ LOG4CXX_STR(" sub-class: [") + clazz + LOG4CXX_STR("]"));
  ------------------
  |  |   43|     74|	#define LOG4CXX_STR(str) L ## str
  ------------------
              				+ LOG4CXX_STR(" sub-class: [") + clazz + LOG4CXX_STR("]"));
  ------------------
  |  |   43|     74|	#define LOG4CXX_STR(str) L ## str
  ------------------
  440|     74|	}
  441|       |
  442|     74|	try
  443|     74|	{
  444|       |		// Note: the dynamic_cast could fail across DLL boundaries.
  445|       |		// However, without the dynamic_cast a poorly formed XML file
  446|       |		// could attempt to load an invalid class as a filter, causing
  447|       |		// a crash.  If it can't be converted, a std::bad_cast should be
  448|       |		// thrown(and caught by the exception handler below)
  449|     74|		const Level::LevelClass& levelClass =
  450|     74|			dynamic_cast<const Level::LevelClass&>(Loader::loadClass(clazz));
  451|     74|		return levelClass.toLevel(levelName);
  452|     74|	}
  453|     74|	catch (Exception& oops)
  454|     74|	{
  455|     72|		LogLog::error(LOG4CXX_STR("Could not create ") + Level::getStaticClass().getName() + LOG4CXX_STR(" sub-class"), oops);
  ------------------
  |  |   43|    216|	#define LOG4CXX_STR(str) L ## str
  ------------------
              		LogLog::error(LOG4CXX_STR("Could not create ") + Level::getStaticClass().getName() + LOG4CXX_STR(" sub-class"), oops);
  ------------------
  |  |   43|     72|	#define LOG4CXX_STR(str) L ## str
  ------------------
  456|     72|	}
  457|     74|	catch (const std::bad_cast&)
  458|     74|	{
  459|      1|		LogLog::warn(
  460|      1|			LOG4CXX_STR("class [") + clazz + LOG4CXX_STR("] unable to be converted to "
  ------------------
  |  |   43|      3|	#define LOG4CXX_STR(str) L ## str
  ------------------
              			LOG4CXX_STR("class [") + clazz + LOG4CXX_STR("] unable to be converted to "
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
  461|      1|			"Level::LevelClass"));
  462|      1|	}
  463|     74|	catch (...)
  464|     74|	{
  465|      0|		LogLog::warn(
  466|      0|			LOG4CXX_STR("class [") + clazz + LOG4CXX_STR("], level [") + levelName +
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
              			LOG4CXX_STR("class [") + clazz + LOG4CXX_STR("], level [") + levelName +
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  467|      0|			LOG4CXX_STR("] conversion) failed."));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  468|      0|	}
  469|       |
  470|     73|	return defaultValue;
  471|     74|}
optionconverter.cpp:_ZN12_GLOBAL__N_115substVarsSafelyERKNSt3__112basic_stringIwNS0_11char_traitsIwEENS0_9allocatorIwEEEERN7log4cxx7helpers10PropertiesEPKNS_14LogStringChainE:
   81|  6.25k|{
   82|  6.25k|	LogString sbuf;
   83|  6.25k|	const logchar delimStartArray[] = { 0x24, 0x7B, 0 }; // '$', '{'
   84|  6.25k|	const LogString delimStart(delimStartArray);
   85|  6.25k|	const logchar delimStop = 0x7D; // '}';
   86|  6.25k|	const size_t DELIM_START_LEN = 2;
   87|  6.25k|	const size_t DELIM_STOP_LEN = 1;
   88|       |
   89|  6.25k|	size_t i = 0;
   90|       |
   91|  12.8k|	while (true)
  ------------------
  |  Branch (91:9): [True: 12.8k, Folded]
  ------------------
   92|  12.8k|	{
   93|  12.8k|		size_t j = val.find(delimStart, i);
   94|       |
   95|  12.8k|		if (j == val.npos)
  ------------------
  |  Branch (95:7): [True: 6.19k, False: 6.64k]
  ------------------
   96|  6.19k|		{
   97|       |			// no more variables
   98|  6.19k|			if (i == 0)
  ------------------
  |  Branch (98:8): [True: 6.01k, False: 172]
  ------------------
   99|  6.01k|			{
  100|       |				// this is a simple string
  101|  6.01k|				return val;
  102|  6.01k|			}
  103|    172|			else
  104|    172|			{
  105|       |				// add the tail string which contails no variables and return the result.
  106|    172|				sbuf.append(val.substr(i, val.length() - i));
  107|    172|				return sbuf;
  108|    172|			}
  109|  6.19k|		}
  110|  6.64k|		else
  111|  6.64k|		{
  112|  6.64k|			sbuf.append(val.substr(i, j - i));
  113|  6.64k|			size_t k = val.find(delimStop, j);
  114|       |
  115|  6.64k|			if (k == val.npos)
  ------------------
  |  Branch (115:8): [True: 61, False: 6.58k]
  ------------------
  116|     61|			{
  117|     61|				LogString msg(1, (logchar) 0x22 /* '\"' */);
  118|     61|				msg.append(val);
  119|     61|				msg.append(LOG4CXX_STR("\" has no closing brace. Opening brace at position "));
  ------------------
  |  |   43|     61|	#define LOG4CXX_STR(str) L ## str
  ------------------
  120|     61|				helpers::Pool p;
  121|     61|				helpers::StringHelper::toString(j, msg);
  122|     61|				msg.append(1, (logchar) 0x2E /* '.' */);
  123|     61|				throw helpers::IllegalArgumentException(msg);
  124|     61|			}
  125|  6.58k|			else
  126|  6.58k|			{
  127|  6.58k|				j += DELIM_START_LEN;
  128|  6.58k|				LogString key = val.substr(j, k - j);
  129|  6.58k|				if (path && isRecursiveReference(key, path))
  ------------------
  |  Branch (129:9): [True: 0, False: 6.58k]
  |  Branch (129:17): [True: 0, False: 0]
  ------------------
  130|      0|				{
  131|      0|					LogString msg(LOG4CXX_STR("The variable ${"));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  132|      0|					msg.append(key);
  133|      0|					msg.append(LOG4CXX_STR("} is used recursively"));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  134|      0|					throw helpers::IllegalArgumentException(msg);
  135|      0|				}
  136|       |
  137|       |				// first try in System properties
  138|  6.58k|				LogString replacement(helpers::OptionConverter::getSystemProperty(key, LogString()));
  139|       |
  140|       |				// then try props parameter
  141|  6.58k|				if (replacement.empty())
  ------------------
  |  Branch (141:9): [True: 1.36k, False: 5.22k]
  ------------------
  142|  1.36k|				{
  143|  1.36k|					replacement = props.getProperty(key);
  144|  1.36k|				}
  145|       |
  146|  6.58k|				if (!replacement.empty())
  ------------------
  |  Branch (146:9): [True: 5.22k, False: 1.35k]
  ------------------
  147|  5.22k|				{
  148|       |					// Do variable substitution on the replacement string
  149|       |					// such that we can solve "Hello ${x2}" as "Hello p1"
  150|       |					// the where the properties are
  151|       |					// x1=p1
  152|       |					// x2=${x1}
  153|  5.22k|					LogStringChain current{ key, path };
  154|  5.22k|					LogString recursiveReplacement = substVarsSafely(replacement, props, &current);
  155|  5.22k|					sbuf.append(recursiveReplacement);
  156|  5.22k|				}
  157|       |
  158|  6.58k|				i = k + DELIM_STOP_LEN;
  159|  6.58k|			}
  160|  6.64k|		}
  161|  12.8k|	}
  162|  6.25k|}

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

_ZN7log4cxx7helpers10PropertiesC2Ev:
  398|      1|Properties::Properties() : properties(new PropertyMap())
  399|      1|{
  400|      1|}
_ZN7log4cxx7helpers10PropertiesC2ERKS1_:
  403|  2.14k|	: properties(new PropertyMap(*other.properties))
  404|  2.14k|{
  405|  2.14k|}
_ZN7log4cxx7helpers10PropertiesD2Ev:
  415|  2.14k|{
  416|  2.14k|	delete properties;
  417|  2.14k|}
_ZN7log4cxx7helpers10Properties11setPropertyERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEESA_:
  420|      7|{
  421|      7|	return put(key, value);
  422|      7|}
_ZN7log4cxx7helpers10Properties3putERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEESA_:
  425|      7|{
  426|      7|	LogString oldValue((*properties)[key]);
  427|      7|	(*properties)[key] = value;
  428|      7|	return oldValue;
  429|      7|}
_ZNK7log4cxx7helpers10Properties11getPropertyERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  432|  1.36k|{
  433|  1.36k|	return get(key);
  434|  1.36k|}
_ZNK7log4cxx7helpers10Properties3getERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  437|  1.36k|{
  438|  1.36k|	PropertyMap::const_iterator it = properties->find(key);
  439|  1.36k|	return (it != properties->end()) ? it->second : LogString();
  ------------------
  |  Branch (439:9): [True: 3, False: 1.35k]
  ------------------
  440|  1.36k|}
_ZNK7log4cxx7helpers10Properties7isEmptyEv:
  463|  2.14k|{
  464|  2.14k|	return properties->empty();
  465|  2.14k|}

_ZN7log4cxx6config14PropertySetterC2ERKNSt3__110shared_ptrINS_7helpers6ObjectEEE:
   31|     11|PropertySetter::PropertySetter(const helpers::ObjectPtr& obj1) : obj(obj1)
   32|     11|{
   33|     11|}
_ZN7log4cxx6config14PropertySetter8activateEv:
   93|     11|{
   94|     11|	if (obj != 0 && obj->instanceof(OptionHandler::getStaticClass()))
  ------------------
  |  Branch (94:6): [True: 11, False: 0]
  |  Branch (94:18): [True: 0, False: 11]
  ------------------
   95|      0|	{
   96|      0|		OptionHandlerPtr handler = LOG4CXX_NS::cast<OptionHandler>(obj);
   97|      0|		handler->activateOptions();
   98|      0|	}
   99|     11|}

_ZN7log4cxx3spi10RootLoggerC1ERKNSt3__110shared_ptrINS_5LevelEEE:
   28|      1|	: Logger(LOG4CXX_STR("root"))
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
   29|      1|{
   30|      1|	setLevel(level1);
   31|      1|}
_ZNK7log4cxx3spi10RootLogger17getEffectiveLevelEv:
   41|      1|{
   42|      1|	return getLevel();
   43|      1|}
_ZN7log4cxx3spi10RootLogger8setLevelENSt3__110shared_ptrINS_5LevelEEE:
   46|      1|{
   47|      1|	if (level1 == 0)
  ------------------
  |  Branch (47:6): [True: 0, False: 1]
  ------------------
   48|      0|	{
   49|      0|		LogLog::error(LOG4CXX_STR("You have tried to set a null level to root."));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
   50|      0|	}
   51|      1|	else
   52|      1|	{
   53|      1|		Logger::setLevel(level1);
   54|      1|	}
   55|      1|}

_ZN7log4cxx7helpers12StringHelper16equalsIgnoreCaseERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEPKwSC_:
   32|  2.30k|{
   33|  2.30k|	for (const auto& item : s1)
  ------------------
  |  Branch (33:24): [True: 10.9k, False: 2.15k]
  ------------------
   34|  10.9k|	{
   35|  10.9k|		if (0 == item || // OSS-Fuzz makes strings with embedded NUL characters
  ------------------
  |  Branch (35:7): [True: 0, False: 10.9k]
  ------------------
   36|  10.9k|			(item != *upper && item != *lower))
  ------------------
  |  Branch (36:5): [True: 183, False: 10.7k]
  |  Branch (36:23): [True: 149, False: 34]
  ------------------
   37|    149|		{
   38|    149|			return false;
   39|    149|		}
   40|  10.7k|		++upper;
   41|  10.7k|		++lower;
   42|  10.7k|	}
   43|       |
   44|  2.15k|	return 0 == *upper;
   45|  2.30k|}
_ZN7log4cxx7helpers12StringHelper11toLowerCaseERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   69|    302|{
   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|    302|	LogString d;
   76|    302|	d.reserve(s.size());
   77|    302|	for (auto ch : s)
  ------------------
  |  Branch (77:15): [True: 261k, False: 302]
  ------------------
   78|   261k|	{
   79|   261k|		if (ch >= static_cast<logchar>('A') && ch <= static_cast<logchar>('Z'))
  ------------------
  |  Branch (79:7): [True: 182k, False: 79.2k]
  |  Branch (79:42): [True: 2.32k, False: 180k]
  ------------------
   80|  2.32k|			d.push_back(static_cast<logchar>(ch + ('a' - 'A')));
   81|   259k|		else
   82|   259k|			d.push_back(ch);
   83|   261k|	}
   84|    302|	return d;
   85|    302|}
_ZN7log4cxx7helpers12StringHelper4trimERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   88|     33|{
   89|     33|	LogString::size_type pos = s.find_first_not_of(' ');
   90|       |
   91|     33|	if (pos == std::string::npos)
  ------------------
  |  Branch (91:6): [True: 1, False: 32]
  ------------------
   92|      1|	{
   93|      1|		return LogString();
   94|      1|	}
   95|       |
   96|     32|	LogString::size_type n = s.find_last_not_of(' ') - pos + 1;
   97|     32|	return s.substr(pos, n);
   98|     33|}
_ZN7log4cxx7helpers12StringHelper8toStringEmRNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  180|     61|{
  181|     61|#if LOG4CXX_LOGCHAR_IS_WCHAR
  182|     61|	dst.append(std::to_wstring(n));
  183|       |#elif LOG4CXX_LOGCHAR_IS_UTF8
  184|       |	dst.append(std::to_string(n));
  185|       |#else
  186|       |	Transcoder::decode(std::to_string(n), dst);
  187|       |#endif
  188|     61|}

_ZN7log4cxx7helpers6System11getPropertyERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   45|  6.52k|{
   46|  6.52k|	if (lkey.empty())
  ------------------
  |  Branch (46:6): [True: 0, False: 6.52k]
  ------------------
   47|      0|	{
   48|      0|		throw IllegalArgumentException(LOG4CXX_STR("key is empty"));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
   49|      0|	}
   50|       |
   51|  6.52k|	LogString rv;
   52|       |
   53|  6.52k|	if (lkey == LOG4CXX_STR("java.io.tmpdir"))
  ------------------
  |  |   43|  6.52k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (53:6): [True: 0, False: 6.52k]
  ------------------
   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|  6.52k|	if (lkey == LOG4CXX_STR("user.dir"))
  ------------------
  |  |   43|  6.52k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (67:6): [True: 0, False: 6.52k]
  ------------------
   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|  6.52k|#if APR_HAS_USER
   83|       |
   84|  6.52k|	if (lkey == LOG4CXX_STR("user.home") || lkey == LOG4CXX_STR("user.name"))
  ------------------
  |  |   43|  6.52k|	#define LOG4CXX_STR(str) L ## str
  ------------------
              	if (lkey == LOG4CXX_STR("user.home") || lkey == LOG4CXX_STR("user.name"))
  ------------------
  |  |   43|  6.52k|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (84:6): [True: 4, False: 6.52k]
  |  Branch (84:42): [True: 0, False: 6.52k]
  ------------------
   85|      4|	{
   86|      4|		Pool pool;
   87|      4|		apr_uid_t userid;
   88|      4|		apr_gid_t groupid;
   89|      4|		apr_pool_t* p = pool.getAPRPool();
   90|      4|		apr_status_t stat = apr_uid_current(&userid, &groupid, p);
   91|       |
   92|      4|		if (stat == APR_SUCCESS)
  ------------------
  |  |  225|      4|#define APR_SUCCESS 0
  ------------------
  |  Branch (92:7): [True: 4, False: 0]
  ------------------
   93|      4|		{
   94|      4|			char* username = NULL;
   95|      4|			stat = apr_uid_name_get(&username, userid, p);
   96|       |
   97|      4|			if (stat == APR_SUCCESS)
  ------------------
  |  |  225|      4|#define APR_SUCCESS 0
  ------------------
  |  Branch (97:8): [True: 4, False: 0]
  ------------------
   98|      4|			{
   99|      4|				if (lkey == LOG4CXX_STR("user.name"))
  ------------------
  |  |   43|      4|	#define LOG4CXX_STR(str) L ## str
  ------------------
  |  Branch (99:9): [True: 0, False: 4]
  ------------------
  100|      0|				{
  101|      0|					Transcoder::decode(username, rv);
  102|      0|				}
  103|      4|				else
  104|      4|				{
  105|      4|					char* dirname = NULL;
  106|      4|					stat = apr_uid_homepath_get(&dirname, username, p);
  107|       |
  108|      4|					if (stat == APR_SUCCESS)
  ------------------
  |  |  225|      4|#define APR_SUCCESS 0
  ------------------
  |  Branch (108:10): [True: 4, False: 0]
  ------------------
  109|      4|					{
  110|      4|						Transcoder::decode(dirname, rv);
  111|      4|					}
  112|      4|				}
  113|      4|			}
  114|      4|		}
  115|       |
  116|      4|		return rv;
  117|      4|	}
  118|       |
  119|  6.52k|#endif
  120|       |
  121|  6.52k|	LOG4CXX_ENCODE_CHAR(key, lkey);
  ------------------
  |  |  238|  6.52k|	std::string var;                      \
  |  |  239|  6.52k|	LOG4CXX_NS::helpers::Transcoder::encode(src, var)
  ------------------
  122|  6.52k|	Pool p;
  123|  6.52k|	char* value = NULL;
  124|  6.52k|	apr_status_t stat = apr_env_get(&value, key.c_str(),
  125|  6.52k|			p.getAPRPool());
  126|       |
  127|  6.52k|	if (stat == APR_SUCCESS)
  ------------------
  |  |  225|  6.52k|#define APR_SUCCESS 0
  ------------------
  |  Branch (127:6): [True: 5.22k, False: 1.30k]
  ------------------
  128|  5.22k|	{
  129|  5.22k|		Transcoder::decode((const char*) value, rv);
  130|  5.22k|	}
  131|       |
  132|  6.52k|	return rv;
  133|  6.52k|}
_ZN7log4cxx7helpers6System28addProgramFilePathComponentsERNS0_10PropertiesE:
  136|      1|{
  137|       |	// Find the executable file name
  138|      1|	static const int bufSize = 4096;
  139|      1|	char buf[bufSize+1] = {0}, pathSepar = '/';
  140|       |#if defined(_WIN32)
  141|       |	if (0 == GetModuleFileName(NULL, buf, bufSize))
  142|       |	{
  143|       |		LogString lsErrorCode;
  144|       |		StringHelper::toString((int)GetLastError(), lsErrorCode);
  145|       |		LogLog::warn(LOG4CXX_STR("GetModuleFileName error ") + lsErrorCode);
  146|       |		return;
  147|       |	}
  148|       |	pathSepar = '\\';
  149|       |#elif defined(__APPLE__)
  150|       |	uint32_t bufCount = bufSize;
  151|       |	if (0 != _NSGetExecutablePath(buf, &bufCount))
  152|       |	{
  153|       |		LogLog::warn(LOG4CXX_STR("_NSGetExecutablePath failed"));
  154|       |		return;
  155|       |	}
  156|       |#elif (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 500) || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L)
  157|       |	int bufCount = 0;
  158|      1|	std::ostringstream exeLink;
  159|      1|	exeLink << "/proc/" << getpid() << "/exe";
  160|      1|	if ((bufCount = readlink(exeLink.str().c_str(), buf, bufSize)) <= 0)
  ------------------
  |  Branch (160:6): [True: 0, False: 1]
  ------------------
  161|      0|	{
  162|      0|		LOG4CXX_DECODE_CHAR(lsExeLink, exeLink.str());
  ------------------
  |  |  251|      0|	LOG4CXX_NS::LogString var;                      \
  |  |  252|      0|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
  163|      0|		LogLog::warn(LOG4CXX_STR("Failed to read ") + lsExeLink);
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  164|      0|		return;
  165|      0|	}
  166|      1|	if (bufSize < bufCount)
  ------------------
  |  Branch (166:6): [True: 0, False: 1]
  ------------------
  167|      0|		buf[bufSize] = 0;
  168|      1|	else
  169|      1|		buf[bufCount] = 0;
  170|       |#else
  171|       |	LogLog::warn(LOG4CXX_STR("Unable to determine the name of the executable file on this system"));
  172|       |	return;
  173|       |#endif
  174|       |
  175|       |	// Add the path to the properties
  176|      1|	std::string programFileName(buf);
  177|      1|	if (programFileName.empty())
  ------------------
  |  Branch (177:6): [True: 0, False: 1]
  ------------------
  178|      0|	{
  179|      0|		LogLog::warn(LOG4CXX_STR("Current executable's file name is empty"));
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  180|      0|		return;
  181|      0|	}
  182|       |		
  183|      1|	LOG4CXX_DECODE_CHAR(lsProgramFileName, programFileName);
  ------------------
  |  |  251|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  252|      1|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
  184|      1|	LogString prefix{ LOG4CXX_STR("PROGRAM_FILE_PATH") };
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
  185|      1|	props.setProperty(prefix, lsProgramFileName);
  186|       |
  187|      1|#if LOG4CXX_HAS_FILESYSTEM_PATH
  188|       |	// Add the path components to the properties
  189|      1|	prefix += '.';
  190|      1|	FilesystemPath programPath(programFileName);
  191|      1|#if LOG4CXX_LOGCHAR_IS_WCHAR
  192|      1|	auto root_name = programPath.root_name().wstring();
  193|      1|	if (!root_name.empty())
  ------------------
  |  Branch (193:6): [True: 0, False: 1]
  ------------------
  194|      0|		props.setProperty(prefix + LOG4CXX_STR("ROOT_NAME"), root_name);
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  195|      1|	auto root_directory = programPath.root_directory().wstring();
  196|      1|	props.setProperty(prefix + LOG4CXX_STR("ROOT_DIRECTORY"),root_directory);
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
  197|      1|	auto root_path = programPath.root_path().wstring();
  198|      1|	props.setProperty(prefix + LOG4CXX_STR("ROOT_PATH"), root_path);
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
  199|      1|	auto relative_path = programPath.relative_path().wstring();
  200|      1|	props.setProperty(prefix + LOG4CXX_STR("RELATIVE_PATH"), relative_path);
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
  201|      1|	auto parent_path = programPath.parent_path().wstring();
  202|      1|	props.setProperty(prefix + LOG4CXX_STR("PARENT_PATH"), parent_path);
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
  203|      1|	auto filename = programPath.filename().wstring();
  204|      1|	props.setProperty(prefix + LOG4CXX_STR("FILENAME"), filename);
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
  205|      1|	auto stem = programPath.stem().wstring();
  206|      1|	props.setProperty(prefix + LOG4CXX_STR("STEM"), stem);
  ------------------
  |  |   43|      1|	#define LOG4CXX_STR(str) L ## str
  ------------------
  207|      1|	auto extension = programPath.extension().wstring();
  208|      1|	if (!extension.empty())
  ------------------
  |  Branch (208:6): [True: 0, False: 1]
  ------------------
  209|      0|		props.setProperty(prefix + LOG4CXX_STR("EXTENSION"), extension);
  ------------------
  |  |   43|      0|	#define LOG4CXX_STR(str) L ## str
  ------------------
  210|       |#else
  211|       |	LOG4CXX_DECODE_CHAR(root_name, programPath.root_name().string());
  212|       |	if (!root_name.empty())
  213|       |		props.setProperty(prefix + LOG4CXX_STR("ROOT_NAME"), root_name);
  214|       |	LOG4CXX_DECODE_CHAR(root_directory, programPath.root_directory().string());
  215|       |	props.setProperty(prefix + LOG4CXX_STR("ROOT_DIRECTORY"),root_directory);
  216|       |	LOG4CXX_DECODE_CHAR(root_path, programPath.root_path().string());
  217|       |	props.setProperty(prefix + LOG4CXX_STR("ROOT_PATH"), root_path);
  218|       |	LOG4CXX_DECODE_CHAR(relative_path, programPath.relative_path().string());
  219|       |	props.setProperty(prefix + LOG4CXX_STR("RELATIVE_PATH"), relative_path);
  220|       |	LOG4CXX_DECODE_CHAR(parent_path, programPath.parent_path().string());
  221|       |	props.setProperty(prefix + LOG4CXX_STR("PARENT_PATH"), parent_path);
  222|       |	LOG4CXX_DECODE_CHAR(filename, programPath.filename().string());
  223|       |	props.setProperty(prefix + LOG4CXX_STR("FILENAME"), filename);
  224|       |	LOG4CXX_DECODE_CHAR(stem, programPath.stem().string());
  225|       |	props.setProperty(prefix + LOG4CXX_STR("STEM"), stem);
  226|       |	LOG4CXX_DECODE_CHAR(extension, programPath.extension().string());
  227|       |	if (!extension.empty())
  228|       |		props.setProperty(prefix + LOG4CXX_STR("EXTENSION"), extension);
  229|       |#endif
  230|      1|#endif // LOG4CXX_HAS_FILESYSTEM_PATH
  231|      1|}

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

_ZN7log4cxx7helpers10Transcoder10encodeUTF8EjRNS0_10ByteBufferE:
  102|   700k|{
  103|   700k|	size_t bytes = encodeUTF8(sv, dst.current());
  104|   700k|	dst.increment_position(bytes);
  105|   700k|}
_ZN7log4cxx7helpers10Transcoder10encodeUTF8EjPc:
  109|   700k|{
  110|   700k|	if (ch < 0x80)
  ------------------
  |  Branch (110:6): [True: 699k, False: 1.07k]
  ------------------
  111|   699k|	{
  112|   699k|		dst[0] = (char) ch;
  113|   699k|		return 1;
  114|   699k|	}
  115|  1.07k|	else if (ch < 0x800)
  ------------------
  |  Branch (115:11): [True: 901, False: 170]
  ------------------
  116|    901|	{
  117|    901|		dst[0] = (char) (0xC0 + (ch >> 6));
  118|    901|		dst[1] = (char) (0x80 + (ch & 0x3F));
  119|    901|		return 2;
  120|    901|	}
  121|    170|	else if (ch < 0x10000)
  ------------------
  |  Branch (121:11): [True: 59, False: 111]
  ------------------
  122|     59|	{
  123|     59|		dst[0] = (char) (0xE0 + (ch >> 12));
  124|     59|		dst[1] = (char) (0x80 + ((ch >> 6) & 0x3F));
  125|     59|		dst[2] = (char) (0x80 + (ch & 0x3F));
  126|     59|		return 3;
  127|     59|	}
  128|    111|	else if (ch <= 0x10FFFF)
  ------------------
  |  Branch (128:11): [True: 111, False: 0]
  ------------------
  129|    111|	{
  130|    111|		dst[0] = (char) (0xF0 + (ch >> 18));
  131|    111|		dst[1] = (char) (0x80 + ((ch >> 12) & 0x3F));
  132|    111|		dst[2] = (char) (0x80 + ((ch >> 6) & 0x3F));
  133|    111|		dst[3] = (char) (0x80 + (ch & 0x3F));
  134|    111|		return 4;
  135|    111|	}
  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|   700k|}
_ZN7log4cxx7helpers10Transcoder6decodeERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERNS2_11__wrap_iterIPKcEE:
  210|   292k|{
  211|   292k|	std::string::const_iterator start(iter);
  212|   292k|	unsigned char ch1 = *(iter++);
  213|       |
  214|   292k|	if (ch1 <= 0x7F)
  ------------------
  |  Branch (214:6): [True: 292k, False: 566]
  ------------------
  215|   292k|	{
  216|   292k|		return ch1;
  217|   292k|	}
  218|       |
  219|       |	//
  220|       |	//   should not have continuation character here
  221|       |	//
  222|    566|	if ((ch1 & 0xC0) != 0x80 && iter != src.end())
  ------------------
  |  Branch (222:6): [True: 566, False: 0]
  |  Branch (222:6): [True: 564, False: 2]
  |  Branch (222:30): [True: 564, False: 2]
  ------------------
  223|    564|	{
  224|    564|		unsigned char ch2 = *(iter++);
  225|       |
  226|       |		//
  227|       |		//   should be continuation
  228|    564|		if ((ch2 & 0xC0) != 0x80)
  ------------------
  |  Branch (228:7): [True: 0, False: 564]
  ------------------
  229|      0|		{
  230|      0|			iter = start;
  231|      0|			return 0xFFFF;
  232|      0|		}
  233|       |
  234|    564|		if ((ch1 & 0xE0) == 0xC0)
  ------------------
  |  Branch (234:7): [True: 450, False: 114]
  ------------------
  235|    450|		{
  236|    450|			if ((ch2 & 0xC0) == 0x80)
  ------------------
  |  Branch (236:8): [True: 450, False: 0]
  ------------------
  237|    450|			{
  238|    450|				unsigned int rv = ((ch1 & 0x1F) << 6) + (ch2 & 0x3F);
  239|       |
  240|    450|				if (rv >= 0x80)
  ------------------
  |  Branch (240:9): [True: 450, False: 0]
  ------------------
  241|    450|				{
  242|    450|					return rv;
  243|    450|				}
  244|    450|			}
  245|       |
  246|      0|			iter = start;
  247|      0|			return 0xFFFF;
  248|    450|		}
  249|       |
  250|    114|		if (iter != src.end())
  ------------------
  |  Branch (250:7): [True: 114, False: 0]
  ------------------
  251|    114|		{
  252|    114|			unsigned char ch3 = *(iter++);
  253|       |
  254|       |			//
  255|       |			//   should be continuation
  256|       |			//
  257|    114|			if ((ch3 & 0xC0) != 0x80)
  ------------------
  |  Branch (257:8): [True: 0, False: 114]
  ------------------
  258|      0|			{
  259|      0|				iter = start;
  260|      0|				return 0xFFFF;
  261|      0|			}
  262|       |
  263|    114|			if ((ch1 & 0xF0) == 0xE0)
  ------------------
  |  Branch (263:8): [True: 44, False: 70]
  ------------------
  264|     44|			{
  265|     44|				unsigned rv = ((ch1 & 0x0F) << 12)
  266|     44|					+ ((ch2 & 0x3F) << 6)
  267|     44|					+ (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|     44|				if (rv < 0x800 || (0xD800 <= rv && rv <= 0xDFFF))
  ------------------
  |  Branch (272:9): [True: 0, False: 44]
  |  Branch (272:24): [True: 14, False: 30]
  |  Branch (272:40): [True: 0, False: 14]
  ------------------
  273|      0|				{
  274|      0|					iter = start;
  275|      0|					return 0xFFFF;
  276|      0|				}
  277|       |
  278|     44|				return rv;
  279|     44|			}
  280|       |
  281|     70|			if (iter != src.end())
  ------------------
  |  Branch (281:8): [True: 70, False: 0]
  ------------------
  282|     70|			{
  283|     70|				unsigned char ch4 = *(iter++);
  284|       |
  285|     70|				if ((ch4 & 0xC0) != 0x80)
  ------------------
  |  Branch (285:9): [True: 0, False: 70]
  ------------------
  286|      0|				{
  287|      0|					iter = start;
  288|      0|					return 0xFFFF;
  289|      0|				}
  290|       |
  291|     70|				unsigned int rv = ((ch1 & 0x07) << 18)
  292|     70|					+ ((ch2 & 0x3F) << 12)
  293|     70|					+ ((ch3 & 0x3F) << 6)
  294|     70|					+ (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|     70|				if (rv > 0xFFFF && rv <= 0x10FFFF)
  ------------------
  |  Branch (301:9): [True: 70, False: 0]
  |  Branch (301:24): [True: 70, False: 0]
  ------------------
  302|     70|				{
  303|     70|					return rv;
  304|     70|				}
  305|       |
  306|     70|			}
  307|     70|		}
  308|    114|	}
  309|       |
  310|      2|	iter = start;
  311|      2|	return 0xFFFF;
  312|    566|}
_ZN7log4cxx7helpers10Transcoder6decodeERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERNS3_IwNS4_IwEENS6_IwEEEE:
  324|  11.2k|{
  325|       |#if LOG4CXX_CHARSET_UTF8 && LOG4CXX_LOGCHAR_IS_UTF8
  326|       |	dst.append(src);
  327|       |#else
  328|  11.2k|	static CharsetDecoderPtr decoder(CharsetDecoder::getDefaultDecoder());
  329|  11.2k|	dst.reserve(dst.size() + src.size());
  330|  11.2k|	std::string::const_iterator iter = src.begin();
  331|  11.2k|#if !LOG4CXX_CHARSET_EBCDIC
  332|       |
  333|  11.2k|	for (;
  334|   753k|		iter != src.end() && ((unsigned char) *iter) < 0x80;
  ------------------
  |  Branch (334:3): [True: 742k, False: 11.1k]
  |  Branch (334:3): [True: 742k, False: 11.2k]
  |  Branch (334:24): [True: 742k, False: 75]
  ------------------
  335|   742k|		iter++)
  336|   742k|	{
  337|   742k|		dst.append(1, *iter);
  338|   742k|	}
  339|       |
  340|  11.2k|#endif
  341|       |
  342|  11.2k|	if (iter != src.end())
  ------------------
  |  Branch (342:6): [True: 75, False: 11.1k]
  ------------------
  343|     75|	{
  344|     75|		size_t offset = iter - src.begin();
  345|     75|		ByteBuffer buf(const_cast<char*>(src.data() + offset), src.size() - offset);
  346|       |
  347|    150|		while (buf.remaining() > 0)
  ------------------
  |  Branch (347:10): [True: 75, False: 75]
  ------------------
  348|     75|		{
  349|     75|			log4cxx_status_t stat = decoder->decode(buf, dst);
  350|       |
  351|     75|			if (CharsetDecoder::isError(stat))
  ------------------
  |  Branch (351:8): [True: 0, False: 75]
  ------------------
  352|      0|			{
  353|      0|				dst.append(1, LOSSCHAR);
  354|      0|				buf.increment_position(1);
  355|      0|			}
  356|     75|		}
  357|       |
  358|     75|		decoder->decode(buf, dst);
  359|     75|	}
  360|       |
  361|  11.2k|#endif
  362|  11.2k|}
_ZN7log4cxx7helpers10Transcoder6encodeERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERNS3_IcNS4_IcEENS6_IcEEEE:
  379|  17.1k|{
  380|       |#if LOG4CXX_CHARSET_UTF8 && LOG4CXX_LOGCHAR_IS_UTF8
  381|       |	dst.append(src);
  382|       |#else
  383|  17.1k|	static CharsetEncoderPtr encoder(CharsetEncoder::getDefaultEncoder());
  384|  17.1k|	dst.reserve(dst.size() + src.size());
  385|  17.1k|	LogString::const_iterator iter = src.begin();
  386|  17.1k|#if !LOG4CXX_CHARSET_EBCDIC
  387|       |
  388|  17.1k|	for (;
  389|   892k|		iter != src.end() && ((unsigned int) *iter) < 0x80;
  ------------------
  |  Branch (389:3): [True: 875k, False: 16.6k]
  |  Branch (389:3): [True: 875k, False: 17.1k]
  |  Branch (389:24): [True: 875k, False: 435]
  ------------------
  390|   875k|		iter++)
  391|   875k|	{
  392|   875k|		dst.append(1, static_cast<char>(*iter));
  393|   875k|	}
  394|       |
  395|  17.1k|#endif
  396|       |
  397|  17.1k|	if (iter != src.end())
  ------------------
  |  Branch (397:6): [True: 435, False: 16.6k]
  ------------------
  398|    435|	{
  399|    435|		char buf[BUFSIZE];
  400|    435|		ByteBuffer out(buf, BUFSIZE);
  401|       |
  402|  3.60k|		while (iter != src.end())
  ------------------
  |  Branch (402:10): [True: 3.17k, False: 435]
  ------------------
  403|  3.17k|		{
  404|  3.17k|			log4cxx_status_t stat = encoder->encode(src, iter, out);
  405|  3.17k|			out.flip();
  406|  3.17k|			dst.append(out.data(), out.limit());
  407|  3.17k|			out.clear();
  408|       |
  409|  3.17k|			if (CharsetEncoder::isError(stat))
  ------------------
  |  Branch (409:8): [True: 0, False: 3.17k]
  ------------------
  410|      0|			{
  411|      0|				dst.append(1, LOSSCHAR);
  412|      0|				iter++;
  413|      0|			}
  414|  3.17k|		}
  415|       |
  416|    435|		encoder->encode(src, iter, out);
  417|    435|	}
  418|       |
  419|  17.1k|#endif
  420|  17.1k|}
_ZN7log4cxx7helpers10Transcoder6decodeERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEERNS2_11__wrap_iterIPKwEE:
  558|   700k|{
  559|   700k|#if defined(__STDC_ISO_10646__)
  560|   700k|	return *(iter++);
  561|       |#else
  562|       |	return decodeUTF16(in, iter);
  563|       |#endif
  564|   700k|}
_ZN7log4cxx7helpers10Transcoder6encodeEjRNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
  568|   292k|{
  569|   292k|#if defined(__STDC_ISO_10646__)
  570|   292k|	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|   292k|}

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

configurator.cpp:_ZN7log4cxx7helpers14APRInitializer14getOrAddUniqueINS0_15SingletonHolderINSt3__14pairIN12_GLOBAL__N_115ConfiguratorTagENS0_10PropertiesEEEEEEENS4_10shared_ptrIT_EENS4_8functionIFNSB_INS0_6ObjectEEEvEEE:
   74|  2.14k|		{
   75|  2.14k|			return cast<T>(getInstance().findOrAddObject(typeid(T).hash_code(), creator));
   76|  2.14k|		}
_ZN7log4cxx7helpers14APRInitializer14getOrAddUniqueINS_3spi18RepositorySelectorEEENSt3__110shared_ptrIT_EENS5_8functionIFNS6_INS0_6ObjectEEEvEEE:
   74|  2.14k|		{
   75|  2.14k|			return cast<T>(getInstance().findOrAddObject(typeid(T).hash_code(), creator));
   76|  2.14k|		}

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

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

_ZN7log4cxx7helpers6ObjectD2Ev:
  104|  12.9k|		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|    280|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|    280|	#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
  ------------------
_ZNK7log4cxx6Logger10instanceofERKNS_7helpers5ClassE:
  152|     11|	{ return cast(clazz) != 0; }
_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
  ------------------
_ZNK7log4cxx7helpers11InputStream16ClazzInputStream7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx3spi12Configurator17ClazzConfigurator7getNameEv:
   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
  ------------------
_ZNK7log4cxx7helpers14CharsetDecoder19ClazzCharsetDecoder7getNameEv:
   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
  ------------------
_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
  ------------------
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_ZNK7log4cxx3spi12ErrorHandler17ClazzErrorHandler7getNameEv:
   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
  ------------------
_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
  ------------------
_ZNK7log4cxx3spi18RepositorySelector23ClazzRepositorySelector7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx5varia20FallbackErrorHandler25ClazzFallbackErrorHandler7getNameEv:
   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
  ------------------
_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
  ------------------
_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
  ------------------
_ZNK7log4cxx7rolling27FilterBasedTriggeringPolicy32ClazzFilterBasedTriggeringPolicy7getNameEv:
   46|      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
  ------------------
_ZNK7log4cxx3net12SMTPAppender17ClazzSMTPAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZN7log4cxx8Appender14getStaticClassEv:
   64|    280|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|    280|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|    280|		return theClass;                                       \
   67|    280|	}                                                                      \
_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|	}\
_ZNK7log4cxx7helpers20OnlyOnceErrorHandler25ClazzOnlyOnceErrorHandler7getNameEv:
   46|      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
  ------------------
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|	}\
_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
  ------------------
_ZNK7log4cxx7helpers11InetAddress16ClazzInetAddress7getNameEv:
   32|      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
  ------------------
_ZNK7log4cxx7helpers6Socket11ClazzSocket7getNameEv:
   32|      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
  ------------------
_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
  ------------------
_ZNK7log4cxx13PatternLayout18ClazzPatternLayout7getNameEv:
   46|      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
  ------------------
_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
  ------------------
_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
  ------------------
_ZNK7log4cxx7rolling22ManualTriggeringPolicy27ClazzManualTriggeringPolicy7getNameEv:
   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
  ------------------
_ZNK7log4cxx7rolling22TimeBasedRollingPolicy27ClazzTimeBasedRollingPolicy7getNameEv:
   46|      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
  ------------------
_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|	}\
configurator.cpp:_ZN7log4cxx4castINS_7helpers15SingletonHolderINSt3__14pairIN12_GLOBAL__N_115ConfiguratorTagENS1_10PropertiesEEEEENS1_6ObjectELb0ELb1EEENS3_10shared_ptrIT_EERKNSB_IT0_EE:
  124|  2.14k|{
  125|  2.14k|	if(!incoming)
  ------------------
  |  Branch (125:5): [True: 0, False: 2.14k]
  ------------------
  126|      0|	{
  127|      0|		return std::shared_ptr<Ret>();
  128|      0|	}
  129|       |
  130|  2.14k|	Ret* casted = reinterpret_cast<Ret*>(const_cast<void*>(incoming->cast(Ret::getStaticClass())));
  131|       |
  132|  2.14k|	if ( casted )
  ------------------
  |  Branch (132:7): [True: 2.14k, False: 0]
  ------------------
  133|  2.14k|	{
  134|  2.14k|		return std::shared_ptr<Ret>( incoming, casted );
  135|  2.14k|	}
  136|       |
  137|      0|	return std::shared_ptr<Ret>();
  138|  2.14k|}
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_ZNK7log4cxx7helpers15SystemOutWriter20ClazzSystemOutWriter7getNameEv:
   46|      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
  ------------------
_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|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_ZNK7log4cxx7helpers16FileOutputStream21ClazzFileOutputStream7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_ZNK7log4cxx7helpers14BufferedWriter19ClazzBufferedWriter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_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|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_ZNK7log4cxx7helpers7Integer12ClazzInteger7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_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
  ------------------
_ZNK7log4cxx7pattern23IntegerPatternConverter28ClazzIntegerPatternConverter7getNameEv:
   32|      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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|	}\
_ZN7log4cxx5Level14getStaticClassEv:
   79|    148|	const LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   80|    148|		static LOG4CXX_NS::helpers::WideLife<class> theClass; \
   81|    148|		return theClass;                                       \
   82|    148|	}                                                         \
_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|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_ZN7log4cxx7helpers6Object14getStaticClassEv:
   64|  6.45k|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|  6.45k|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|  6.45k|		return theClass;                                       \
   67|  6.45k|	}                                                                      \
_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|     13|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|     13|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|     13|		return theClass;                                       \
   67|     13|	}                                                                      \
_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|     13|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|     13|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|     13|		return theClass;                                       \
   67|     13|	}                                                                      \
_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|  4.29k|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|  4.29k|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|  4.29k|		return theClass;                                       \
   67|  4.29k|	}                                                                      \
_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
  ------------------
_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
  ------------------
_ZNK7log4cxx7helpers15FileInputStream20ClazzFileInputStream7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   43|      2|	#define LOG4CXX_STR(str) L ## str
  ------------------
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_ZN7log4cxx6Logger14getStaticClassEv:
   64|     13|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|     13|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|     13|		return theClass;                                       \
   67|     13|	}                                                                      \
_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|	}\
_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|	}\
_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
  ------------------
_ZN7log4cxx4castINS_3spi18RepositorySelectorENS_7helpers6ObjectELb0ELb1EEENSt3__110shared_ptrIT_EERKNS6_IT0_EE:
  124|  2.14k|{
  125|  2.14k|	if(!incoming)
  ------------------
  |  Branch (125:5): [True: 0, False: 2.14k]
  ------------------
  126|      0|	{
  127|      0|		return std::shared_ptr<Ret>();
  128|      0|	}
  129|       |
  130|  2.14k|	Ret* casted = reinterpret_cast<Ret*>(const_cast<void*>(incoming->cast(Ret::getStaticClass())));
  131|       |
  132|  2.14k|	if ( casted )
  ------------------
  |  Branch (132:7): [True: 2.14k, False: 0]
  ------------------
  133|  2.14k|	{
  134|  2.14k|		return std::shared_ptr<Ret>( incoming, casted );
  135|  2.14k|	}
  136|       |
  137|      0|	return std::shared_ptr<Ret>();
  138|  2.14k|}
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_ZNK7log4cxx7pattern19MDCPatternConverter24ClazzMDCPatternConverter7getNameEv:
   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
  ------------------
_ZNK7log4cxx7pattern25ClassNamePatternConverter30ClazzClassNamePatternConverter7getNameEv:
   32|      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
  ------------------
_ZNK7log4cxx7pattern33ShortFileLocationPatternConverter38ClazzShortFileLocationPatternConverter7getNameEv:
   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
  ------------------
_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
  ------------------
_ZNK7log4cxx7pattern22ThreadPatternConverter27ClazzThreadPatternConverter7getNameEv:
   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
  ------------------
_ZNK7log4cxx7pattern19NDCPatternConverter24ClazzNDCPatternConverter7getNameEv:
   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|	}\
_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|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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
  ------------------
_ZNK7log4cxx7pattern23LiteralPatternConverter28ClazzLiteralPatternConverter7getNameEv:
   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
  ------------------
_ZNK7log4cxx7pattern28RelativeTimePatternConverter33ClazzRelativeTimePatternConverter7getNameEv:
   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
  ------------------
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|	}\
_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|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|     74|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|     74|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|     74|		return classReg; \
   71|     74|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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|	}\
_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
  ------------------
_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|	}\

configurator.cpp:_ZN7log4cxx7helpers15SingletonHolderINSt3__14pairIN12_GLOBAL__N_115ConfiguratorTagENS0_10PropertiesEEEEC2Ev:
   46|      1|	SingletonHolder() {}
configurator.cpp:_ZNK7log4cxx7helpers15SingletonHolderINSt3__14pairIN12_GLOBAL__N_115ConfiguratorTagENS0_10PropertiesEEEE4castERKNS0_5ClassE:
   41|  2.14k|	BEGIN_LOG4CXX_CAST_MAP()
  ------------------
  |  |  144|  2.14k|	{\
  |  |  145|  2.14k|		const void * object = 0;\
  |  |  146|  2.14k|		if (&clazz == &helpers::Object::getStaticClass()) return (const helpers::Object *)this;
  |  |  ------------------
  |  |  |  Branch (146:7): [True: 2.14k, False: 0]
  |  |  ------------------
  ------------------
   42|      0|	LOG4CXX_CAST_ENTRY(ThisType)
  ------------------
  |  |  155|      0|	if (&clazz == &Interface::getStaticClass()) return (const Interface *)this;
  |  |  ------------------
  |  |  |  Branch (155:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   43|      0|	END_LOG4CXX_CAST_MAP()
  ------------------
  |  |  149|      0|	return object;\
  |  |  150|      0|	}\
  ------------------
configurator.cpp:_ZN7log4cxx7helpers15SingletonHolderINSt3__14pairIN12_GLOBAL__N_115ConfiguratorTagENS0_10PropertiesEEEE5valueEv:
   58|  2.14k|	T& value() { return m_data; }

_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|	}
_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|  2.10k|	{
   63|  2.10k|		return *reinterpret_cast<T*>(&storage);
   64|  2.10k|	}
_ZN7log4cxx7helpers8WideLifeINS0_17ClassRegistrationEEcvRS2_Ev:
   72|  2.10k|	{
   73|  2.10k|		return value();
   74|  2.10k|	}
_ZN7log4cxx7helpers8WideLifeINS_8Appender13ClazzAppenderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_8Appender13ClazzAppenderEE5valueEv:
   62|    280|	{
   63|    280|		return *reinterpret_cast<T*>(&storage);
   64|    280|	}
_ZN7log4cxx7helpers8WideLifeINS_8Appender13ClazzAppenderEEcvRS3_Ev:
   72|    280|	{
   73|    280|		return value();
   74|    280|	}
_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|  15.1k|	{
   63|  15.1k|		return *reinterpret_cast<T*>(&storage);
   64|  15.1k|	}
_ZN7log4cxx7helpers8WideLifeINS0_14APRInitializerEEcvRS2_Ev:
   72|  15.1k|	{
   73|  15.1k|		return value();
   74|  15.1k|	}
_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|	}
_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|    495|	{
   63|    495|		return *reinterpret_cast<T*>(&storage);
   64|    495|	}
_ZN7log4cxx7helpers8WideLifeINSt3__13mapINS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEPKNS0_5ClassENS2_4lessIS9_EENS7_INS2_4pairIKS9_SC_EEEEEEEcvRSJ_Ev:
   72|    495|	{
   73|    495|		return value();
   74|    495|	}
_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|	}
_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_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_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_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_5Level10LevelClassEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_5Level10LevelClassEE5valueEv:
   62|    148|	{
   63|    148|		return *reinterpret_cast<T*>(&storage);
   64|    148|	}
_ZN7log4cxx7helpers8WideLifeINS_5Level10LevelClassEEcvRS3_Ev:
   72|    148|	{
   73|    148|		return value();
   74|    148|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_5LevelEEEEC2IS5_JEQntsr3stdE7same_asINS1_IT_EETL0__EEEOS8_DpOT0_:
   48|      8|	{		
   49|      8|		new(&storage) T(std::forward<Arg0>(arg0), std::forward<Args>(args)...);
   50|      8|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_5LevelEEEED2Ev:
   53|      8|	{
   54|       |#if LOG4CXX_EVENTS_AT_EXIT
   55|       |		// keep the holded value alive
   56|       |#else
   57|      8|		value().~T();
   58|      8|#endif
   59|      8|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_5LevelEEEE5valueEv:
   62|    126|	{
   63|    126|		return *reinterpret_cast<T*>(&storage);
   64|    126|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_5LevelEEEEcvRS5_Ev:
   72|    118|	{
   73|    118|		return value();
   74|    118|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_5Level4DataEEEEC2IS6_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_5Level4DataEEEED2Ev:
   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_5Level4DataEEEE5valueEv:
   62|     13|	{
   63|     13|		return *reinterpret_cast<T*>(&storage);
   64|     13|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_5Level4DataEEEEcvRS6_Ev:
   72|     12|	{
   73|     12|		return value();
   74|     12|	}
_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|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Object11ClazzObjectEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Object11ClazzObjectEE5valueEv:
   62|  6.45k|	{
   63|  6.45k|		return *reinterpret_cast<T*>(&storage);
   64|  6.45k|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Object11ClazzObjectEEcvRS3_Ev:
   72|  6.45k|	{
   73|  6.45k|		return value();
   74|  6.45k|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13OptionHandler18ClazzOptionHandlerEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13OptionHandler18ClazzOptionHandlerEE5valueEv:
   62|     13|	{
   63|     13|		return *reinterpret_cast<T*>(&storage);
   64|     13|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13OptionHandler18ClazzOptionHandlerEEcvRS4_Ev:
   72|     13|	{
   73|     13|		return value();
   74|     13|	}
_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|     13|	{
   63|     13|		return *reinterpret_cast<T*>(&storage);
   64|     13|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi18AppenderAttachable23ClazzAppenderAttachableEEcvRS4_Ev:
   72|     13|	{
   73|     13|		return value();
   74|     13|	}
_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|  4.29k|	{
   63|  4.29k|		return *reinterpret_cast<T*>(&storage);
   64|  4.29k|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi18RepositorySelector23ClazzRepositorySelectorEEcvRS4_Ev:
   72|  4.29k|	{
   73|  4.29k|		return value();
   74|  4.29k|	}
_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_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|     13|	{
   63|     13|		return *reinterpret_cast<T*>(&storage);
   64|     13|	}
_ZN7log4cxx7helpers8WideLifeINS_6Logger11ClazzLoggerEEcvRS3_Ev:
   72|     13|	{
   73|     13|		return value();
   74|     13|	}
_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|	}
_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|  6.91k|	{
   63|  6.91k|		return *reinterpret_cast<T*>(&storage);
   64|  6.91k|	}
_ZN7log4cxx7helpers8WideLifeINS0_6LogLogEEcvRS2_Ev:
   72|  6.91k|	{
   73|  6.91k|		return value();
   74|  6.91k|	}
_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_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|	}
_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_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_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|	}
_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_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_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|	}
_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_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|	}
_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_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|	}
_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_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_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_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|	}
_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|	}
_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|	}
_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|	}
_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|	}
_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|	}
_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_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|	}
_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|	}
_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_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_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|	}
_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_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|	}
_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|	}
_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|	}
_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|	}
_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_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|	}
_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_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|	}
_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|	}
_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|	}
_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|	}
_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|	}
_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|    148|				{
   58|    148|					return LOG4CXX_STR("Level");
  ------------------
  |  |   43|    148|	#define LOG4CXX_STR(str) L ## str
  ------------------
   59|    148|				}
_ZNK7log4cxx5Level10LevelClass7toLevelERKNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEE:
   62|      1|				{
   63|      1|					return Level::toLevelLS(sArg);
   64|      1|				}
_ZNK7log4cxx5Level5toIntEv:
  285|    118|		{
  286|    118|			return level;
  287|    118|		}

_ZNK7log4cxx6Logger4castERKNS_7helpers5ClassE:
   55|     11|		BEGIN_LOG4CXX_CAST_MAP()
  ------------------
  |  |  144|     11|	{\
  |  |  145|     11|		const void * object = 0;\
  |  |  146|     11|		if (&clazz == &helpers::Object::getStaticClass()) return (const helpers::Object *)this;
  |  |  ------------------
  |  |  |  Branch (146:7): [True: 0, False: 11]
  |  |  ------------------
  ------------------
   56|     11|		LOG4CXX_CAST_ENTRY(Logger)
  ------------------
  |  |  155|     11|	if (&clazz == &Interface::getStaticClass()) return (const Interface *)this;
  |  |  ------------------
  |  |  |  Branch (155:6): [True: 0, False: 11]
  |  |  ------------------
  ------------------
   57|     11|		LOG4CXX_CAST_ENTRY(spi::AppenderAttachable)
  ------------------
  |  |  155|     11|	if (&clazz == &Interface::getStaticClass()) return (const Interface *)this;
  |  |  ------------------
  |  |  |  Branch (155:6): [True: 0, False: 11]
  |  |  ------------------
  ------------------
   58|     11|		END_LOG4CXX_CAST_MAP()
  ------------------
  |  |  149|     11|	return object;\
  |  |  150|     11|	}\
  ------------------

charsetdecoder.cpp:_ZL9strnlen_sPKcm:
   32|    363|{
   33|    363|	size_t result = 0;
   34|    363|	if (!str)
  ------------------
  |  Branch (34:6): [True: 0, False: 363]
  ------------------
   35|      0|		;
   36|  65.7k|	else while (*str++ != 0 && result < strsz)
  ------------------
  |  Branch (36:14): [True: 65.3k, False: 356]
  |  Branch (36:29): [True: 65.3k, False: 7]
  ------------------
   37|  65.3k|		++result;
   38|    363|	return result;
   39|    363|}

_ZN7log4cxx3spi18AppenderAttachableD2Ev:
   89|     24|		virtual ~AppenderAttachable() {}

_ZNK7log4cxx3spi25DefaultRepositorySelector4castERKNS_7helpers5ClassE:
   40|  2.14k|		BEGIN_LOG4CXX_CAST_MAP()
  ------------------
  |  |  144|  2.14k|	{\
  |  |  145|  2.14k|		const void * object = 0;\
  |  |  146|  2.14k|		if (&clazz == &helpers::Object::getStaticClass()) return (const helpers::Object *)this;
  |  |  ------------------
  |  |  |  Branch (146:7): [True: 0, False: 2.14k]
  |  |  ------------------
  ------------------
   41|  2.14k|		LOG4CXX_CAST_ENTRY(RepositorySelector)
  ------------------
  |  |  155|  2.14k|	if (&clazz == &Interface::getStaticClass()) return (const Interface *)this;
  |  |  ------------------
  |  |  |  Branch (155:6): [True: 2.14k, False: 0]
  |  |  ------------------
  ------------------
   42|      0|		END_LOG4CXX_CAST_MAP()
  ------------------
  |  |  149|      0|	return object;\
  |  |  150|  2.14k|	}\
  ------------------

_ZN7log4cxx3spi13LoggerFactoryD2Ev:
   43|  2.14k|		virtual ~LoggerFactory() {}

_ZN7log4cxx3spi16LoggerRepositoryD2Ev:
   51|      1|		virtual ~LoggerRepository() {}

_ZN7log4cxx3spi18RepositorySelectorD2Ev:
   46|      1|		virtual ~RepositorySelector() {}

_ZN7log4cxx3spi10RootLoggerD2Ev:
   50|      1|		~RootLogger() {}

_ZN7log4cxx3xml15DOMConfigurator9configureEPKc:
  231|  2.14k|		static spi::ConfigurationStatus configure(const char* filename) { return configure(std::string(filename)); }

