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

_ZN7log4cxx7helpers22AppenderAttachableImplC1Ev:
   68|  5.97k|{
   69|  5.97k|}
_ZN7log4cxx7helpers22AppenderAttachableImplD2Ev:
   77|  5.97k|{
   78|  5.97k|}
_ZNK7log4cxx7helpers22AppenderAttachableImpl15getAllAppendersEv:
  121|  23.3k|{
  122|  23.3k|	AppenderList result;
  123|  23.3k|	if (m_priv)
  ------------------
  |  Branch (123:6): [True: 0, False: 23.3k]
  ------------------
  124|      0|		result = *m_priv->getAppenders();
  125|  23.3k|	return result;
  126|  23.3k|}
_ZN7log4cxx7helpers22AppenderAttachableImpl18removeAllAppendersEv:
  158|  20.2k|{
  159|  20.2k|	if (m_priv)
  ------------------
  |  Branch (159:6): [True: 0, False: 20.2k]
  ------------------
  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|  20.2k|}

_ZN7log4cxx16AppenderSkeletonC2ENSt3__110unique_ptrINS0_23AppenderSkeletonPrivateENS1_14default_deleteIS3_EEEE:
   34|  3.08k|	:   m_priv(std::move(priv))
   35|  3.08k|{
   36|       |
   37|  3.08k|}
_ZN7log4cxx16AppenderSkeletonD2Ev:
   51|  3.08k|AppenderSkeleton::~AppenderSkeleton() {}
_ZN7log4cxx16AppenderSkeleton23AppenderSkeletonPrivate9setClosedEv:
  154|  3.08k|{
  155|  3.08k|	std::lock_guard<std::recursive_mutex> lock(this->mutex);
  156|  3.08k|	bool wasOpen = !this->closed;
  157|  3.08k|	this->closed = true;
  158|  3.08k|	return wasOpen;
  159|  3.08k|}
_ZN7log4cxx16AppenderSkeleton7setNameERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE:
  258|  3.08k|{
  259|  3.08k|	m_priv->name.assign(name1);
  260|  3.08k|}

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

_ZN7log4cxx13AsyncAppenderC1Ev:
  306|  3.08k|	: AppenderSkeleton(std::make_unique<AsyncAppenderPriv>())
  307|  3.08k|{
  308|  3.08k|}
_ZN7log4cxx13AsyncAppenderD2Ev:
  311|  3.08k|{
  312|  3.08k|}
_ZN7log4cxx13AsyncAppender17AsyncAppenderPriv5closeEv:
  451|  3.08k|{
  452|  3.08k|	this->stopDispatcher();
  453|  3.08k|	for (auto item : this->appenders.getAllAppenders())
  ------------------
  |  Branch (453:17): [True: 0, False: 3.08k]
  ------------------
  454|      0|	{
  455|      0|		item->close();
  456|      0|	}
  457|  3.08k|}
_ZN7log4cxx13AsyncAppender17AsyncAppenderPriv9setClosedEv:
  289|  3.08k|	{
  290|  3.08k|		std::lock_guard<std::mutex> lock(this->bufferMutex);
  291|  3.08k|		return BaseType::setClosed();
  292|  3.08k|	}
_ZN7log4cxx13AsyncAppender17AsyncAppenderPriv14stopDispatcherEv:
  241|  3.08k|	{
  242|  3.08k|		bufferNotEmpty.notify_all();
  243|  3.08k|		bufferNotFull.notify_all();
  244|       |
  245|  3.08k|		if (dispatcher.joinable())
  ------------------
  |  Branch (245:7): [True: 0, False: 3.08k]
  ------------------
  246|      0|		{
  247|      0|			dispatcher.join();
  248|      0|		}
  249|  3.08k|	}
_ZN7log4cxx13AsyncAppender17AsyncAppenderPrivC2Ev:
  141|  3.08k|		: AppenderSkeletonPrivate()
  142|  3.08k|		, buffer(DEFAULT_BUFFER_SIZE)
  143|  3.08k|		, bufferSize(DEFAULT_BUFFER_SIZE)
  144|  3.08k|		, dispatcher()
  145|  3.08k|		, locationInfo(false)
  146|  3.08k|		, blocking(true)
  147|       |#if LOG4CXX_EVENTS_AT_EXIT
  148|       |		, atExitRegistryRaii([this]{if (setClosed()) stopDispatcher();})
  149|       |#endif
  150|  3.08k|		, eventCount(0)
  151|  3.08k|		, dispatchedCount(0)
  152|  3.08k|		, commitCount(0)
  153|  3.08k|		{ }
_ZN7log4cxx13AsyncAppender17AsyncAppenderPrivD2Ev:
  156|  3.08k|	{
  157|  3.08k|		if (setClosed())
  ------------------
  |  Branch (157:7): [True: 3.08k, False: 0]
  ------------------
  158|  3.08k|			close();
  159|  3.08k|	}

_ZN7log4cxx7helpers10ByteBufferC2EPcm:
   39|  16.8k|	: m_priv(std::make_unique<ByteBufferPriv>(data1, capacity))
   40|  16.8k|{
   41|  16.8k|}
_ZN7log4cxx7helpers10ByteBufferD2Ev:
   44|  16.8k|{
   45|  16.8k|}
_ZN7log4cxx7helpers10ByteBuffer7currentEv:
  118|  16.6k|{
  119|  16.6k|	return m_priv->base + m_priv->pos;
  120|  16.6k|}
_ZNK7log4cxx7helpers10ByteBuffer9remainingEv:
  138|  50.1k|{
  139|  50.1k|	return m_priv->lim - m_priv->pos;
  140|  50.1k|}
_ZN7log4cxx7helpers10ByteBuffer18increment_positionEm:
  143|  16.6k|{
  144|  16.6k|    auto available = remaining();
  145|  16.6k|    m_priv->pos += byteCount < available ? byteCount : available;
  ------------------
  |  Branch (145:20): [True: 0, False: 16.6k]
  ------------------
  146|  16.6k|    return remaining();
  147|  16.6k|}
_ZN7log4cxx7helpers10ByteBuffer14ByteBufferPrivC2EPcm:
   30|  16.8k|		base(data1), pos(0), lim(capacity), cap(capacity) {}

_ZN7log4cxx7helpers14CharsetDecoderC2Ev:
  497|  3.45k|{
  498|  3.45k|}
_ZN7log4cxx7helpers14CharsetDecoderD2Ev:
  502|  3.45k|{
  503|  3.45k|}
_ZN7log4cxx7helpers14CharsetDecoder10getDecoderERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  553|  3.45k|{
  554|  3.45k|	if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("UTF-8"), LOG4CXX_STR("utf-8")) ||
  ------------------
  |  |   51|  3.45k|		#define LOG4CXX_STR(str) str
  ------------------
              	if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("UTF-8"), LOG4CXX_STR("utf-8")) ||
  ------------------
  |  |   51|  3.45k|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (554:6): [True: 3.45k, False: 0]
  ------------------
  555|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("UTF8"), LOG4CXX_STR("utf8")) ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("UTF8"), LOG4CXX_STR("utf8")) ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (555:3): [True: 0, False: 0]
  ------------------
  556|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("CP65001"), LOG4CXX_STR("cp65001")))
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("CP65001"), LOG4CXX_STR("cp65001")))
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (556:3): [True: 0, False: 0]
  ------------------
  557|  3.45k|	{
  558|  3.45k|#if LOG4CXX_LOGCHAR_IS_UTF8
  559|  3.45k|		return std::make_shared<TrivialCharsetDecoder>();
  560|       |#else
  561|       |		return std::make_shared<UTF8CharsetDecoder>();
  562|       |#endif
  563|  3.45k|	}
  564|      0|	else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("C"), LOG4CXX_STR("c")) ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
              	else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("C"), LOG4CXX_STR("c")) ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (564:11): [True: 0, False: 0]
  ------------------
  565|      0|		charset == LOG4CXX_STR("646") ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (565:3): [True: 0, False: 0]
  ------------------
  566|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("US-ASCII"), LOG4CXX_STR("us-ascii")) ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("US-ASCII"), LOG4CXX_STR("us-ascii")) ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (566:3): [True: 0, False: 0]
  ------------------
  567|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO646-US"), LOG4CXX_STR("iso646-US")) ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO646-US"), LOG4CXX_STR("iso646-US")) ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (567:3): [True: 0, False: 0]
  ------------------
  568|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ANSI_X3.4-1968"), LOG4CXX_STR("ansi_x3.4-1968")) ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ANSI_X3.4-1968"), LOG4CXX_STR("ansi_x3.4-1968")) ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (568:3): [True: 0, False: 0]
  ------------------
  569|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("CP20127"), LOG4CXX_STR("cp20127")))
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("CP20127"), LOG4CXX_STR("cp20127")))
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (569:3): [True: 0, False: 0]
  ------------------
  570|      0|	{
  571|      0|		return std::make_shared<USASCIICharsetDecoder>();
  572|      0|	}
  573|      0|	else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO-8859-1"), LOG4CXX_STR("iso-8859-1")) ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
              	else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO-8859-1"), LOG4CXX_STR("iso-8859-1")) ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (573:11): [True: 0, False: 0]
  ------------------
  574|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO-LATIN-1"), LOG4CXX_STR("iso-latin-1")) ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO-LATIN-1"), LOG4CXX_STR("iso-latin-1")) ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (574:3): [True: 0, False: 0]
  ------------------
  575|      0|		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("CP1252"), LOG4CXX_STR("cp1252")))
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
              		StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("CP1252"), LOG4CXX_STR("cp1252")))
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (575:3): [True: 0, False: 0]
  ------------------
  576|      0|	{
  577|      0|		return std::make_shared<ISOLatinCharsetDecoder>();
  578|      0|	}
  579|      0|	else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("LOCALE"), LOG4CXX_STR("locale")))
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
              	else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("LOCALE"), LOG4CXX_STR("locale")))
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (579:11): [True: 0, False: 0]
  ------------------
  580|      0|	{
  581|      0|		return std::make_shared<LocaleCharsetDecoder>();
  582|      0|	}
  583|       |
  584|      0|#if APR_HAS_XLATE
  585|      0|	return std::make_shared<APRCharsetDecoder>(charset);
  586|       |#else
  587|       |	throw IllegalArgumentException(charset);
  588|       |#endif
  589|  3.45k|}
_ZN7log4cxx7helpers14CharsetDecoder6decodeEPKcmRNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEE:
  592|  16.8k|{
  593|  16.8k|	ByteBuffer buf((char*)in, strnlen_s(in, maxByteCount));
  594|  16.8k|	return decode(buf, out);
  595|  16.8k|}
_ZN7log4cxx7helpers21TrivialCharsetDecoderC2Ev:
  272|  3.45k|		{
  273|  3.45k|		}
_ZN7log4cxx7helpers21TrivialCharsetDecoder6decodeERNS0_10ByteBufferERNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEE:
  281|  16.8k|		{
  282|  16.8k|			size_t remaining = in.remaining();
  283|       |
  284|  16.8k|			if ( remaining > 0)
  ------------------
  |  Branch (284:9): [True: 16.6k, False: 265]
  ------------------
  285|  16.6k|			{
  286|  16.6k|				auto src = in.current();
  287|  16.6k|				auto count = remaining / sizeof(logchar);
  288|  16.6k|				out.append(reinterpret_cast<const logchar*>(src), count);
  289|  16.6k|				in.increment_position(remaining);
  290|  16.6k|			}
  291|       |
  292|  16.8k|			return APR_SUCCESS;
  ------------------
  |  |  225|  16.8k|#define APR_SUCCESS 0
  ------------------
  293|  16.8k|		}

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

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

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

_ZN7log4cxx7helpers14writeToConsoleERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP8_IO_FILE:
   39|  50.6k|{
   40|  50.6k|#if LOG4CXX_WCHAR_T_API
   41|  50.6k|	if (isConsoleWide(file))
  ------------------
  |  Branch (41:6): [True: 0, False: 50.6k]
  ------------------
   42|      0|	{
   43|      0|		LOG4CXX_ENCODE_WCHAR(msg, str);
  ------------------
  |  |  324|      0|	std::wstring var;                      \
  |  |  325|      0|	LOG4CXX_NS::helpers::Transcoder::encode(src, var)
  ------------------
   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|  50.6k|#endif
   48|       |
   49|  50.6k|	LOG4CXX_ENCODE_CHAR(msg, str);
  ------------------
  |  |  246|  50.6k|	std::string var;                      \
  |  |  247|  50.6k|	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|  50.6k|	return fwrite(msg.data(), 1, msg.size(), file);
   57|  50.6k|}
consolewriter.cpp:_ZL13isConsoleWideP8_IO_FILE:
   28|  50.6k|{
   29|       |#if LOG4CXX_FORCE_WIDE_CONSOLE
   30|       |	return true;
   31|       |#elif LOG4CXX_FORCE_BYTE_CONSOLE || !LOG4CXX_HAS_FWIDE
   32|       |	return false;
   33|       |#else
   34|  50.6k|	return fwide(file, 0) > 0;
   35|  50.6k|#endif
   36|  50.6k|}

_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_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEE:
   33|  2.88k|{
   34|  2.88k|	return std::make_shared<Logger>(name);
   35|  2.88k|}

_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|  3.45k|{
   39|  3.45k|	return m_priv->repository;
   40|  3.45k|}

_ZN7log4cxx3xml15DOMConfiguratorC1Ev:
  211|  3.45k|DOMConfigurator::DOMConfigurator() {}
_ZN7log4cxx3xml15DOMConfiguratorD2Ev:
  213|  3.45k|DOMConfigurator::~DOMConfigurator() {}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivate11parseLoggerEP12apr_xml_elem:
  559|  15.6k|{
  560|       |	// Create a new Logger object from the <category> element.
  561|  15.6k|	LogString loggerName = subst(getAttribute(loggerElement, NAME_ATTR));
  ------------------
  |  |  191|  15.6k|#define NAME_ATTR "name"
  ------------------
  562|       |
  563|  15.6k|	if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (563:6): [True: 15.6k, False: 6]
  ------------------
  564|  15.6k|	{
  565|  15.6k|		LogLog::debug(LOG4CXX_STR("Getting [") + loggerName + LOG4CXX_STR("]"));
  ------------------
  |  |   51|  46.9k|		#define LOG4CXX_STR(str) str
  ------------------
              		LogLog::debug(LOG4CXX_STR("Getting [") + loggerName + LOG4CXX_STR("]"));
  ------------------
  |  |   51|  15.6k|		#define LOG4CXX_STR(str) str
  ------------------
  566|  15.6k|	}
  567|  15.6k|	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|  15.6k|	bool additivity = OptionConverter::toBoolean(
  573|  15.6k|			subst(getAttribute(loggerElement, ADDITIVITY_ATTR)),
  ------------------
  |  |  202|  15.6k|#define ADDITIVITY_ATTR "additivity"
  ------------------
  574|  15.6k|			true);
  575|       |
  576|  15.6k|	if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (576:6): [True: 15.6k, False: 6]
  ------------------
  577|  15.6k|	{
  578|  15.6k|		LogLog::debug(LOG4CXX_STR("Setting [") + logger->getName() + LOG4CXX_STR("] additivity to [") +
  ------------------
  |  |   51|  78.2k|		#define LOG4CXX_STR(str) str
  ------------------
              		LogLog::debug(LOG4CXX_STR("Setting [") + logger->getName() + LOG4CXX_STR("] additivity to [") +
  ------------------
  |  |   51|  15.6k|		#define LOG4CXX_STR(str) str
  ------------------
  579|  15.6k|			(additivity ? LogString(LOG4CXX_STR("true")) : LogString(LOG4CXX_STR("false"))) + LOG4CXX_STR("]"));
  ------------------
  |  |   51|  15.4k|		#define LOG4CXX_STR(str) str
  ------------------
              			(additivity ? LogString(LOG4CXX_STR("true")) : LogString(LOG4CXX_STR("false"))) + LOG4CXX_STR("]"));
  ------------------
  |  |   51|    222|		#define LOG4CXX_STR(str) str
  ------------------
              			(additivity ? LogString(LOG4CXX_STR("true")) : LogString(LOG4CXX_STR("false"))) + LOG4CXX_STR("]"));
  ------------------
  |  |   51|  15.6k|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (579:5): [True: 15.4k, False: 222]
  ------------------
  580|  15.6k|	}
  581|  15.6k|	logger->setAdditivity(additivity);
  582|  15.6k|	parseChildrenOfLoggerElement(loggerElement, logger, false);
  583|  15.6k|}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivate18parseLoggerFactoryEP12apr_xml_elem:
  589|    255|{
  590|    255|	LogString className(subst(getAttribute(factoryElement, CLASS_ATTR)));
  ------------------
  |  |  192|    255|#define CLASS_ATTR "class"
  ------------------
  591|       |
  592|    255|	if (className.empty())
  ------------------
  |  Branch (592:6): [True: 255, False: 0]
  ------------------
  593|    255|	{
  594|    255|		LogString msg(LOG4CXX_STR("["));
  ------------------
  |  |   51|    255|		#define LOG4CXX_STR(str) str
  ------------------
  595|    255|		utf8Decoder->decode(factoryElement->name, MAX_ATTRIBUTE_NAME_LEN, msg);
  ------------------
  |  |   63|    255|#define MAX_ATTRIBUTE_NAME_LEN 2000
  ------------------
  596|    255|		msg += LOG4CXX_STR("] attribute [");
  ------------------
  |  |   51|    255|		#define LOG4CXX_STR(str) str
  ------------------
  597|    255|		utf8Decoder->decode(CLASS_ATTR, MAX_ATTRIBUTE_NAME_LEN, msg);
  ------------------
  |  |  192|    255|#define CLASS_ATTR "class"
  ------------------
              		utf8Decoder->decode(CLASS_ATTR, MAX_ATTRIBUTE_NAME_LEN, msg);
  ------------------
  |  |   63|    255|#define MAX_ATTRIBUTE_NAME_LEN 2000
  ------------------
  598|    255|		msg += LOG4CXX_STR("] not found");
  ------------------
  |  |   51|    255|		#define LOG4CXX_STR(str) str
  ------------------
  599|    255|		LogLog::warn(msg);
  600|    255|	}
  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|    255|}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivate9parseRootEP12apr_xml_elem:
  633|  1.76k|{
  634|  1.76k|	LoggerPtr root = this->repository->getRootLogger();
  635|  1.76k|	parseChildrenOfLoggerElement(rootElement, root, true);
  636|  1.76k|}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivate28parseChildrenOfLoggerElementEP12apr_xml_elemNSt3__110shared_ptrINS_6LoggerEEEb:
  642|  17.4k|{
  643|  17.4k|	PropertySetter propSetter(logger);
  644|  17.4k|	auto loggerName = this->repository->getRootLogger() == logger
  ------------------
  |  Branch (644:20): [True: 1.76k, False: 15.6k]
  ------------------
  645|  17.4k|					? LogString(LOG4CXX_STR("root"))
  ------------------
  |  |   51|  1.76k|		#define LOG4CXX_STR(str) str
  ------------------
  646|  17.4k|					: logger->getName();
  647|  17.4k|	AsyncAppenderPtr async;
  648|  17.4k|	auto lsAsynchronous = subst(getAttribute(loggerElement, ASYNCHRONOUS_ATTR));
  ------------------
  |  |  203|  17.4k|#define ASYNCHRONOUS_ATTR "asynchronous"
  ------------------
  649|  17.4k|	if (!lsAsynchronous.empty() && OptionConverter::toBoolean(lsAsynchronous, true))
  ------------------
  |  Branch (649:6): [True: 3.47k, False: 13.9k]
  |  Branch (649:33): [True: 3.08k, False: 389]
  ------------------
  650|  3.08k|	{
  651|  3.08k|		async = std::make_shared<AsyncAppender>();
  652|  3.08k|		async->setName(loggerName);
  653|  3.08k|	}
  654|       |
  655|  17.4k|	std::vector<AppenderPtr> newappenders;
  656|  17.4k|	for (apr_xml_elem* currentElement = loggerElement->first_child;
  657|  17.4k|		currentElement;
  ------------------
  |  Branch (657:3): [True: 0, False: 17.4k]
  ------------------
  658|  17.4k|		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()
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  671|      0|						+ LOG4CXX_STR(" named [") + appender->getName() + LOG4CXX_STR("]")
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
              						+ LOG4CXX_STR(" named [") + appender->getName() + LOG4CXX_STR("]")
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  672|      0|						+ LOG4CXX_STR(" to logger [") + logger->getName() + LOG4CXX_STR("]"));
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
              						+ LOG4CXX_STR(" to logger [") + logger->getName() + LOG4CXX_STR("]"));
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) 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 [") };
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) 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("] ");
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) 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");
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  703|      0|			LogLog::warn(msg);
  704|      0|		}
  705|      0|	}
  706|  17.4k|	if (async && !newappenders.empty())
  ------------------
  |  Branch (706:6): [True: 3.08k, False: 14.3k]
  |  Branch (706:15): [True: 0, False: 3.08k]
  ------------------
  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 [")
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  711|      0|					+ logger->getName() + LOG4CXX_STR("] is on"));
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  712|      0|		}
  713|      0|		logger->replaceAppenders({async});
  714|      0|		this->appenderAdded = true;
  715|      0|	}
  716|  17.4k|	else if (newappenders.empty())
  ------------------
  |  Branch (716:11): [True: 17.4k, False: 0]
  ------------------
  717|  17.4k|		logger->removeAllAppenders();
  718|      0|	else
  719|      0|	{
  720|      0|		logger->replaceAppenders(newappenders);
  721|      0|		this->appenderAdded = true;
  722|      0|	}
  723|  17.4k|	propSetter.activate();
  724|  17.4k|}
_ZN7log4cxx3xml15DOMConfigurator11doConfigureERKNS_4FileENSt3__110shared_ptrINS_3spi16LoggerRepositoryEEE:
  972|  3.45k|{
  973|  3.45k|	m_priv = std::make_unique<DOMConfiguratorPrivate>
  974|  3.45k|		( repository ? repository : LogManager::getLoggerRepository()
  ------------------
  |  Branch (974:5): [True: 3.45k, False: 0]
  ------------------
  975|  3.45k|		);
  976|       |
  977|  3.45k|	apr_file_t* fd;
  978|  3.45k|	log4cxx_status_t rv = apr_file_open(&fd, filename.getAPRPath(), APR_READ, APR_OS_DEFAULT, m_priv->p.getAPRPool());
  ------------------
  |  |   93|  3.45k|#define APR_READ             APR_FOPEN_READ       /**< @deprecated @see APR_FOPEN_READ */
  |  |  ------------------
  |  |  |  |   54|  3.45k|#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|  3.45k|#define APR_OS_DEFAULT APR_FPROT_OS_DEFAULT /**< @deprecated @see APR_FPROT_OS_DEFAULT */
  |  |  ------------------
  |  |  |  |   94|  3.45k|#define APR_FPROT_OS_DEFAULT  0x0FFF /**< use OS's default permissions */
  |  |  ------------------
  ------------------
  979|       |
  980|  3.45k|	if (rv != APR_SUCCESS)
  ------------------
  |  |  225|  3.45k|#define APR_SUCCESS 0
  ------------------
  |  Branch (980:6): [True: 0, False: 3.45k]
  ------------------
  981|      0|	{
  982|      0|		LogLog::error(LOG4CXX_STR("Could not open configuration file [")
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  983|      0|			+ filename.getPath() + LOG4CXX_STR("]")
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  984|      0|			, IOException(rv));
  985|      0|		return spi::ConfigurationStatus::NotConfigured;
  986|      0|	}
  987|  3.45k|	else
  988|  3.45k|	{
  989|  3.45k|		if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (989:7): [True: 3.09k, False: 362]
  ------------------
  990|  3.09k|		{
  991|  3.09k|			LogLog::debug(LOG4CXX_STR("Loading configuration file [")
  ------------------
  |  |   51|  9.28k|		#define LOG4CXX_STR(str) str
  ------------------
  992|  3.09k|					+ filename.getPath() + LOG4CXX_STR("]"));
  ------------------
  |  |   51|  3.09k|		#define LOG4CXX_STR(str) str
  ------------------
  993|  3.09k|		}
  994|       |
  995|  3.45k|		apr_xml_parser* parser = NULL;
  996|  3.45k|		rv = apr_xml_parse_file(m_priv->p.getAPRPool(), &parser, &m_priv->doc, fd, 2000);
  997|       |
  998|  3.45k|		if (rv != APR_SUCCESS)
  ------------------
  |  |  225|  3.45k|#define APR_SUCCESS 0
  ------------------
  |  Branch (998:7): [True: 1.58k, False: 1.87k]
  ------------------
  999|  1.58k|		{
 1000|  1.58k|			LogString reason;
 1001|  1.58k|			if (parser)
  ------------------
  |  Branch (1001:8): [True: 363, False: 1.22k]
  ------------------
 1002|    363|			{
 1003|    363|				char errbuf[2000];
 1004|    363|				apr_xml_parser_geterror(parser, errbuf, sizeof(errbuf));
 1005|    363|				LOG4CXX_DECODE_CHAR(lsErrbuf, std::string(errbuf));
  ------------------
  |  |  259|    363|	LOG4CXX_NS::LogString var;                      \
  |  |  260|    363|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
 1006|    363|				reason.append(lsErrbuf);
 1007|    363|			}
 1008|  1.22k|			else
 1009|  1.22k|			{
 1010|  1.22k|				char errbuf[2000];
 1011|  1.22k|				apr_strerror(rv, errbuf, sizeof(errbuf));
 1012|  1.22k|				LOG4CXX_DECODE_CHAR(lsErrbuf, std::string(errbuf));
  ------------------
  |  |  259|  1.22k|	LOG4CXX_NS::LogString var;                      \
  |  |  260|  1.22k|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
 1013|  1.22k|				reason.append(lsErrbuf);
 1014|  1.22k|			}
 1015|  1.58k|			LogLog::error(LOG4CXX_STR("Error parsing file [")
  ------------------
  |  |   51|  4.74k|		#define LOG4CXX_STR(str) str
  ------------------
 1016|  1.58k|				+ filename.getPath() + LOG4CXX_STR("]")
  ------------------
  |  |   51|  1.58k|		#define LOG4CXX_STR(str) str
  ------------------
 1017|  1.58k|				, RuntimeException(reason));
 1018|  1.58k|			return spi::ConfigurationStatus::NotConfigured;
 1019|  1.58k|		}
 1020|  1.87k|		else
 1021|  1.87k|		{
 1022|  1.87k|			m_priv->parse(m_priv->doc->root);
 1023|  1.87k|		}
 1024|  3.45k|	}
 1025|       |
 1026|  1.87k|	if (!m_priv->appenderAdded)
  ------------------
  |  Branch (1026:6): [True: 1.87k, False: 0]
  ------------------
 1027|  1.87k|	{
 1028|  1.87k|		LogLog::warn(LOG4CXX_STR("[") + filename.getPath()
  ------------------
  |  |   51|  9.37k|		#define LOG4CXX_STR(str) str
  ------------------
 1029|  1.87k|			+ LOG4CXX_STR("] did not add an ") + Appender::getStaticClass().getName()
  ------------------
  |  |   51|  1.87k|		#define LOG4CXX_STR(str) str
  ------------------
 1030|  1.87k|			+ LOG4CXX_STR(" to a logger"));
  ------------------
  |  |   51|  1.87k|		#define LOG4CXX_STR(str) str
  ------------------
 1031|  1.87k|		return spi::ConfigurationStatus::NotConfigured;
 1032|  1.87k|	}
 1033|       |
 1034|      0|	m_priv->repository->setConfigured(true);
 1035|      0|	return spi::ConfigurationStatus::Configured;
 1036|  1.87k|}
_ZN7log4cxx3xml15DOMConfigurator9configureERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
 1046|  3.45k|{
 1047|  3.45k|	File file(filename);
 1048|  3.45k|	return DOMConfigurator().doConfigure(file, LogManager::getLoggerRepository());
 1049|  3.45k|}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivate5parseEP12apr_xml_elem:
 1148|  1.87k|{
 1149|  1.87k|	std::string rootElementName(element->name);
 1150|       |
 1151|  1.87k|	if (rootElementName != CONFIGURATION_TAG)
  ------------------
  |  |  179|  1.87k|#define CONFIGURATION_TAG "log4j:configuration"
  ------------------
  |  Branch (1151:6): [True: 1.87k, False: 0]
  ------------------
 1152|  1.87k|	{
 1153|  1.87k|		if (rootElementName == OLD_CONFIGURATION_TAG)
  ------------------
  |  |  180|  1.87k|#define OLD_CONFIGURATION_TAG "configuration"
  ------------------
  |  Branch (1153:7): [True: 1.75k, False: 123]
  ------------------
 1154|  1.75k|		{
 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|  1.75k|		}
 1160|    123|		else
 1161|    123|		{
 1162|    123|			LogString msg(LOG4CXX_STR("Root element ["));
  ------------------
  |  |   51|    123|		#define LOG4CXX_STR(str) str
  ------------------
 1163|    123|			utf8Decoder->decode(element->name, MAX_ATTRIBUTE_NAME_LEN, msg);
  ------------------
  |  |   63|    123|#define MAX_ATTRIBUTE_NAME_LEN 2000
  ------------------
 1164|    123|			msg += LOG4CXX_STR("] is not [");
  ------------------
  |  |   51|    123|		#define LOG4CXX_STR(str) str
  ------------------
 1165|    123|			utf8Decoder->decode(CONFIGURATION_TAG, MAX_ATTRIBUTE_NAME_LEN, msg);
  ------------------
  |  |  179|    123|#define CONFIGURATION_TAG "log4j:configuration"
  ------------------
              			utf8Decoder->decode(CONFIGURATION_TAG, MAX_ATTRIBUTE_NAME_LEN, msg);
  ------------------
  |  |   63|    123|#define MAX_ATTRIBUTE_NAME_LEN 2000
  ------------------
 1166|    123|			msg += LOG4CXX_STR("]");
  ------------------
  |  |   51|    123|		#define LOG4CXX_STR(str) str
  ------------------
 1167|    123|			LogLog::error(msg);
 1168|    123|			return;
 1169|    123|		}
 1170|  1.87k|	}
 1171|       |
 1172|  1.75k|	LogString debugAttrib = subst(getAttribute(element, INTERNAL_DEBUG_ATTR));
  ------------------
  |  |  207|  1.75k|#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|  1.75k|	if (!debugAttrib.empty() && debugAttrib != LOG4CXX_STR("NULL"))
  ------------------
  |  |   51|    262|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (1176:6): [True: 262, False: 1.49k]
  |  Branch (1176:30): [True: 261, False: 1]
  ------------------
 1177|    261|	{
 1178|    261|		LogLog::setInternalDebugging(OptionConverter::toBoolean(debugAttrib, true));
 1179|    261|	}
 1180|       |
 1181|  1.75k|	LogString colorAttrib = subst(getAttribute(element, INTERNAL_COLOR_ATTR));
  ------------------
  |  |  208|  1.75k|#define INTERNAL_COLOR_ATTR "color"
  ------------------
 1182|  1.75k|	if (!colorAttrib.empty())
  ------------------
  |  Branch (1182:6): [True: 66, False: 1.68k]
  ------------------
 1183|     66|	{
 1184|     66|		LogLog::setColorEnabled(OptionConverter::toBoolean(colorAttrib, true));
 1185|     66|	}
 1186|       |
 1187|  1.75k|	LogString thresholdStr = subst(getAttribute(element, THRESHOLD_ATTR));
  ------------------
  |  |  204|  1.75k|#define THRESHOLD_ATTR "threshold"
  ------------------
 1188|       |
 1189|  1.75k|	if (!thresholdStr.empty() && thresholdStr != LOG4CXX_STR("NULL"))
  ------------------
  |  |   51|    543|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (1189:6): [True: 543, False: 1.20k]
  |  Branch (1189:31): [True: 543, False: 0]
  ------------------
 1190|    543|	{
 1191|    543|		this->repository->setThreshold(OptionConverter::toLevel(thresholdStr, Level::getAll()));
 1192|    543|		if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (1192:7): [True: 539, False: 4]
  ------------------
 1193|    539|		{
 1194|    539|			LogLog::debug(LOG4CXX_STR("Repository threshold =[")
  ------------------
  |  |   51|  1.61k|		#define LOG4CXX_STR(str) str
  ------------------
 1195|    539|				+ this->repository->getThreshold()->toString()
 1196|    539|				+ LOG4CXX_STR("]"));
  ------------------
  |  |   51|    539|		#define LOG4CXX_STR(str) str
  ------------------
 1197|    539|		}
 1198|    543|	}
 1199|       |
 1200|  1.75k|	LogString threadSignalValue = subst(getAttribute(element, THREAD_CONFIG_ATTR));
  ------------------
  |  |  209|  1.75k|#define THREAD_CONFIG_ATTR "threadConfiguration"
  ------------------
 1201|       |
 1202|  1.75k|	if ( !threadSignalValue.empty() && threadSignalValue != LOG4CXX_STR("NULL") )
  ------------------
  |  |   51|    144|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (1202:7): [True: 144, False: 1.60k]
  |  Branch (1202:37): [True: 144, False: 0]
  ------------------
 1203|    144|	{
 1204|    144|		if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (1204:7): [True: 144, False: 0]
  ------------------
 1205|    144|		{
 1206|    144|			LogLog::debug(LOG4CXX_STR("ThreadUtility configuration =[") + threadSignalValue + LOG4CXX_STR("]"));
  ------------------
  |  |   51|    432|		#define LOG4CXX_STR(str) str
  ------------------
              			LogLog::debug(LOG4CXX_STR("ThreadUtility configuration =[") + threadSignalValue + LOG4CXX_STR("]"));
  ------------------
  |  |   51|    144|		#define LOG4CXX_STR(str) str
  ------------------
 1207|    144|		}
 1208|    144|		if ( threadSignalValue == LOG4CXX_STR("NoConfiguration") )
  ------------------
  |  |   51|    144|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (1208:8): [True: 1, False: 143]
  ------------------
 1209|      1|		{
 1210|      1|			helpers::ThreadUtility::configure( ThreadConfigurationType::NoConfiguration );
 1211|      1|		}
 1212|    143|		else if ( threadSignalValue == LOG4CXX_STR("BlockSignalsOnly") )
  ------------------
  |  |   51|    143|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (1212:13): [True: 0, False: 143]
  ------------------
 1213|      0|		{
 1214|      0|			helpers::ThreadUtility::configure( ThreadConfigurationType::BlockSignalsOnly );
 1215|      0|		}
 1216|    143|		else if ( threadSignalValue == LOG4CXX_STR("NameThreadOnly") )
  ------------------
  |  |   51|    143|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (1216:13): [True: 1, False: 142]
  ------------------
 1217|      1|		{
 1218|      1|			helpers::ThreadUtility::configure( ThreadConfigurationType::NameThreadOnly );
 1219|      1|		}
 1220|    142|		else if ( threadSignalValue == LOG4CXX_STR("BlockSignalsAndNameThread") )
  ------------------
  |  |   51|    142|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (1220:13): [True: 0, False: 142]
  ------------------
 1221|      0|		{
 1222|      0|			helpers::ThreadUtility::configure( ThreadConfigurationType::BlockSignalsAndNameThread );
 1223|      0|		}
 1224|    142|		else
 1225|    142|		{
 1226|    142|			LogLog::warn(LOG4CXX_STR("threadConfiguration value [") + threadSignalValue + LOG4CXX_STR("]") + LOG4CXX_STR(" is not valid"));
  ------------------
  |  |   51|    568|		#define LOG4CXX_STR(str) str
  ------------------
              			LogLog::warn(LOG4CXX_STR("threadConfiguration value [") + threadSignalValue + LOG4CXX_STR("]") + LOG4CXX_STR(" is not valid"));
  ------------------
  |  |   51|    142|		#define LOG4CXX_STR(str) str
  ------------------
              			LogLog::warn(LOG4CXX_STR("threadConfiguration value [") + threadSignalValue + LOG4CXX_STR("]") + LOG4CXX_STR(" is not valid"));
  ------------------
  |  |   51|    142|		#define LOG4CXX_STR(str) str
  ------------------
 1227|    142|		}
 1228|    144|	}
 1229|       |
 1230|  1.75k|	apr_xml_elem* currentElement;
 1231|       |
 1232|  1.75k|	for (currentElement = element->first_child;
 1233|  22.3k|		currentElement;
  ------------------
  |  Branch (1233:3): [True: 20.5k, False: 1.75k]
  ------------------
 1234|  20.5k|		currentElement = currentElement->next)
 1235|  20.5k|	{
 1236|  20.5k|		std::string tagName(currentElement->name);
 1237|       |
 1238|  20.5k|		if (tagName == CATEGORY_FACTORY_TAG)
  ------------------
  |  |  190|  20.5k|#define CATEGORY_FACTORY_TAG "categoryFactory"
  ------------------
  |  Branch (1238:7): [True: 255, False: 20.3k]
  ------------------
 1239|    255|		{
 1240|    255|			parseLoggerFactory(currentElement);
 1241|    255|		}
 1242|  20.5k|	}
 1243|       |
 1244|  1.75k|	for (currentElement = element->first_child;
 1245|  22.3k|		currentElement;
  ------------------
  |  Branch (1245:3): [True: 20.5k, False: 1.75k]
  ------------------
 1246|  20.5k|		currentElement = currentElement->next)
 1247|  20.5k|	{
 1248|  20.5k|		std::string tagName(currentElement->name);
 1249|       |
 1250|  20.5k|		if (tagName == CATEGORY || tagName == LOGGER)
  ------------------
  |  |  187|  41.1k|#define CATEGORY "category"
  ------------------
              		if (tagName == CATEGORY || tagName == LOGGER)
  ------------------
  |  |  188|  19.6k|#define LOGGER "logger"
  ------------------
  |  Branch (1250:7): [True: 934, False: 19.6k]
  |  Branch (1250:30): [True: 14.7k, False: 4.93k]
  ------------------
 1251|  15.6k|		{
 1252|  15.6k|			parseLogger(currentElement);
 1253|  15.6k|		}
 1254|  4.93k|		else if (tagName == ROOT_TAG)
  ------------------
  |  |  194|  4.93k|#define ROOT_TAG "root"
  ------------------
  |  Branch (1254:12): [True: 1.76k, False: 3.17k]
  ------------------
 1255|  1.76k|		{
 1256|  1.76k|			parseRoot(currentElement);
 1257|  1.76k|		}
 1258|  20.5k|	}
 1259|  1.75k|}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivate5substERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE:
 1262|  55.9k|{
 1263|  55.9k|	try
 1264|  55.9k|	{
 1265|  55.9k|		return OptionConverter::substVars(value, this->props);
 1266|  55.9k|	}
 1267|  55.9k|	catch (IllegalArgumentException& e)
 1268|  55.9k|	{
 1269|  4.50k|		LogLog::warn(LOG4CXX_STR("Could not substitute variables using [") + value + LOG4CXX_STR("]"), e);
  ------------------
  |  |   51|  13.5k|		#define LOG4CXX_STR(str) str
  ------------------
              		LogLog::warn(LOG4CXX_STR("Could not substitute variables using [") + value + LOG4CXX_STR("]"), e);
  ------------------
  |  |   51|  4.50k|		#define LOG4CXX_STR(str) str
  ------------------
 1270|  4.50k|		return value;
 1271|  4.50k|	}
 1272|  55.9k|}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivate12getAttributeEP12apr_xml_elemRKNSt3__112basic_stringIcNS5_11char_traitsIcEENS5_9allocatorIcEEEE:
 1276|  55.9k|{
 1277|  55.9k|	LogString attrValue;
 1278|       |
 1279|  55.9k|	for (apr_xml_attr* attr = element->attr;
 1280|   108k|		attr;
  ------------------
  |  Branch (1280:3): [True: 52.0k, False: 55.9k]
  ------------------
 1281|  55.9k|		attr = attr->next)
 1282|  52.0k|	{
 1283|  52.0k|		if (attrName == attr->name)
  ------------------
  |  Branch (1283:7): [True: 16.1k, False: 35.9k]
  ------------------
 1284|  16.1k|		{
 1285|  16.1k|			utf8Decoder->decode(attr->value, MAX_ATTRIBUTE_NAME_LEN, attrValue);
  ------------------
  |  |   63|  16.1k|#define MAX_ATTRIBUTE_NAME_LEN 2000
  ------------------
 1286|  16.1k|		}
 1287|  52.0k|	}
 1288|       |
 1289|  55.9k|	return attrValue;
 1290|  55.9k|}
_ZN7log4cxx3xml15DOMConfigurator22DOMConfiguratorPrivateC2ERKNSt3__110shared_ptrINS_3spi16LoggerRepositoryEEE:
   97|  3.45k|		: repository(r)
   98|  3.45k|	{}

_ZN7log4cxx7helpers9ExceptionC2ERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   30|  6.42k|{
   31|  6.42k|	LOG4CXX_ENCODE_CHAR(m, msg1);
  ------------------
  |  |  246|  6.42k|	std::string var;                      \
  |  |  247|  6.42k|	LOG4CXX_NS::helpers::Transcoder::encode(src, var)
  ------------------
   32|  6.42k|	msg = m;
   33|  6.42k|}
_ZNK7log4cxx7helpers9Exception4whatEv:
   53|  6.42k|{
   54|  6.42k|	return msg.c_str();
   55|  6.42k|}
_ZN7log4cxx7helpers16RuntimeExceptionC2ERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   63|  6.08k|	: Exception(msg1)
   64|  6.08k|{
   65|  6.08k|}
_ZN7log4cxx7helpers24IllegalArgumentExceptionC2ERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  102|  4.50k|	: RuntimeException(msg1)
  103|  4.50k|{
  104|  4.50k|}
_ZN7log4cxx7helpers22ClassNotFoundExceptionC2ERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  360|    341|	: Exception(formatMessage(className))
  361|    341|{
  362|    341|}
_ZN7log4cxx7helpers22ClassNotFoundException13formatMessageERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  377|    341|{
  378|    341|	LogString s(LOG4CXX_STR("Class not found: "));
  ------------------
  |  |   51|    341|		#define LOG4CXX_STR(str) str
  ------------------
  379|    341|	s.append(className);
  380|    341|	return s;
  381|    341|}

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

_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: 2.88k, False: 1]
  ------------------
   83|  2.88k|	{
   84|  2.88k|		if (auto& pLogger = item.second)
  ------------------
  |  Branch (84:13): [True: 2.88k, False: 0]
  ------------------
   85|  2.88k|		{
   86|  2.88k|			pLogger->removeHierarchy();
   87|  2.88k|			pLogger->removeAllAppenders();
   88|  2.88k|		}
   89|  2.88k|	}
   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|    543|{
  164|    543|	if (l != 0)
  ------------------
  |  Branch (164:6): [True: 543, False: 0]
  ------------------
  165|    543|	{
  166|    543|		std::lock_guard<std::recursive_mutex> lock(m_priv->mutex);
  167|    543|		setThresholdInternal(l);
  168|    543|	}
  169|    543|}
_ZN7log4cxx9Hierarchy20setThresholdInternalERKNSt3__110shared_ptrINS_5LevelEEE:
  187|    543|{
  188|    543|	m_priv->thresholdInt = l->toInt();
  189|    543|	m_priv->threshold = l;
  190|       |
  191|    543|	if (m_priv->thresholdInt != Level::ALL_INT)
  ------------------
  |  Branch (191:6): [True: 14, False: 529]
  ------------------
  192|     14|	{
  193|     14|		m_priv->configured = true;
  194|     14|	}
  195|    543|}
_ZNK7log4cxx9Hierarchy12getThresholdEv:
  223|    539|{
  224|    539|	return m_priv->threshold ? m_priv->threshold : Level::getAll();
  ------------------
  |  Branch (224:9): [True: 539, False: 0]
  ------------------
  225|    539|}
_ZN7log4cxx9Hierarchy9getLoggerERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERKNS1_10shared_ptrINS_3spi13LoggerFactoryEEE:
  239|  15.6k|{
  240|  15.6k|	auto root = getRootLogger();
  241|  15.6k|	std::lock_guard<std::recursive_mutex> lock(m_priv->mutex);
  242|       |
  243|  15.6k|	LoggerMap::iterator it = m_priv->loggers.find(name);
  244|  15.6k|	LoggerPtr result;
  245|       |
  246|  15.6k|	if (it != m_priv->loggers.end())
  ------------------
  |  Branch (246:6): [True: 12.7k, False: 2.88k]
  ------------------
  247|  12.7k|	{
  248|  12.7k|		result = it->second;
  249|  12.7k|	}
  250|  15.6k|	if (!result && factory)
  ------------------
  |  Branch (250:6): [True: 2.88k, False: 12.7k]
  |  Branch (250:17): [True: 2.88k, False: 0]
  ------------------
  251|  2.88k|	{
  252|  2.88k|#if LOG4CXX_ABI_VERSION <= 15
  253|  2.88k|		LoggerPtr logger(factory->makeNewLoggerInstance(m_priv->pool, name));
  254|       |#else
  255|       |		LoggerPtr logger(factory->makeNewLoggerInstance(name));
  256|       |#endif
  257|  2.88k|		logger->setHierarchy(this);
  258|  2.88k|		m_priv->loggers.insert(LoggerMap::value_type(name, logger));
  259|       |
  260|  2.88k|		ProvisionNodeMap::iterator it2 = m_priv->provisionNodes.find(name);
  261|       |
  262|  2.88k|		if (it2 != m_priv->provisionNodes.end())
  ------------------
  |  Branch (262:7): [True: 339, False: 2.54k]
  ------------------
  263|    339|		{
  264|    339|			updateChildren(it2->second, logger);
  265|    339|			m_priv->provisionNodes.erase(it2);
  266|    339|		}
  267|       |
  268|  2.88k|		updateParents(logger, root);
  269|  2.88k|		result = logger;
  270|  2.88k|	}
  271|  15.6k|	return result;
  272|       |
  273|  15.6k|}
_ZNK7log4cxx9Hierarchy13getRootLoggerEv:
  289|  34.8k|{
  290|  34.8k|	std::lock_guard<std::recursive_mutex> lock(m_priv->mutex);
  291|  34.8k|	if (!m_priv->root)
  ------------------
  |  Branch (291:6): [True: 1, False: 34.8k]
  ------------------
  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|  34.8k|	return m_priv->root;
  298|  34.8k|}
_ZN7log4cxx9Hierarchy13updateParentsERKNSt3__110shared_ptrINS_6LoggerEEES6_:
  373|  2.88k|{
  374|  2.88k|	const LogString name(logger->getName());
  375|  2.88k|	size_t length = name.size();
  376|  2.88k|	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|  2.88k|	for (size_t i = name.find_last_of(0x2E /* '.' */, length - 1);
  381|  99.6k|		(i != LogString::npos) && (i != 0);
  ------------------
  |  Branch (381:3): [True: 97.8k, False: 1.79k]
  |  Branch (381:29): [True: 97.8k, False: 14]
  ------------------
  382|  96.7k|		i = name.find_last_of(0x2E /* '.' */, i - 1))
  383|  97.8k|	{
  384|  97.8k|		LogString substr = name.substr(0, i);
  385|       |
  386|  97.8k|		LoggerMap::iterator it = m_priv->loggers.find(substr);
  387|       |
  388|  97.8k|		if (it != m_priv->loggers.end())
  ------------------
  |  Branch (388:7): [True: 1.07k, False: 96.7k]
  ------------------
  389|  1.07k|		{
  390|  1.07k|			parentFound = true;
  391|  1.07k|			logger->setParent( it->second );
  392|  1.07k|			break; // no need to update the ancestors of the closest ancestor
  393|  1.07k|		}
  394|  96.7k|		else
  395|  96.7k|		{
  396|  96.7k|			ProvisionNodeMap::iterator it2 = m_priv->provisionNodes.find(substr);
  397|       |
  398|  96.7k|			if (it2 != m_priv->provisionNodes.end())
  ------------------
  |  Branch (398:8): [True: 16.3k, False: 80.4k]
  ------------------
  399|  16.3k|			{
  400|  16.3k|				it2->second.push_back(logger);
  401|  16.3k|			}
  402|  80.4k|			else
  403|  80.4k|			{
  404|  80.4k|				ProvisionNode node(1, logger);
  405|  80.4k|				m_priv->provisionNodes.insert(
  406|  80.4k|					ProvisionNodeMap::value_type(substr, node));
  407|  80.4k|			}
  408|  96.7k|		}
  409|  97.8k|	}
  410|       |
  411|       |	// If we could not find any existing parents, then link with root.
  412|  2.88k|	if (!parentFound)
  ------------------
  |  Branch (412:6): [True: 1.80k, False: 1.07k]
  ------------------
  413|  1.80k|	{
  414|  1.80k|		logger->setParent( root );
  415|  1.80k|	}
  416|  2.88k|}
_ZN7log4cxx9Hierarchy14updateChildrenERNSt3__16vectorINS1_10shared_ptrINS_6LoggerEEENS1_9allocatorIS5_EEEERKS5_:
  419|    339|{
  420|    339|	for (auto& l : pn)
  ------------------
  |  Branch (420:15): [True: 1.03k, False: 339]
  ------------------
  421|  1.03k|	{
  422|       |		// Unless this child already points to a correct (lower) parent,
  423|       |		// make logger.parent point to l.parent and l.parent to logger.
  424|  1.03k|		if (!StringHelper::startsWith(l->getParent()->getName(), logger->getName()))
  ------------------
  |  Branch (424:7): [True: 605, False: 429]
  ------------------
  425|    605|		{
  426|    605|			logger->setParent( l->getParent() );
  427|    605|			l->setParent( logger );
  428|    605|		}
  429|  1.03k|	}
  430|       |    
  431|    339|}
_ZN7log4cxx9Hierarchy14updateChildrenEPKNS_6LoggerE:
  434|  4.09k|{
  435|  4.09k|	for (auto& item : m_priv->loggers)
  ------------------
  |  Branch (435:18): [True: 5.93M, False: 4.09k]
  ------------------
  436|  5.93M|	{
  437|  33.0M|		for (auto l = item.second; l; l = l->getParent())
  ------------------
  |  Branch (437:30): [True: 27.1M, False: 5.92M]
  ------------------
  438|  27.1M|		{
  439|  27.1M|			if (l->getParent().get() == parent)
  ------------------
  |  Branch (439:8): [True: 7.01k, False: 27.1M]
  ------------------
  440|  7.01k|			{
  441|  7.01k|				item.second->updateThreshold();
  442|  7.01k|				break;
  443|  7.01k|			}
  444|  27.1M|		}
  445|  5.93M|	}
  446|  4.09k|}
_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|      2|{
   35|      2|	static WideLife<LevelPtr> offLevel = std::make_shared<Level>(Level::OFF_INT, LOG4CXX_STR("OFF"), 0);
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
   36|      2|	return offLevel;
   37|      2|}
_ZN7log4cxx5Level8getFatalEv:
   40|      3|{
   41|      3|	static WideLife<LevelPtr> fatalLevel = std::make_shared<Level>(Level::FATAL_INT, LOG4CXX_STR("FATAL"), 0);
  ------------------
  |  |   51|      3|		#define LOG4CXX_STR(str) str
  ------------------
   42|      3|	return fatalLevel;
   43|      3|}
_ZN7log4cxx5Level8getErrorEv:
   46|      3|{
   47|      3|	static WideLife<LevelPtr> errorLevel = std::make_shared<Level>(Level::ERROR_INT, LOG4CXX_STR("ERROR"), 3);
  ------------------
  |  |   51|      3|		#define LOG4CXX_STR(str) str
  ------------------
   48|      3|	return errorLevel;
   49|      3|}
_ZN7log4cxx5Level7getWarnEv:
   52|      2|{
   53|      2|	static WideLife<LevelPtr> warnLevel = std::make_shared<Level>(Level::WARN_INT, LOG4CXX_STR("WARN"), 4);
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
   54|      2|	return warnLevel;
   55|      2|}
_ZN7log4cxx5Level7getInfoEv:
   58|      4|{
   59|      4|	static WideLife<LevelPtr> infoLevel = std::make_shared<Level>(Level::INFO_INT, LOG4CXX_STR("INFO"), 6);
  ------------------
  |  |   51|      4|		#define LOG4CXX_STR(str) str
  ------------------
   60|      4|	return infoLevel;
   61|      4|}
_ZN7log4cxx5Level8getDebugEv:
   64|      6|{
   65|      6|	static WideLife<LevelPtr> debugLevel = std::make_shared<Level>(Level::DEBUG_INT, LOG4CXX_STR("DEBUG"), 7);
  ------------------
  |  |   51|      6|		#define LOG4CXX_STR(str) str
  ------------------
   66|      6|	return debugLevel;
   67|      6|}
_ZN7log4cxx5Level8getTraceEv:
   70|      2|{
   71|      2|	static WideLife<LevelPtr> traceLevel = std::make_shared<Level>(Level::TRACE_INT, LOG4CXX_STR("TRACE"), 7);
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
   72|      2|	return traceLevel;
   73|      2|}
_ZN7log4cxx5Level6getAllEv:
   77|  3.63k|{
   78|  3.63k|	static WideLife<LevelPtr> allLevel = std::make_shared<Level>(Level::ALL_INT, LOG4CXX_STR("ALL"), 7);
  ------------------
  |  |   51|  3.63k|		#define LOG4CXX_STR(str) str
  ------------------
   79|  3.63k|	return allLevel;
   80|  3.63k|}
_ZN7log4cxx5LevelC2EiRKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEi:
   86|      8|	: level(level1), name(name1), syslogEquivalent(syslogEquivalent1)
   87|      8|{
   88|      8|}
_ZN7log4cxx5Level9toLevelLSERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE:
   92|      2|{
   93|      2|	return toLevelLS(sArg, Level::getDebug());
   94|      2|}
_ZNK7log4cxx5Level8toStringEv:
   97|    539|{
   98|    539|	return name;
   99|    539|}
_ZN7log4cxx5Level7getDataEv:
  108|  2.88k|{
  109|  2.88k|	static WideLife<DataPtr> data = std::make_shared<Data>(Data
  110|  2.88k|		{ getOff()
  111|  2.88k|		, getFatal()
  112|  2.88k|		, getError()
  113|  2.88k|		, getWarn()
  114|  2.88k|		, getInfo()
  115|  2.88k|		, getDebug()
  116|  2.88k|		, getTrace()
  117|  2.88k|		, getAll()
  118|  2.88k|		});
  119|  2.88k|	return data;
  120|  2.88k|}
_ZN7log4cxx5Level9toLevelLSERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERKNS1_10shared_ptrIS0_EE:
  231|    197|{
  232|    197|	const LogString trimmed(StringHelper::trim(sArg));
  233|    197|	const size_t len = trimmed.length();
  234|       |
  235|    197|	if (len == 4)
  ------------------
  |  Branch (235:6): [True: 6, False: 191]
  ------------------
  236|      6|	{
  237|      6|		if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("INFO"), LOG4CXX_STR("info")))
  ------------------
  |  |   51|      6|		#define LOG4CXX_STR(str) str
  ------------------
              		if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("INFO"), LOG4CXX_STR("info")))
  ------------------
  |  |   51|      6|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (237:7): [True: 3, False: 3]
  ------------------
  238|      3|		{
  239|      3|			return getInfo();
  240|      3|		}
  241|       |
  242|      3|		if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("WARN"), LOG4CXX_STR("warn")))
  ------------------
  |  |   51|      3|		#define LOG4CXX_STR(str) str
  ------------------
              		if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("WARN"), LOG4CXX_STR("warn")))
  ------------------
  |  |   51|      3|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (242:7): [True: 1, False: 2]
  ------------------
  243|      1|		{
  244|      1|			return getWarn();
  245|      1|		}
  246|      3|	}
  247|    191|	else
  248|    191|	{
  249|    191|		if (len == 5)
  ------------------
  |  Branch (249:7): [True: 9, False: 182]
  ------------------
  250|      9|		{
  251|      9|			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("DEBUG"), LOG4CXX_STR("debug")))
  ------------------
  |  |   51|      9|		#define LOG4CXX_STR(str) str
  ------------------
              			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("DEBUG"), LOG4CXX_STR("debug")))
  ------------------
  |  |   51|      9|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (251:8): [True: 2, False: 7]
  ------------------
  252|      2|			{
  253|      2|				return getDebug();
  254|      2|			}
  255|       |
  256|      7|			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("TRACE"), LOG4CXX_STR("trace")))
  ------------------
  |  |   51|      7|		#define LOG4CXX_STR(str) str
  ------------------
              			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("TRACE"), LOG4CXX_STR("trace")))
  ------------------
  |  |   51|      7|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (256:8): [True: 1, False: 6]
  ------------------
  257|      1|			{
  258|      1|				return getTrace();
  259|      1|			}
  260|       |
  261|      6|			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("ERROR"), LOG4CXX_STR("error")))
  ------------------
  |  |   51|      6|		#define LOG4CXX_STR(str) str
  ------------------
              			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("ERROR"), LOG4CXX_STR("error")))
  ------------------
  |  |   51|      6|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (261:8): [True: 2, False: 4]
  ------------------
  262|      2|			{
  263|      2|				return getError();
  264|      2|			}
  265|       |
  266|      4|			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("FATAL"), LOG4CXX_STR("fatal")))
  ------------------
  |  |   51|      4|		#define LOG4CXX_STR(str) str
  ------------------
              			if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("FATAL"), LOG4CXX_STR("fatal")))
  ------------------
  |  |   51|      4|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (266:8): [True: 2, False: 2]
  ------------------
  267|      2|			{
  268|      2|				return getFatal();
  269|      2|			}
  270|      4|		}
  271|    182|		else
  272|    182|		{
  273|    182|			if (len == 3)
  ------------------
  |  Branch (273:8): [True: 2, False: 180]
  ------------------
  274|      2|			{
  275|      2|				if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("OFF"), LOG4CXX_STR("off")))
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
              				if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("OFF"), LOG4CXX_STR("off")))
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (275:9): [True: 1, False: 1]
  ------------------
  276|      1|				{
  277|      1|					return getOff();
  278|      1|				}
  279|       |
  280|      1|				if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("ALL"), LOG4CXX_STR("all")))
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) str
  ------------------
              				if (StringHelper::equalsIgnoreCase(trimmed, LOG4CXX_STR("ALL"), LOG4CXX_STR("all")))
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (280:9): [True: 1, False: 0]
  ------------------
  281|      1|				{
  282|      1|					return getAll();
  283|      1|				}
  284|      1|			}
  285|    182|		}
  286|    191|	}
  287|       |
  288|    184|	return defaultLevel;
  289|    197|}

_ZN7log4cxx7helpers6Loader9loadClassERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   57|    348|{
   58|    348|	return Class::forName(clazz);
   59|    348|}

_ZN7log4cxx6LoggerC2ERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE:
   90|      1|	: m_priv(std::make_unique<LoggerPrivate>(name1))
   91|      1|	, m_threshold(0)
   92|      1|{
   93|      1|}
_ZN7log4cxx6LoggerC1ERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE:
   90|  2.88k|	: m_priv(std::make_unique<LoggerPrivate>(name1))
   91|  2.88k|	, m_threshold(0)
   92|  2.88k|{
   93|  2.88k|}
_ZN7log4cxx6LoggerD2Ev:
  103|  2.88k|{
  104|  2.88k|}
_ZNK7log4cxx6Logger17getEffectiveLevelEv:
  316|  11.1k|{
  317|   171k|	for (const Logger* l = this; l != 0; l = l->m_priv->parent.get())
  ------------------
  |  Branch (317:31): [True: 171k, False: 0]
  ------------------
  318|   171k|	{
  319|   171k|		if (l->m_priv->level != 0)
  ------------------
  |  Branch (319:7): [True: 11.1k, False: 160k]
  ------------------
  320|  11.1k|		{
  321|  11.1k|			return l->m_priv->level;
  322|  11.1k|		}
  323|   171k|	}
  324|       |
  325|      0|	throw NullPointerException(LOG4CXX_STR("Logger level"));
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  326|       |#if LOG4CXX_RETURN_AFTER_THROW
  327|       |	return m_priv->level;
  328|       |#endif
  329|  11.1k|}
_ZNK7log4cxx6Logger12getHierarchyEv:
  344|  24.3k|{
  345|  24.3k|	return m_priv->repositoryRaw;
  346|  24.3k|}
_ZNK7log4cxx6Logger9getParentEv:
  391|  54.3M|{
  392|  54.3M|	return m_priv->parent;
  393|  54.3M|}
_ZNK7log4cxx6Logger8getLevelEv:
  396|      1|{
  397|      1|	return m_priv->level;
  398|      1|}
_ZN7log4cxx6Logger18removeAllAppendersEv:
  611|  20.2k|{
  612|  20.2k|	AppenderList currentAppenders = m_priv->aai.getAllAppenders();
  613|  20.2k|	m_priv->aai.removeAllAppenders();
  614|       |
  615|  20.2k|	auto rep = getHierarchy();
  616|  20.2k|	if(rep){
  ------------------
  |  Branch (616:5): [True: 17.4k, False: 2.88k]
  ------------------
  617|  17.4k|		for(AppenderPtr appender : currentAppenders){
  ------------------
  |  Branch (617:28): [True: 0, False: 17.4k]
  ------------------
  618|      0|			rep->fireRemoveAppenderEvent(this, appender.get());
  619|      0|		}
  620|  17.4k|	}
  621|  20.2k|}
_ZN7log4cxx6Logger15removeHierarchyEv:
  641|  2.88k|{
  642|  2.88k|	m_priv->repositoryRaw = 0;
  643|  2.88k|}
_ZN7log4cxx6Logger13setAdditivityEb:
  646|  15.6k|{
  647|  15.6k|	m_priv->additive = additive1;
  648|  15.6k|}
_ZN7log4cxx6Logger12setHierarchyEPNS_3spi16LoggerRepositoryE:
  651|  2.88k|{
  652|  2.88k|	m_priv->repositoryRaw = repository1;
  653|  2.88k|}
_ZN7log4cxx6Logger9setParentENSt3__110shared_ptrIS0_EE:
  656|  4.09k|{
  657|  4.09k|	m_priv->parent = parentLogger;
  658|  4.09k|	updateThreshold();
  659|  4.09k|	if (auto rep = dynamic_cast<Hierarchy*>(getHierarchy()))
  ------------------
  |  Branch (659:11): [True: 4.09k, False: 0]
  ------------------
  660|  4.09k|		rep->updateChildren(this);
  661|  4.09k|}
_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|  11.1k|{
  676|  11.1k|	m_threshold = getEffectiveLevel()->toInt();
  677|  11.1k|}
_ZNK7log4cxx6Logger7getNameEv:
  680|  36.2k|{
  681|  36.2k|	return m_priv->name;
  682|  36.2k|}
_ZN7log4cxx6Logger13LoggerPrivateC2ERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   41|  2.88k|		: name(name1)
   42|  2.88k|		, repositoryRaw(0)
   43|  2.88k|		, additive(true)
   44|  2.88k|		, levelData(Level::getData())
   45|  2.88k|		{}

_ZN7log4cxx7helpers6LogLogC2Ev:
   84|      1|	m_priv(std::make_unique<LogLogPrivate>())
   85|      1|{
   86|      1|	LogString log4cxxDebug = OptionConverter::getSystemProperty(LOG4CXX_STR("LOG4CXX_DEBUG"), LOG4CXX_STR("false"));
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) str
  ------------------
              	LogString log4cxxDebug = OptionConverter::getSystemProperty(LOG4CXX_STR("LOG4CXX_DEBUG"), LOG4CXX_STR("false"));
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) str
  ------------------
   87|      1|	m_priv->debugEnabled = OptionConverter::toBoolean(log4cxxDebug, false);
   88|      1|	auto color = OptionConverter::getSystemProperty(LOG4CXX_STR("LOG4CXX_COLOR"), LOG4CXX_STR("true"));
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) str
  ------------------
              	auto color = OptionConverter::getSystemProperty(LOG4CXX_STR("LOG4CXX_COLOR"), LOG4CXX_STR("true"));
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) str
  ------------------
   89|      1|	m_priv->setColorEnabled(OptionConverter::toBoolean(color, true));
   90|      1|}
_ZN7log4cxx7helpers6LogLogD2Ev:
   93|      1|{ m_priv.reset(); }
_ZN7log4cxx7helpers6LogLog11getInstanceEv:
   96|  80.3k|{
   97|  80.3k|	static WideLife<LogLog> internalLogger;
   98|       |
   99|  80.3k|	return internalLogger;
  100|  80.3k|}
_ZN7log4cxx7helpers6LogLog14isDebugEnabledEv:
  103|  35.7k|{
  104|  35.7k|	auto p = getInstance().m_priv.get();
  105|  35.7k|	return p && !p->quietMode // Not deleted by onexit processing?
  ------------------
  |  Branch (105:9): [True: 35.7k, False: 0]
  |  Branch (105:14): [True: 35.7k, False: 0]
  ------------------
  106|  35.7k|			 && p->debugEnabled;
  ------------------
  |  Branch (106:8): [True: 35.4k, False: 380]
  ------------------
  107|  35.7k|}
_ZN7log4cxx7helpers6LogLog20setInternalDebuggingEb:
  120|    261|{
  121|    261|	auto p = getInstance().m_priv.get();
  122|    261|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (122:6): [True: 261, False: 0]
  |  Branch (122:11): [True: 261, False: 0]
  ------------------
  123|    261|		p->debugEnabled = debugEnabled1;
  124|    261|}
_ZN7log4cxx7helpers6LogLog15setColorEnabledEb:
  133|     66|{
  134|     66|	if (auto p = getInstance().m_priv.get())
  ------------------
  |  Branch (134:11): [True: 66, False: 0]
  ------------------
  135|     66|		p->setColorEnabled(newValue);
  136|     66|}
_ZN7log4cxx7helpers6LogLog5debugERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  139|  35.4k|{
  140|  35.4k|	auto p = getInstance().m_priv.get();
  141|  35.4k|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (141:6): [True: 35.4k, False: 0]
  |  Branch (141:11): [True: 35.4k, False: 0]
  ------------------
  142|  35.4k|	{
  143|  35.4k|		if (!p->debugEnabled)
  ------------------
  |  Branch (143:7): [True: 1, False: 35.4k]
  ------------------
  144|      1|		{
  145|      1|			return;
  146|      1|		}
  147|       |
  148|  35.4k|		std::lock_guard<std::mutex> lock(p->mutex);
  149|  35.4k|		emit_log(p->debugPrefix, msg, p->suffix);
  150|  35.4k|	}
  151|  35.4k|}
_ZN7log4cxx7helpers6LogLog5errorERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  169|    123|{
  170|    123|	auto p = getInstance().m_priv.get();
  171|    123|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (171:6): [True: 123, False: 0]
  |  Branch (171:11): [True: 123, False: 0]
  ------------------
  172|    123|	{
  173|    123|		std::lock_guard<std::mutex> lock(p->mutex);
  174|       |
  175|    123|		emit_log(p->errorPrefix, msg, p->suffix);
  176|    123|	}
  177|    123|}
_ZN7log4cxx7helpers6LogLog5errorERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKSt9exception:
  180|  1.92k|{
  181|  1.92k|	auto p = getInstance().m_priv.get();
  182|  1.92k|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (182:6): [True: 1.92k, False: 0]
  |  Branch (182:11): [True: 1.92k, False: 0]
  ------------------
  183|  1.92k|	{
  184|  1.92k|		std::lock_guard<std::mutex> lock(p->mutex);
  185|  1.92k|		emit_log(p->errorPrefix, msg, p->suffix);
  186|  1.92k|		emit_log(p->errorPrefix, e, p->suffix);
  187|  1.92k|	}
  188|  1.92k|}
_ZN7log4cxx7helpers6LogLog4warnERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  222|  2.27k|{
  223|  2.27k|	auto p = getInstance().m_priv.get();
  224|  2.27k|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (224:6): [True: 2.27k, False: 0]
  |  Branch (224:11): [True: 2.27k, False: 0]
  ------------------
  225|  2.27k|	{
  226|  2.27k|		std::lock_guard<std::mutex> lock(p->mutex);
  227|  2.27k|		emit_log(p->warnPrefix, msg, p->suffix);
  228|  2.27k|	}
  229|  2.27k|}
_ZN7log4cxx7helpers6LogLog4warnERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKSt9exception:
  232|  4.50k|{
  233|  4.50k|	auto p = getInstance().m_priv.get();
  234|  4.50k|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (234:6): [True: 4.50k, False: 0]
  |  Branch (234:11): [True: 4.50k, False: 0]
  ------------------
  235|  4.50k|	{
  236|  4.50k|		std::lock_guard<std::mutex> lock(p->mutex);
  237|  4.50k|		emit_log(p->warnPrefix, msg, p->suffix);
  238|  4.50k|		emit_log(p->warnPrefix, e, p->suffix);
  239|  4.50k|	}
  240|  4.50k|}
_ZN7log4cxx7helpers6LogLog8emit_logERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_SA_:
  243|  44.2k|{
  244|  44.2k|	LogString out(LOG4CXX_STR("log4cxx: "));
  ------------------
  |  |   51|  44.2k|		#define LOG4CXX_STR(str) str
  ------------------
  245|  44.2k|	out.append(prefix);
  246|  44.2k|	out.append(msg);
  247|  44.2k|	out.append(suffix);
  248|  44.2k|	out.append(1, (logchar) 0x0A);
  249|       |
  250|  44.2k|	SystemErrWriter().write(out);
  251|  44.2k|}
_ZN7log4cxx7helpers6LogLog8emit_logERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKSt9exceptionSA_:
  254|  6.42k|{
  255|  6.42k|	LogString out(LOG4CXX_STR("log4cxx: "));
  ------------------
  |  |   51|  6.42k|		#define LOG4CXX_STR(str) str
  ------------------
  256|  6.42k|	out.append(prefix);
  257|  6.42k|	const char* raw = ex.what();
  258|       |
  259|  6.42k|	if (raw != 0)
  ------------------
  |  Branch (259:6): [True: 6.42k, False: 0]
  ------------------
  260|  6.42k|	{
  261|  6.42k|		Transcoder::decode(raw, out);
  262|  6.42k|	}
  263|      0|	else
  264|      0|	{
  265|      0|		out.append(LOG4CXX_STR("std::exception::what() == null"));
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  266|      0|	}
  267|       |
  268|  6.42k|	out.append(suffix);
  269|  6.42k|	out.append(1, (logchar) 0x0A);
  270|       |
  271|  6.42k|	SystemErrWriter().write(out);
  272|  6.42k|}
_ZN7log4cxx7helpers6LogLog13LogLogPrivate15setColorEnabledEb:
   58|     67|	{
   59|     67|		if (newValue)
  ------------------
  |  Branch (59:7): [True: 64, False: 3]
  ------------------
   60|     64|		{
   61|     64|			this->errorPrefix = LOG4CXX_STR("\x1B[31m"); //red
  ------------------
  |  |   51|     64|		#define LOG4CXX_STR(str) str
  ------------------
   62|     64|			this->warnPrefix = LOG4CXX_STR("\x1B[33m"); //yellow
  ------------------
  |  |   51|     64|		#define LOG4CXX_STR(str) str
  ------------------
   63|     64|			this->debugPrefix = LOG4CXX_STR("\x1B[32m"); //green
  ------------------
  |  |   51|     64|		#define LOG4CXX_STR(str) str
  ------------------
   64|     64|			this->suffix = LOG4CXX_STR("\x1B[0m"); // none
  ------------------
  |  |   51|     64|		#define LOG4CXX_STR(str) str
  ------------------
   65|     64|		}
   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|     67|	}
_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|  3.45k|{
   50|  3.45k|	auto result = APRInitializer::getOrAddUnique<spi::RepositorySelector>( []() -> ObjectPtr
   51|  3.45k|		{
   52|  3.45k|			LoggerRepositoryPtr hierarchy = Hierarchy::create();
   53|  3.45k|			return std::make_shared<DefaultRepositorySelector>(hierarchy);
   54|  3.45k|		}
   55|  3.45k|	);
   56|  3.45k|	return result;
   57|  3.45k|}
_ZN7log4cxx10LogManager19getLoggerRepositoryEv:
   78|  3.45k|{
   79|  3.45k|	return getRepositorySelector()->getLoggerRepository();
   80|  3.45k|}
logmanager.cpp:_ZZN7log4cxx10LogManager21getRepositorySelectorEvENK3$_0clEv:
   51|      1|		{
   52|      1|			LoggerRepositoryPtr hierarchy = Hierarchy::create();
   53|      1|			return std::make_shared<DefaultRepositorySelector>(hierarchy);
   54|      1|		}

_ZN7log4cxx7helpers20OnlyOnceErrorHandlerC1Ev:
   34|  3.08k|	m_priv(std::make_unique<OnlyOnceErrorHandlerPrivate>())
   35|  3.08k|{
   36|  3.08k|}
_ZN7log4cxx7helpers20OnlyOnceErrorHandlerD2Ev:
   38|  3.08k|OnlyOnceErrorHandler::~OnlyOnceErrorHandler(){}

_ZN7log4cxx7helpers15OptionConverter9toBooleanERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEb:
  257|  19.4k|{
  258|  19.4k|	if (value.length() >= 4)
  ------------------
  |  Branch (258:6): [True: 4.71k, False: 14.7k]
  ------------------
  259|  4.71k|	{
  260|  4.71k|		if (StringHelper::equalsIgnoreCase(value.substr(0, 4),
  ------------------
  |  Branch (260:7): [True: 388, False: 4.32k]
  ------------------
  261|  4.71k|				LOG4CXX_STR("TRUE"), LOG4CXX_STR("true")))
  ------------------
  |  |   51|  4.71k|		#define LOG4CXX_STR(str) str
  ------------------
              				LOG4CXX_STR("TRUE"), LOG4CXX_STR("true")))
  ------------------
  |  |   51|  4.71k|		#define LOG4CXX_STR(str) str
  ------------------
  262|    388|		{
  263|    388|			return true;
  264|    388|		}
  265|  4.71k|	}
  266|       |
  267|  19.0k|	if (dEfault && value.length() >= 5)
  ------------------
  |  Branch (267:6): [True: 19.0k, False: 1]
  |  Branch (267:17): [True: 4.29k, False: 14.7k]
  ------------------
  268|  4.29k|	{
  269|  4.29k|		if (StringHelper::equalsIgnoreCase(value.substr(0, 5),
  ------------------
  |  Branch (269:7): [True: 616, False: 3.67k]
  ------------------
  270|  4.29k|				LOG4CXX_STR("FALSE"), LOG4CXX_STR("false")))
  ------------------
  |  |   51|  4.29k|		#define LOG4CXX_STR(str) str
  ------------------
              				LOG4CXX_STR("FALSE"), LOG4CXX_STR("false")))
  ------------------
  |  |   51|  4.29k|		#define LOG4CXX_STR(str) str
  ------------------
  271|    616|		{
  272|    616|			return false;
  273|    616|		}
  274|  4.29k|	}
  275|       |
  276|  18.4k|	return dEfault;
  277|  19.0k|}
_ZN7log4cxx7helpers15OptionConverter9substVarsERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERNS0_10PropertiesE:
  391|  55.9k|{
  392|  55.9k|	return substVarsSafely(val, props);
  393|  55.9k|}
_ZN7log4cxx7helpers15OptionConverter17getSystemPropertyERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_:
  396|  98.4k|{
  397|  98.4k|	if (!key.empty())
  ------------------
  |  Branch (397:6): [True: 91.7k, False: 6.70k]
  ------------------
  398|  91.7k|	{
  399|  91.7k|		LogString value(System::getProperty(key));
  400|       |
  401|  91.7k|		if (!value.empty())
  ------------------
  |  Branch (401:7): [True: 72.4k, False: 19.3k]
  ------------------
  402|  72.4k|		{
  403|  72.4k|			return value;
  404|  72.4k|		}
  405|  91.7k|	}
  406|       |
  407|  26.0k|	return def;
  408|  98.4k|}
_ZN7log4cxx7helpers15OptionConverter7toLevelERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_10shared_ptrINS_5LevelEEE:
  412|    543|{
  413|    543|	size_t hashIndex = value.find(LOG4CXX_STR("#"));
  ------------------
  |  |   51|    543|		#define LOG4CXX_STR(str) str
  ------------------
  414|       |
  415|    543|	if (hashIndex == LogString::npos)
  ------------------
  |  Branch (415:6): [True: 156, False: 387]
  ------------------
  416|    156|	{
  417|       |		// no class name specified : use standard Level class
  418|    156|		if (value.empty())
  ------------------
  |  Branch (418:7): [True: 0, False: 156]
  ------------------
  419|      0|		{
  420|      0|			return defaultValue;
  421|      0|		}
  422|    156|		else
  423|    156|		{
  424|    156|			return Level::toLevelLS(value, defaultValue);
  425|    156|		}
  426|    156|	}
  427|       |
  428|    387|	LogString clazz = value.substr(hashIndex + 1);
  429|    387|	LogString levelName = value.substr(0, hashIndex);
  430|       |
  431|       |	// This is degenerate case but you never know.
  432|    387|	if (levelName.empty() || clazz.empty())
  ------------------
  |  Branch (432:6): [True: 8, False: 379]
  |  Branch (432:27): [True: 31, False: 348]
  ------------------
  433|     39|	{
  434|     39|		return Level::toLevelLS(value, defaultValue);
  435|     39|	}
  436|    348|	if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (436:6): [True: 346, False: 2]
  ------------------
  437|    346|	{
  438|    346|		LogLog::debug(LOG4CXX_STR("Desired ") + Level::getStaticClass().getName()
  ------------------
  |  |   51|  1.73k|		#define LOG4CXX_STR(str) str
  ------------------
  439|    346|				+ LOG4CXX_STR(" sub-class: [") + clazz + LOG4CXX_STR("]"));
  ------------------
  |  |   51|    346|		#define LOG4CXX_STR(str) str
  ------------------
              				+ LOG4CXX_STR(" sub-class: [") + clazz + LOG4CXX_STR("]"));
  ------------------
  |  |   51|    346|		#define LOG4CXX_STR(str) str
  ------------------
  440|    346|	}
  441|       |
  442|    348|	try
  443|    348|	{
  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|    348|		const Level::LevelClass& levelClass =
  450|    348|			dynamic_cast<const Level::LevelClass&>(Loader::loadClass(clazz));
  451|    348|		return levelClass.toLevel(levelName);
  452|    348|	}
  453|    348|	catch (Exception& oops)
  454|    348|	{
  455|    341|		LogLog::error(LOG4CXX_STR("Could not create ") + Level::getStaticClass().getName() + LOG4CXX_STR(" sub-class"), oops);
  ------------------
  |  |   51|  1.02k|		#define LOG4CXX_STR(str) str
  ------------------
              		LogLog::error(LOG4CXX_STR("Could not create ") + Level::getStaticClass().getName() + LOG4CXX_STR(" sub-class"), oops);
  ------------------
  |  |   51|    341|		#define LOG4CXX_STR(str) str
  ------------------
  456|    341|	}
  457|    348|	catch (const std::bad_cast&)
  458|    348|	{
  459|      5|		LogLog::warn(
  460|      5|			LOG4CXX_STR("class [") + clazz + LOG4CXX_STR("] unable to be converted to "
  ------------------
  |  |   51|     15|		#define LOG4CXX_STR(str) str
  ------------------
              			LOG4CXX_STR("class [") + clazz + LOG4CXX_STR("] unable to be converted to "
  ------------------
  |  |   51|      5|		#define LOG4CXX_STR(str) str
  ------------------
  461|      5|			"Level::LevelClass"));
  462|      5|	}
  463|    348|	catch (...)
  464|    348|	{
  465|      0|		LogLog::warn(
  466|      0|			LOG4CXX_STR("class [") + clazz + LOG4CXX_STR("], level [") + levelName +
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
              			LOG4CXX_STR("class [") + clazz + LOG4CXX_STR("], level [") + levelName +
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  467|      0|			LOG4CXX_STR("] conversion) failed."));
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  468|      0|	}
  469|       |
  470|    346|	return defaultValue;
  471|    348|}
optionconverter.cpp:_ZN12_GLOBAL__N_115substVarsSafelyERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEERN7log4cxx7helpers10PropertiesEPKNS_14LogStringChainE:
   81|   129k|{
   82|   129k|	LogString sbuf;
   83|   129k|	const logchar delimStartArray[] = { 0x24, 0x7B, 0 }; // '$', '{'
   84|   129k|	const LogString delimStart(delimStartArray);
   85|   129k|	const logchar delimStop = 0x7D; // '}';
   86|   129k|	const size_t DELIM_START_LEN = 2;
   87|   129k|	const size_t DELIM_STOP_LEN = 1;
   88|       |
   89|   129k|	size_t i = 0;
   90|       |
   91|   228k|	while (true)
  ------------------
  |  Branch (91:9): [True: 228k, Folded]
  ------------------
   92|   228k|	{
   93|   228k|		size_t j = val.find(delimStart, i);
   94|       |
   95|   228k|		if (j == val.npos)
  ------------------
  |  Branch (95:7): [True: 125k, False: 102k]
  ------------------
   96|   125k|		{
   97|       |			// no more variables
   98|   125k|			if (i == 0)
  ------------------
  |  Branch (98:8): [True: 118k, False: 6.27k]
  ------------------
   99|   118k|			{
  100|       |				// this is a simple string
  101|   118k|				return val;
  102|   118k|			}
  103|  6.27k|			else
  104|  6.27k|			{
  105|       |				// add the tail string which contails no variables and return the result.
  106|  6.27k|				sbuf.append(val.substr(i, val.length() - i));
  107|  6.27k|				return sbuf;
  108|  6.27k|			}
  109|   125k|		}
  110|   102k|		else
  111|   102k|		{
  112|   102k|			sbuf.append(val.substr(i, j - i));
  113|   102k|			size_t k = val.find(delimStop, j);
  114|       |
  115|   102k|			if (k == val.npos)
  ------------------
  |  Branch (115:8): [True: 4.50k, False: 98.4k]
  ------------------
  116|  4.50k|			{
  117|  4.50k|				LogString msg(1, (logchar) 0x22 /* '\"' */);
  118|  4.50k|				msg.append(val);
  119|  4.50k|				msg.append(LOG4CXX_STR("\" has no closing brace. Opening brace at position "));
  ------------------
  |  |   51|  4.50k|		#define LOG4CXX_STR(str) str
  ------------------
  120|  4.50k|				helpers::Pool p;
  121|  4.50k|				helpers::StringHelper::toString(j, msg);
  122|  4.50k|				msg.append(1, (logchar) 0x2E /* '.' */);
  123|  4.50k|				throw helpers::IllegalArgumentException(msg);
  124|  4.50k|			}
  125|  98.4k|			else
  126|  98.4k|			{
  127|  98.4k|				j += DELIM_START_LEN;
  128|  98.4k|				LogString key = val.substr(j, k - j);
  129|  98.4k|				if (path && isRecursiveReference(key, path))
  ------------------
  |  Branch (129:9): [True: 0, False: 98.4k]
  |  Branch (129:17): [True: 0, False: 0]
  ------------------
  130|      0|				{
  131|      0|					LogString msg(LOG4CXX_STR("The variable ${"));
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  132|      0|					msg.append(key);
  133|      0|					msg.append(LOG4CXX_STR("} is used recursively"));
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  134|      0|					throw helpers::IllegalArgumentException(msg);
  135|      0|				}
  136|       |
  137|       |				// first try in System properties
  138|  98.4k|				LogString replacement(helpers::OptionConverter::getSystemProperty(key, LogString()));
  139|       |
  140|       |				// then try props parameter
  141|  98.4k|				if (replacement.empty())
  ------------------
  |  Branch (141:9): [True: 26.0k, False: 72.4k]
  ------------------
  142|  26.0k|				{
  143|  26.0k|					replacement = props.getProperty(key);
  144|  26.0k|				}
  145|       |
  146|  98.4k|				if (!replacement.empty())
  ------------------
  |  Branch (146:9): [True: 73.7k, False: 24.7k]
  ------------------
  147|  73.7k|				{
  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|  73.7k|					LogStringChain current{ key, path };
  154|  73.7k|					LogString recursiveReplacement = substVarsSafely(replacement, props, &current);
  155|  73.7k|					sbuf.append(recursiveReplacement);
  156|  73.7k|				}
  157|       |
  158|  98.4k|				i = k + DELIM_STOP_LEN;
  159|  98.4k|			}
  160|   102k|		}
  161|   228k|	}
  162|   129k|}

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

_ZN7log4cxx7helpers10PropertiesC2Ev:
  416|      1|Properties::Properties() : properties(new PropertyMap())
  417|      1|{
  418|      1|}
_ZN7log4cxx7helpers10PropertiesC2ERKS1_:
  421|  3.45k|	: properties(new PropertyMap(*other.properties))
  422|  3.45k|{
  423|  3.45k|}
_ZN7log4cxx7helpers10PropertiesD2Ev:
  433|  3.45k|{
  434|  3.45k|	delete properties;
  435|  3.45k|}
_ZN7log4cxx7helpers10Properties11setPropertyERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_:
  438|      7|{
  439|      7|	return put(key, value);
  440|      7|}
_ZN7log4cxx7helpers10Properties3putERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_:
  443|      7|{
  444|      7|	LogString oldValue((*properties)[key]);
  445|      7|	(*properties)[key] = value;
  446|      7|	return oldValue;
  447|      7|}
_ZNK7log4cxx7helpers10Properties11getPropertyERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  450|  26.0k|{
  451|  26.0k|	return get(key);
  452|  26.0k|}
_ZNK7log4cxx7helpers10Properties3getERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  455|  26.0k|{
  456|  26.0k|	PropertyMap::const_iterator it = properties->find(key);
  457|  26.0k|	return (it != properties->end()) ? it->second : LogString();
  ------------------
  |  Branch (457:9): [True: 1.29k, False: 24.7k]
  ------------------
  458|  26.0k|}
_ZNK7log4cxx7helpers10Properties7isEmptyEv:
  481|  3.45k|{
  482|  3.45k|	return properties->empty();
  483|  3.45k|}
_ZNK7log4cxx7helpers10Properties4LessIcEclERKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESC_:
   33|  98.0k|	{
   34|  98.0k|		return std::lexicographical_compare
   35|  98.0k|			( str1.begin(), str1.end()
   36|  98.0k|			, str2.begin(), str2.end()
   37|  98.0k|			, [](Char c1, Char c2)
   38|  98.0k|				{
   39|  98.0k|					return std::tolower(static_cast<unsigned char>(c1)) < std::tolower(static_cast<unsigned char>(c2));
   40|  98.0k|				}
   41|  98.0k|			);
   42|  98.0k|	}
_ZZNK7log4cxx7helpers10Properties4LessIcEclERKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEESC_ENKUlccE_clEcc:
   38|   493k|				{
   39|   493k|					return std::tolower(static_cast<unsigned char>(c1)) < std::tolower(static_cast<unsigned char>(c2));
   40|   493k|				}

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

_ZN7log4cxx3spi10RootLoggerC1ERKNSt3__110shared_ptrINS_5LevelEEE:
   28|      1|	: Logger(LOG4CXX_STR("root"))
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) 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."));
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
   50|      0|	}
   51|      1|	else
   52|      1|	{
   53|      1|		Logger::setLevel(level1);
   54|      1|	}
   55|      1|}

_ZN7log4cxx7helpers12StringHelper16equalsIgnoreCaseERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEPKcSC_:
   32|  12.5k|{
   33|  12.5k|	for (const auto& item : s1)
  ------------------
  |  Branch (33:24): [True: 31.1k, False: 4.47k]
  ------------------
   34|  31.1k|	{
   35|  31.1k|		if (0 == item || // OSS-Fuzz makes strings with embedded NUL characters
  ------------------
  |  Branch (35:7): [True: 0, False: 31.1k]
  ------------------
   36|  31.1k|			(item != *upper && item != *lower))
  ------------------
  |  Branch (36:5): [True: 12.7k, False: 18.3k]
  |  Branch (36:23): [True: 8.02k, False: 4.74k]
  ------------------
   37|  8.02k|		{
   38|  8.02k|			return false;
   39|  8.02k|		}
   40|  23.1k|		++upper;
   41|  23.1k|		++lower;
   42|  23.1k|	}
   43|       |
   44|  4.47k|	return 0 == *upper;
   45|  12.5k|}
_ZN7log4cxx7helpers12StringHelper11toLowerCaseERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   69|    576|{
   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|    576|	LogString d;
   76|    576|	d.reserve(s.size());
   77|    576|	for (auto ch : s)
  ------------------
  |  Branch (77:15): [True: 2.63M, False: 576]
  ------------------
   78|  2.63M|	{
   79|  2.63M|		if (ch >= static_cast<logchar>('A') && ch <= static_cast<logchar>('Z'))
  ------------------
  |  Branch (79:7): [True: 1.84M, False: 798k]
  |  Branch (79:42): [True: 25.4k, False: 1.81M]
  ------------------
   80|  25.4k|			d.push_back(static_cast<logchar>(ch + ('a' - 'A')));
   81|  2.61M|		else
   82|  2.61M|			d.push_back(ch);
   83|  2.63M|	}
   84|    576|	return d;
   85|    576|}
_ZN7log4cxx7helpers12StringHelper4trimERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   88|    197|{
   89|    197|	LogString::size_type pos = s.find_first_not_of(' ');
   90|       |
   91|    197|	if (pos == std::string::npos)
  ------------------
  |  Branch (91:6): [True: 7, False: 190]
  ------------------
   92|      7|	{
   93|      7|		return LogString();
   94|      7|	}
   95|       |
   96|    190|	LogString::size_type n = s.find_last_not_of(' ') - pos + 1;
   97|    190|	return s.substr(pos, n);
   98|    197|}
_ZN7log4cxx7helpers12StringHelper10startsWithERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_:
  101|  1.03k|{
  102|  1.03k|	if (s.length() < prefix.length())
  ------------------
  |  Branch (102:6): [True: 579, False: 455]
  ------------------
  103|    579|	{
  104|    579|		return false;
  105|    579|	}
  106|       |
  107|    455|	return s.compare(0, prefix.length(), prefix) == 0;
  108|  1.03k|}
_ZN7log4cxx7helpers12StringHelper8toStringEmRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  180|  4.50k|{
  181|       |#if LOG4CXX_LOGCHAR_IS_WCHAR
  182|       |	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|  4.50k|}

_ZN7log4cxx7helpers6System11getPropertyERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   45|  91.7k|{
   46|  91.7k|	if (lkey.empty())
  ------------------
  |  Branch (46:6): [True: 0, False: 91.7k]
  ------------------
   47|      0|	{
   48|      0|		throw IllegalArgumentException(LOG4CXX_STR("key is empty"));
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
   49|      0|	}
   50|       |
   51|  91.7k|	LogString rv;
   52|       |
   53|  91.7k|	if (lkey == LOG4CXX_STR("java.io.tmpdir"))
  ------------------
  |  |   51|  91.7k|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (53:6): [True: 454, False: 91.3k]
  ------------------
   54|    454|	{
   55|    454|		Pool p;
   56|    454|		const char* dir = NULL;
   57|    454|		apr_status_t stat = apr_temp_dir_get(&dir, p.getAPRPool());
   58|       |
   59|    454|		if (stat == APR_SUCCESS)
  ------------------
  |  |  225|    454|#define APR_SUCCESS 0
  ------------------
  |  Branch (59:7): [True: 454, False: 0]
  ------------------
   60|    454|		{
   61|    454|			Transcoder::decode(dir, rv);
   62|    454|		}
   63|       |
   64|    454|		return rv;
   65|    454|	}
   66|       |
   67|  91.3k|	if (lkey == LOG4CXX_STR("user.dir"))
  ------------------
  |  |   51|  91.3k|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (67:6): [True: 321, False: 90.9k]
  ------------------
   68|    321|	{
   69|    321|		Pool p;
   70|    321|		char* dir = NULL;
   71|    321|		apr_status_t stat = apr_filepath_get(&dir, APR_FILEPATH_NATIVE,
  ------------------
  |  |  305|    321|#define APR_FILEPATH_NATIVE         0x10
  ------------------
   72|    321|				p.getAPRPool());
   73|       |
   74|    321|		if (stat == APR_SUCCESS)
  ------------------
  |  |  225|    321|#define APR_SUCCESS 0
  ------------------
  |  Branch (74:7): [True: 321, False: 0]
  ------------------
   75|    321|		{
   76|    321|			Transcoder::decode(dir, rv);
   77|    321|		}
   78|       |
   79|    321|		return rv;
   80|    321|	}
   81|       |
   82|  90.9k|#if APR_HAS_USER
   83|       |
   84|  90.9k|	if (lkey == LOG4CXX_STR("user.home") || lkey == LOG4CXX_STR("user.name"))
  ------------------
  |  |   51|   181k|		#define LOG4CXX_STR(str) str
  ------------------
              	if (lkey == LOG4CXX_STR("user.home") || lkey == LOG4CXX_STR("user.name"))
  ------------------
  |  |   51|  90.8k|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (84:6): [True: 183, False: 90.8k]
  |  Branch (84:42): [True: 490, False: 90.3k]
  ------------------
   85|    673|	{
   86|    673|		Pool pool;
   87|    673|		apr_uid_t userid;
   88|    673|		apr_gid_t groupid;
   89|    673|		apr_pool_t* p = pool.getAPRPool();
   90|    673|		apr_status_t stat = apr_uid_current(&userid, &groupid, p);
   91|       |
   92|    673|		if (stat == APR_SUCCESS)
  ------------------
  |  |  225|    673|#define APR_SUCCESS 0
  ------------------
  |  Branch (92:7): [True: 673, False: 0]
  ------------------
   93|    673|		{
   94|    673|			char* username = NULL;
   95|    673|			stat = apr_uid_name_get(&username, userid, p);
   96|       |
   97|    673|			if (stat == APR_SUCCESS)
  ------------------
  |  |  225|    673|#define APR_SUCCESS 0
  ------------------
  |  Branch (97:8): [True: 673, False: 0]
  ------------------
   98|    673|			{
   99|    673|				if (lkey == LOG4CXX_STR("user.name"))
  ------------------
  |  |   51|    673|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (99:9): [True: 490, False: 183]
  ------------------
  100|    490|				{
  101|    490|					Transcoder::decode(username, rv);
  102|    490|				}
  103|    183|				else
  104|    183|				{
  105|    183|					char* dirname = NULL;
  106|    183|					stat = apr_uid_homepath_get(&dirname, username, p);
  107|       |
  108|    183|					if (stat == APR_SUCCESS)
  ------------------
  |  |  225|    183|#define APR_SUCCESS 0
  ------------------
  |  Branch (108:10): [True: 183, False: 0]
  ------------------
  109|    183|					{
  110|    183|						Transcoder::decode(dirname, rv);
  111|    183|					}
  112|    183|				}
  113|    673|			}
  114|    673|		}
  115|       |
  116|    673|		return rv;
  117|    673|	}
  118|       |
  119|  90.3k|#endif
  120|       |
  121|  90.3k|	LOG4CXX_ENCODE_CHAR(key, lkey);
  ------------------
  |  |  246|  90.3k|	std::string var;                      \
  |  |  247|  90.3k|	LOG4CXX_NS::helpers::Transcoder::encode(src, var)
  ------------------
  122|  90.3k|	Pool p;
  123|  90.3k|	char* value = NULL;
  124|  90.3k|	apr_status_t stat = apr_env_get(&value, key.c_str(),
  125|  90.3k|			p.getAPRPool());
  126|       |
  127|  90.3k|	if (stat == APR_SUCCESS)
  ------------------
  |  |  225|  90.3k|#define APR_SUCCESS 0
  ------------------
  |  Branch (127:6): [True: 71.0k, False: 19.3k]
  ------------------
  128|  71.0k|	{
  129|  71.0k|		Transcoder::decode((const char*) value, rv);
  130|  71.0k|	}
  131|       |
  132|  90.3k|	return rv;
  133|  90.9k|}
_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());
  ------------------
  |  |  259|      0|	LOG4CXX_NS::LogString var;                      \
  |  |  260|      0|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
  163|      0|		LogLog::warn(LOG4CXX_STR("Failed to read ") + lsExeLink);
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) 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"));
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  180|      0|		return;
  181|      0|	}
  182|       |		
  183|      1|	LOG4CXX_DECODE_CHAR(lsProgramFileName, programFileName);
  ------------------
  |  |  259|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  260|      1|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
  184|      1|	LogString prefix{ LOG4CXX_STR("PROGRAM_FILE_PATH") };
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) 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|       |#if LOG4CXX_LOGCHAR_IS_WCHAR
  192|       |	auto root_name = programPath.root_name().wstring();
  193|       |	if (!root_name.empty())
  194|       |		props.setProperty(prefix + LOG4CXX_STR("ROOT_NAME"), root_name);
  195|       |	auto root_directory = programPath.root_directory().wstring();
  196|       |	props.setProperty(prefix + LOG4CXX_STR("ROOT_DIRECTORY"),root_directory);
  197|       |	auto root_path = programPath.root_path().wstring();
  198|       |	props.setProperty(prefix + LOG4CXX_STR("ROOT_PATH"), root_path);
  199|       |	auto relative_path = programPath.relative_path().wstring();
  200|       |	props.setProperty(prefix + LOG4CXX_STR("RELATIVE_PATH"), relative_path);
  201|       |	auto parent_path = programPath.parent_path().wstring();
  202|       |	props.setProperty(prefix + LOG4CXX_STR("PARENT_PATH"), parent_path);
  203|       |	auto filename = programPath.filename().wstring();
  204|       |	props.setProperty(prefix + LOG4CXX_STR("FILENAME"), filename);
  205|       |	auto stem = programPath.stem().wstring();
  206|       |	props.setProperty(prefix + LOG4CXX_STR("STEM"), stem);
  207|       |	auto extension = programPath.extension().wstring();
  208|       |	if (!extension.empty())
  209|       |		props.setProperty(prefix + LOG4CXX_STR("EXTENSION"), extension);
  210|       |#else
  211|      1|	LOG4CXX_DECODE_CHAR(root_name, programPath.root_name().string());
  ------------------
  |  |  259|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  260|      1|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
  212|      1|	if (!root_name.empty())
  ------------------
  |  Branch (212:6): [True: 0, False: 1]
  ------------------
  213|      0|		props.setProperty(prefix + LOG4CXX_STR("ROOT_NAME"), root_name);
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  214|      1|	LOG4CXX_DECODE_CHAR(root_directory, programPath.root_directory().string());
  ------------------
  |  |  259|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  260|      1|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
  215|      1|	props.setProperty(prefix + LOG4CXX_STR("ROOT_DIRECTORY"),root_directory);
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) str
  ------------------
  216|      1|	LOG4CXX_DECODE_CHAR(root_path, programPath.root_path().string());
  ------------------
  |  |  259|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  260|      1|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
  217|      1|	props.setProperty(prefix + LOG4CXX_STR("ROOT_PATH"), root_path);
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) str
  ------------------
  218|      1|	LOG4CXX_DECODE_CHAR(relative_path, programPath.relative_path().string());
  ------------------
  |  |  259|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  260|      1|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
  219|      1|	props.setProperty(prefix + LOG4CXX_STR("RELATIVE_PATH"), relative_path);
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) str
  ------------------
  220|      1|	LOG4CXX_DECODE_CHAR(parent_path, programPath.parent_path().string());
  ------------------
  |  |  259|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  260|      1|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
  221|      1|	props.setProperty(prefix + LOG4CXX_STR("PARENT_PATH"), parent_path);
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) str
  ------------------
  222|      1|	LOG4CXX_DECODE_CHAR(filename, programPath.filename().string());
  ------------------
  |  |  259|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  260|      1|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
  223|      1|	props.setProperty(prefix + LOG4CXX_STR("FILENAME"), filename);
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) str
  ------------------
  224|      1|	LOG4CXX_DECODE_CHAR(stem, programPath.stem().string());
  ------------------
  |  |  259|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  260|      1|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
  225|      1|	props.setProperty(prefix + LOG4CXX_STR("STEM"), stem);
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) str
  ------------------
  226|      1|	LOG4CXX_DECODE_CHAR(extension, programPath.extension().string());
  ------------------
  |  |  259|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  260|      1|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
  227|      1|	if (!extension.empty())
  ------------------
  |  Branch (227:6): [True: 0, False: 1]
  ------------------
  228|      0|		props.setProperty(prefix + LOG4CXX_STR("EXTENSION"), extension);
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  229|      1|#endif
  230|      1|#endif // LOG4CXX_HAS_FILESYSTEM_PATH
  231|      1|}

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

_ZN7log4cxx7helpers13ThreadUtilityC2Ev:
  117|      1|	: m_priv( std::make_unique<priv_data>() )
  118|      1|{
  119|       |	// Block signals by default.
  120|      1|	configureFuncs( std::bind( &ThreadUtility::preThreadBlockSignals, this ),
  121|      1|		nullptr,
  122|      1|		std::bind( &ThreadUtility::postThreadUnblockSignals, this ) );
  123|      1|}
_ZN7log4cxx7helpers13ThreadUtilityD2Ev:
  125|      1|ThreadUtility::~ThreadUtility() {}
_ZN7log4cxx7helpers13ThreadUtility11instancePtrEv:
  128|      2|{
  129|      2|	auto result = APRInitializer::getOrAddUnique<Manager>
  130|      2|		( []() -> ObjectPtr
  131|      2|			{ return std::make_shared<Manager>(); }
  132|      2|		);
  133|      2|	return result;
  134|      2|}
_ZN7log4cxx7helpers13ThreadUtility8instanceEv:
  137|      2|{
  138|      2|	return &instancePtr()->value();
  139|      2|}
_ZN7log4cxx7helpers13ThreadUtility9configureENS0_23ThreadConfigurationTypeE:
  142|      2|{
  143|      2|	auto utility = instance();
  144|       |
  145|      2|	if ( type == ThreadConfigurationType::NoConfiguration )
  ------------------
  |  Branch (145:7): [True: 1, False: 1]
  ------------------
  146|      1|	{
  147|      1|		utility->configureFuncs( nullptr, nullptr, nullptr );
  148|      1|	}
  149|      1|	else if ( type == ThreadConfigurationType::NameThreadOnly )
  ------------------
  |  Branch (149:12): [True: 1, False: 0]
  ------------------
  150|      1|	{
  151|      1|		utility->configureFuncs( nullptr,
  152|      1|			std::bind( &ThreadUtility::threadStartedNameThread, utility,
  153|      1|				std::placeholders::_1,
  154|      1|				std::placeholders::_2,
  155|      1|				std::placeholders::_3 ),
  156|      1|			nullptr );
  157|      1|	}
  158|      0|	else if ( type == ThreadConfigurationType::BlockSignalsOnly )
  ------------------
  |  Branch (158:12): [True: 0, False: 0]
  ------------------
  159|      0|	{
  160|      0|		utility->configureFuncs( std::bind( &ThreadUtility::preThreadBlockSignals, utility ),
  161|      0|			nullptr,
  162|      0|			std::bind( &ThreadUtility::postThreadUnblockSignals, utility ) );
  163|      0|	}
  164|      0|	else if ( type == ThreadConfigurationType::BlockSignalsAndNameThread )
  ------------------
  |  Branch (164:12): [True: 0, False: 0]
  ------------------
  165|      0|	{
  166|      0|		utility->configureFuncs( std::bind( &ThreadUtility::preThreadBlockSignals, utility ),
  167|      0|			std::bind( &ThreadUtility::threadStartedNameThread, utility,
  168|      0|				std::placeholders::_1,
  169|      0|				std::placeholders::_2,
  170|      0|				std::placeholders::_3 ),
  171|      0|			std::bind( &ThreadUtility::postThreadUnblockSignals, utility ) );
  172|      0|	}
  173|      2|}
_ZN7log4cxx7helpers13ThreadUtility14configureFuncsENSt3__18functionIFvvEEENS3_IFvNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS2_11__thread_idEmEEES5_:
  178|      3|{
  179|      3|	m_priv->start_pre = pre_start;
  180|      3|	m_priv->started = started;
  181|      3|	m_priv->start_post = post_start;
  182|      3|}
_ZN7log4cxx7helpers13ThreadUtility9priv_data10stopThreadEv:
   98|      1|	{
   99|      1|		LOGLOG_DEBUG(log, "stopThread");
  100|      1|		setTerminated();
  101|      1|		interrupt.notify_all();
  102|      1|		if (thread.joinable())
  ------------------
  |  Branch (102:7): [True: 0, False: 1]
  ------------------
  103|      0|			thread.join();
  104|      1|	}
_ZN7log4cxx7helpers13ThreadUtility9priv_data13setTerminatedEv:
   92|      1|	{
   93|      1|		std::lock_guard<std::recursive_mutex> lock(job_mutex);
   94|      1|		terminated.store(true);
   95|      1|	}
_ZN7log4cxx7helpers13ThreadUtility9priv_dataC2Ev:
   57|      1|	{
   58|      1|	}
_ZN7log4cxx7helpers13ThreadUtility9priv_dataD2Ev:
   61|      1|	{ stopThread(); }
threadutility.cpp:_ZZN7log4cxx7helpers13ThreadUtility11instancePtrEvENK3$_0clEv:
  131|      1|			{ return std::make_shared<Manager>(); }

_ZN7log4cxx7helpers10Transcoder6decodeERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERS8_:
  239|  83.9k|{
  240|  83.9k|#if LOG4CXX_CHARSET_UTF8 && LOG4CXX_LOGCHAR_IS_UTF8
  241|  83.9k|	dst.append(src);
  242|       |#else
  243|       |	static CharsetDecoderPtr decoder(CharsetDecoder::getDefaultDecoder());
  244|       |	dst.reserve(dst.size() + src.size());
  245|       |	std::string::const_iterator iter = src.begin();
  246|       |#if !LOG4CXX_CHARSET_EBCDIC
  247|       |
  248|       |	for (;
  249|       |		iter != src.end() && ((unsigned char) *iter) < 0x80;
  250|       |		iter++)
  251|       |	{
  252|       |		dst.append(1, *iter);
  253|       |	}
  254|       |
  255|       |#endif
  256|       |
  257|       |	if (iter != src.end())
  258|       |	{
  259|       |		size_t offset = iter - src.begin();
  260|       |		ByteBuffer buf(const_cast<char*>(src.data() + offset), src.size() - offset);
  261|       |
  262|       |		while (buf.remaining() > 0)
  263|       |		{
  264|       |			log4cxx_status_t stat = decoder->decode(buf, dst);
  265|       |
  266|       |			if (CharsetDecoder::isError(stat))
  267|       |			{
  268|       |				dst.append(1, LOSSCHAR);
  269|       |				buf.increment_position(1);
  270|       |			}
  271|       |		}
  272|       |
  273|       |		decoder->decode(buf, dst);
  274|       |	}
  275|       |
  276|       |#endif
  277|  83.9k|}
_ZN7log4cxx7helpers10Transcoder6encodeERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERS8_:
  294|   150k|{
  295|   150k|#if LOG4CXX_CHARSET_UTF8 && LOG4CXX_LOGCHAR_IS_UTF8
  296|   150k|	dst.append(src);
  297|       |#else
  298|       |	static CharsetEncoderPtr encoder(CharsetEncoder::getDefaultEncoder());
  299|       |	dst.reserve(dst.size() + src.size());
  300|       |	LogString::const_iterator iter = src.begin();
  301|       |#if !LOG4CXX_CHARSET_EBCDIC
  302|       |
  303|       |	for (;
  304|       |		iter != src.end() && ((unsigned int) *iter) < 0x80;
  305|       |		iter++)
  306|       |	{
  307|       |		dst.append(1, static_cast<char>(*iter));
  308|       |	}
  309|       |
  310|       |#endif
  311|       |
  312|       |	if (iter != src.end())
  313|       |	{
  314|       |		char buf[BUFSIZE];
  315|       |		ByteBuffer out(buf, BUFSIZE);
  316|       |
  317|       |		while (iter != src.end())
  318|       |		{
  319|       |			log4cxx_status_t stat = encoder->encode(src, iter, out);
  320|       |			out.flip();
  321|       |			dst.append(out.data(), out.limit());
  322|       |			out.clear();
  323|       |
  324|       |			if (CharsetEncoder::isError(stat))
  325|       |			{
  326|       |				dst.append(1, LOSSCHAR);
  327|       |				iter++;
  328|       |			}
  329|       |		}
  330|       |
  331|       |		encoder->encode(src, iter, out);
  332|       |	}
  333|       |
  334|       |#endif
  335|   150k|}

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

_ZN7log4cxx8AppenderD2Ev:
   59|  3.08k|		virtual ~Appender() {}

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

_ZN7log4cxx7helpers6ObjectD2Ev:
  104|  76.0k|		virtual ~Object() {}
_ZNK7log4cxx7helpers6Object11ClazzObject7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx3spi13OptionHandler18ClazzOptionHandler7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx8Appender13ClazzAppender7getNameEv:
   32|  1.87k|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|  1.87k|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx3spi18AppenderAttachable23ClazzAppenderAttachable7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx6Logger11ClazzLogger7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx6Logger10instanceofERKNS_7helpers5ClassE:
  152|  17.4k|	{ return cast(clazz) != 0; }
_ZNK7log4cxx3spi13LoggerFactory18ClazzLoggerFactory7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx3spi16LoggerRepository21ClazzLoggerRepository7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers11InputStream16ClazzInputStream7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx3spi12Configurator17ClazzConfigurator7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx3spi12LoggingEvent17ClazzLoggingEvent7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx6Layout11ClazzLayout7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers14CharsetDecoder19ClazzCharsetDecoder7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx3spi6Filter11ClazzFilter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7rolling16TriggeringPolicy21ClazzTriggeringPolicy7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7rolling6Action11ClazzAction7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7rolling19RolloverDescription24ClazzRolloverDescription7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7rolling13RollingPolicy18ClazzRollingPolicy7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx3xml15DOMConfigurator20ClazzDOMConfigurator7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) 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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_ZNK7log4cxx3spi12ErrorHandler17ClazzErrorHandler7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx16AppenderSkeleton21ClazzAppenderSkeleton7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers22AppenderAttachableImpl27ClazzAppenderAttachableImpl7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx13AsyncAppender18ClazzAsyncAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx3spi18RepositorySelector23ClazzRepositorySelector7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx5varia20FallbackErrorHandler25ClazzFallbackErrorHandler7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx20DefaultLoggerFactory25ClazzDefaultLoggerFactory7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers12OutputStream17ClazzOutputStream7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers6Writer11ClazzWriter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers14CharsetEncoder19ClazzCharsetEncoder7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers18OutputStreamWriter23ClazzOutputStreamWriter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx14WriterAppender19ClazzWriterAppender7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx12FileAppender17ClazzFileAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7rolling19RollingFileAppender24ClazzRollingFileAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7rolling27FilterBasedTriggeringPolicy32ClazzFilterBasedTriggeringPolicy7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx3spi24TriggeringEventEvaluator29ClazzTriggeringEventEvaluator7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx3net12SMTPAppender17ClazzSMTPAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZN7log4cxx8Appender14getStaticClassEv:
   64|  1.87k|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|  1.87k|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|  1.87k|		return theClass;                                       \
   67|  1.87k|	}                                                                      \
_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); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers4Date9ClazzDate7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) 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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx2db12ODBCAppender17ClazzODBCAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers11InetAddress16ClazzInetAddress7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers14DatagramPacket19ClazzDatagramPacket7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers14DatagramSocket19ClazzDatagramSocket7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx3net14SyslogAppender19ClazzSyslogAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers6Socket11ClazzSocket7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx3net14TelnetAppender19ClazzTelnetAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx3net17XMLSocketAppender22ClazzXMLSocketAppender7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern14FormattingInfo19ClazzFormattingInfo7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern16PatternConverter21ClazzPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern28LoggingEventPatternConverter33ClazzLoggingEventPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx13PatternLayout18ClazzPatternLayout7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers8TimeZone13ClazzTimeZone7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers10DateFormat15ClazzDateFormat7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx10JSONLayout15ClazzJSONLayout7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx10HTMLLayout15ClazzHTMLLayout7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx12SimpleLayout17ClazzSimpleLayout7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx3xml9XMLLayout14ClazzXMLLayout7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx6filter16LevelMatchFilter21ClazzLevelMatchFilter7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx6filter16LevelRangeFilter21ClazzLevelRangeFilter7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx6filter17StringMatchFilter22ClazzStringMatchFilter7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx6filter18LocationInfoFilter23ClazzLocationInfoFilter7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7rolling17RollingPolicyBase22ClazzRollingPolicyBase7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7rolling24FixedWindowRollingPolicy29ClazzFixedWindowRollingPolicy7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7rolling22ManualTriggeringPolicy27ClazzManualTriggeringPolicy7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7rolling25SizeBasedTriggeringPolicy30ClazzSizeBasedTriggeringPolicy7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7rolling22TimeBasedRollingPolicy27ClazzTimeBasedRollingPolicy7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx20PropertyConfigurator25ClazzPropertyConfigurator7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) 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|  3.45k|{
  125|  3.45k|	if(!incoming)
  ------------------
  |  Branch (125:5): [True: 0, False: 3.45k]
  ------------------
  126|      0|	{
  127|      0|		return std::shared_ptr<Ret>();
  128|      0|	}
  129|       |
  130|  3.45k|	Ret* casted = reinterpret_cast<Ret*>(const_cast<void*>(incoming->cast(Ret::getStaticClass())));
  131|       |
  132|  3.45k|	if ( casted )
  ------------------
  |  Branch (132:7): [True: 3.45k, False: 0]
  ------------------
  133|  3.45k|	{
  134|  3.45k|		return std::shared_ptr<Ret>( incoming, casted );
  135|  3.45k|	}
  136|       |
  137|      0|	return std::shared_ptr<Ret>();
  138|  3.45k|}
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_ZNK7log4cxx7helpers15SystemOutWriter20ClazzSystemOutWriter7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers15SystemErrWriter20ClazzSystemErrWriter7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) 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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_ZNK7log4cxx9Hierarchy14ClazzHierarchy7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) 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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_ZNK7log4cxx7helpers16FileOutputStream21ClazzFileOutputStream7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers14BufferedWriter19ClazzBufferedWriter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) 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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_ZNK7log4cxx7helpers7Integer12ClazzInteger7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7rolling16FileRenameAction21ClazzFileRenameAction7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7rolling16GZCompressAction21ClazzGZCompressAction7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7rolling17ZipCompressAction22ClazzZipCompressAction7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern23IntegerPatternConverter28ClazzIntegerPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) 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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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|    689|	const LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   80|    689|		static LOG4CXX_NS::helpers::WideLife<class> theClass; \
   81|    689|		return theClass;                                       \
   82|    689|	}                                                         \
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_ZN7log4cxx7helpers6Object14getStaticClassEv:
   64|  27.7k|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|  27.7k|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|  27.7k|		return theClass;                                       \
   67|  27.7k|	}                                                                      \
_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|  17.4k|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|  17.4k|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|  17.4k|		return theClass;                                       \
   67|  17.4k|	}                                                                      \
_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|  17.4k|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|  17.4k|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|  17.4k|		return theClass;                                       \
   67|  17.4k|	}                                                                      \
_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|  6.91k|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|  6.91k|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|  6.91k|		return theClass;                                       \
   67|  6.91k|	}                                                                      \
_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); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers10XMLDOMNode15ClazzXMLDOMNode7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers14XMLDOMDocument19ClazzXMLDOMDocument7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers13XMLDOMElement18ClazzXMLDOMElement7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers14XMLDOMNodeList19ClazzXMLDOMNodeList7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers15FileInputStream20ClazzFileInputStream7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) 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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_ZN7log4cxx6Logger14getStaticClassEv:
   64|  17.4k|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|  17.4k|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|  17.4k|		return theClass;                                       \
   67|  17.4k|	}                                                                      \
_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); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZN7log4cxx4castINS_3spi18RepositorySelectorENS_7helpers6ObjectELb0ELb1EEENSt3__110shared_ptrIT_EERKNS6_IT0_EE:
  124|  3.45k|{
  125|  3.45k|	if(!incoming)
  ------------------
  |  Branch (125:5): [True: 0, False: 3.45k]
  ------------------
  126|      0|	{
  127|      0|		return std::shared_ptr<Ret>();
  128|      0|	}
  129|       |
  130|  3.45k|	Ret* casted = reinterpret_cast<Ret*>(const_cast<void*>(incoming->cast(Ret::getStaticClass())));
  131|       |
  132|  3.45k|	if ( casted )
  ------------------
  |  Branch (132:7): [True: 3.45k, False: 0]
  ------------------
  133|  3.45k|	{
  134|  3.45k|		return std::shared_ptr<Ret>( incoming, casted );
  135|  3.45k|	}
  136|       |
  137|      0|	return std::shared_ptr<Ret>();
  138|  3.45k|}
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_ZNK7log4cxx7pattern19MDCPatternConverter24ClazzMDCPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern15NameAbbreviator20ClazzNameAbbreviator7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern20NamePatternConverter25ClazzNamePatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern22LoggerPatternConverter27ClazzLoggerPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern25ClassNamePatternConverter30ClazzClassNamePatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern20DatePatternConverter25ClazzDatePatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern28FileLocationPatternConverter33ClazzFileLocationPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern28FullLocationPatternConverter33ClazzFullLocationPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern33ShortFileLocationPatternConverter38ClazzShortFileLocationPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern28LineLocationPatternConverter33ClazzLineLocationPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern23MessagePatternConverter28ClazzMessagePatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern30MethodLocationPatternConverter35ClazzMethodLocationPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern21LevelPatternConverter26ClazzLevelPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern22ThreadPatternConverter27ClazzThreadPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern30ThreadUsernamePatternConverter35ClazzThreadUsernamePatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern19NDCPatternConverter24ClazzNDCPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) 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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_ZNK7log4cxx7pattern24ColorEndPatternConverter29ClazzColorEndPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern26ColorStartPatternConverter31ClazzColorStartPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern23LiteralPatternConverter28ClazzLiteralPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern29LineSeparatorPatternConverter34ClazzLineSeparatorPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern28RelativeTimePatternConverter33ClazzRelativeTimePatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern26PropertiesPatternConverter31ClazzPropertiesPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern36ThrowableInformationPatternConverter41ClazzThrowableInformationPatternConverter7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers6Reader11ClazzReader7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7helpers17InputStreamReader22ClazzInputStreamReader7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) 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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_ZNK7log4cxx3net16DefaultEvaluator21ClazzDefaultEvaluator7getNameEv:
   46|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) 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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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|	}\
_ZN7log4cxx4castINS_7helpers15SingletonHolderINS1_13ThreadUtilityEEENS1_6ObjectELb0ELb1EEENSt3__110shared_ptrIT_EERKNS7_IT0_EE:
  124|      2|{
  125|      2|	if(!incoming)
  ------------------
  |  Branch (125:5): [True: 0, False: 2]
  ------------------
  126|      0|	{
  127|      0|		return std::shared_ptr<Ret>();
  128|      0|	}
  129|       |
  130|      2|	Ret* casted = reinterpret_cast<Ret*>(const_cast<void*>(incoming->cast(Ret::getStaticClass())));
  131|       |
  132|      2|	if ( casted )
  ------------------
  |  Branch (132:7): [True: 2, False: 0]
  ------------------
  133|      2|	{
  134|      2|		return std::shared_ptr<Ret>( incoming, casted );
  135|      2|	}
  136|       |
  137|      0|	return std::shared_ptr<Ret>();
  138|      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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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|    343|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    343|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    343|		return classReg; \
   71|    343|	}\
_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); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) 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); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern21MaxElementAbbreviator26ClazzMaxElementAbbreviator7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) str
  ------------------
_ZNK7log4cxx7pattern18PatternAbbreviator23ClazzPatternAbbreviator7getNameEv:
   32|      2|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|      2|		#define LOG4CXX_STR(str) 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|  3.45k|	BEGIN_LOG4CXX_CAST_MAP()
  ------------------
  |  |  144|  3.45k|	{\
  |  |  145|  3.45k|		const void * object = 0;\
  |  |  146|  3.45k|		if (&clazz == &helpers::Object::getStaticClass()) return (const helpers::Object *)this;
  |  |  ------------------
  |  |  |  Branch (146:7): [True: 3.45k, 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|  3.45k|	T& value() { return m_data; }
_ZN7log4cxx7helpers15SingletonHolderINS0_13ThreadUtilityEE5valueEv:
   58|      2|	T& value() { return m_data; }
_ZN7log4cxx7helpers15SingletonHolderINS0_13ThreadUtilityEEC2Ev:
   46|      1|	SingletonHolder() {}
_ZNK7log4cxx7helpers15SingletonHolderINS0_13ThreadUtilityEE4castERKNS0_5ClassE:
   41|      2|	BEGIN_LOG4CXX_CAST_MAP()
  ------------------
  |  |  144|      2|	{\
  |  |  145|      2|		const void * object = 0;\
  |  |  146|      2|		if (&clazz == &helpers::Object::getStaticClass()) return (const helpers::Object *)this;
  |  |  ------------------
  |  |  |  Branch (146:7): [True: 2, 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|	}\
  ------------------

_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|  9.09k|	{
   63|  9.09k|		return *reinterpret_cast<T*>(&storage);
   64|  9.09k|	}
_ZN7log4cxx7helpers8WideLifeINS0_17ClassRegistrationEEcvRS2_Ev:
   72|  9.09k|	{
   73|  9.09k|		return value();
   74|  9.09k|	}
_ZN7log4cxx7helpers8WideLifeINS_8Appender13ClazzAppenderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_8Appender13ClazzAppenderEE5valueEv:
   62|  1.87k|	{
   63|  1.87k|		return *reinterpret_cast<T*>(&storage);
   64|  1.87k|	}
_ZN7log4cxx7helpers8WideLifeINS_8Appender13ClazzAppenderEEcvRS3_Ev:
   72|  1.87k|	{
   73|  1.87k|		return value();
   74|  1.87k|	}
_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|   105k|	{
   63|   105k|		return *reinterpret_cast<T*>(&storage);
   64|   105k|	}
_ZN7log4cxx7helpers8WideLifeINS0_14APRInitializerEEcvRS2_Ev:
   72|   105k|	{
   73|   105k|		return value();
   74|   105k|	}
_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__13mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEPKNS0_5ClassENS2_4lessIS9_EENS7_INS2_4pairIKS9_SC_EEEEEEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINSt3__13mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEPKNS0_5ClassENS2_4lessIS9_EENS7_INS2_4pairIKS9_SC_EEEEEEE5valueEv:
   62|  1.44k|	{
   63|  1.44k|		return *reinterpret_cast<T*>(&storage);
   64|  1.44k|	}
_ZN7log4cxx7helpers8WideLifeINSt3__13mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEPKNS0_5ClassENS2_4lessIS9_EENS7_INS2_4pairIKS9_SC_EEEEEEEcvRSJ_Ev:
   72|  1.44k|	{
   73|  1.44k|		return value();
   74|  1.44k|	}
_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|    689|	{
   63|    689|		return *reinterpret_cast<T*>(&storage);
   64|    689|	}
_ZN7log4cxx7helpers8WideLifeINS_5Level10LevelClassEEcvRS3_Ev:
   72|    689|	{
   73|    689|		return value();
   74|    689|	}
_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|  3.66k|	{
   63|  3.66k|		return *reinterpret_cast<T*>(&storage);
   64|  3.66k|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_5LevelEEEEcvRS5_Ev:
   72|  3.65k|	{
   73|  3.65k|		return value();
   74|  3.65k|	}
_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|  2.88k|	{
   63|  2.88k|		return *reinterpret_cast<T*>(&storage);
   64|  2.88k|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_5Level4DataEEEEcvRS6_Ev:
   72|  2.88k|	{
   73|  2.88k|		return value();
   74|  2.88k|	}
_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|  27.7k|	{
   63|  27.7k|		return *reinterpret_cast<T*>(&storage);
   64|  27.7k|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Object11ClazzObjectEEcvRS3_Ev:
   72|  27.7k|	{
   73|  27.7k|		return value();
   74|  27.7k|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13OptionHandler18ClazzOptionHandlerEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13OptionHandler18ClazzOptionHandlerEE5valueEv:
   62|  17.4k|	{
   63|  17.4k|		return *reinterpret_cast<T*>(&storage);
   64|  17.4k|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13OptionHandler18ClazzOptionHandlerEEcvRS4_Ev:
   72|  17.4k|	{
   73|  17.4k|		return value();
   74|  17.4k|	}
_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|  17.4k|	{
   63|  17.4k|		return *reinterpret_cast<T*>(&storage);
   64|  17.4k|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi18AppenderAttachable23ClazzAppenderAttachableEEcvRS4_Ev:
   72|  17.4k|	{
   73|  17.4k|		return value();
   74|  17.4k|	}
_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|  6.91k|	{
   63|  6.91k|		return *reinterpret_cast<T*>(&storage);
   64|  6.91k|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi18RepositorySelector23ClazzRepositorySelectorEEcvRS4_Ev:
   72|  6.91k|	{
   73|  6.91k|		return value();
   74|  6.91k|	}
_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|  17.4k|	{
   63|  17.4k|		return *reinterpret_cast<T*>(&storage);
   64|  17.4k|	}
_ZN7log4cxx7helpers8WideLifeINS_6Logger11ClazzLoggerEEcvRS3_Ev:
   72|  17.4k|	{
   73|  17.4k|		return value();
   74|  17.4k|	}
_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|  80.3k|	{
   63|  80.3k|		return *reinterpret_cast<T*>(&storage);
   64|  80.3k|	}
_ZN7log4cxx7helpers8WideLifeINS0_6LogLogEEcvRS2_Ev:
   72|  80.3k|	{
   73|  80.3k|		return value();
   74|  80.3k|	}
_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|	}
_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|    689|				{
   58|    689|					return LOG4CXX_STR("Level");
  ------------------
  |  |   51|    689|		#define LOG4CXX_STR(str) str
  ------------------
   59|    689|				}
_ZNK7log4cxx5Level10LevelClass7toLevelERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   62|      2|				{
   63|      2|					return Level::toLevelLS(sArg);
   64|      2|				}
_ZNK7log4cxx5Level5toIntEv:
  285|  11.6k|		{
  286|  11.6k|			return level;
  287|  11.6k|		}

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

_ZN7log4cxx16AppenderSkeleton23AppenderSkeletonPrivateC2Ev:
   31|  3.08k|		threshold(Level::getAll()),
   32|  3.08k|		errorHandler(std::make_shared<LOG4CXX_NS::helpers::OnlyOnceErrorHandler>()),
   33|  3.08k|		closed(false) {}
_ZN7log4cxx16AppenderSkeleton23AppenderSkeletonPrivateD2Ev:
   41|  3.08k|	virtual ~AppenderSkeletonPrivate(){}

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

_ZN7log4cxx3spi18AppenderAttachableD2Ev:
   89|  11.9k|		virtual ~AppenderAttachable() {}

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

_ZN7log4cxx3spi12ErrorHandlerD2Ev:
   72|  3.08k|		virtual ~ErrorHandler() {}

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

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

_ZN7log4cxx3spi13OptionHandlerD2Ev:
   38|  6.17k|		virtual ~OptionHandler() {}

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

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

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

