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

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

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

_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|   103k|{
  125|   103k|	static WideLife<apr_environment> env;
  126|   103k|	static WideLife<APRInitializer> init;
  127|   103k|	return init;
  128|   103k|}
_ZN7log4cxx7helpers14APRInitializer11getRootPoolEv:
  144|  96.3k|{
  145|  96.3k|	return getInstance().m_priv->p;
  146|  96.3k|}
_ZN7log4cxx7helpers14APRInitializer15findOrAddObjectEmNSt3__18functionIFNS2_10shared_ptrINS0_6ObjectEEEvEEE:
  176|  7.01k|{
  177|  7.01k|	std::lock_guard<std::mutex> lock(m_priv->mutex);
  178|  7.01k|	if (m_priv->objects.empty())
  ------------------
  |  Branch (178:6): [True: 1, False: 7.01k]
  ------------------
  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|  7.01k|	auto pItem = std::find_if(m_priv->objects.begin(), m_priv->objects.end()
  184|  7.01k|		, [key](const IdentifiedObject& item) { return item.first == key; }
  185|  7.01k|		);
  186|  7.01k|	if (m_priv->objects.end() != pItem)
  ------------------
  |  Branch (186:6): [True: 7.01k, False: 2]
  ------------------
  187|  7.01k|		return pItem->second;
  188|      2|	m_priv->objects.emplace_back(key, creator());
  189|      2|	return m_priv->objects.back().second;
  190|  7.01k|}
aprinitializer.cpp:_ZZN7log4cxx7helpers14APRInitializer15findOrAddObjectEmNSt3__18functionIFNS2_10shared_ptrINS0_6ObjectEEEvEEEENK3$_0clERKNS2_4pairImS6_EE:
  184|  10.5k|		, [key](const IdentifiedObject& item) { return item.first == key; }
_ZN7log4cxx7helpers14APRInitializer21APRInitializerPrivateC2Ev:
   43|      1|		p(0),
   44|      1|		startTime(0),
   45|      1|		tlsKey(0){
   46|       |
   47|      1|	}
_ZN7log4cxx7helpers14APRInitializer21APRInitializerPrivateD2Ev:
   49|      1|	{
   50|       |		// Delete in reverse order
   51|      3|		while (!objects.empty())
  ------------------
  |  Branch (51:10): [True: 2, False: 1]
  ------------------
   52|      2|			objects.pop_back();
   53|      1|	}
aprinitializer.cpp:_ZN12_GLOBAL__N_115apr_environmentC2Ev:
   83|      1|    {
   84|      1|        apr_initialize();
   85|      1|    }
aprinitializer.cpp:_ZN12_GLOBAL__N_115apr_environmentD2Ev:
   87|      1|    {
   88|      1|        apr_terminate();
   89|      1|    }

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

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

_ZN7log4cxx7helpers14CharsetDecoderC2Ev:
  510|  3.50k|{
  511|  3.50k|}
_ZN7log4cxx7helpers14CharsetDecoderD2Ev:
  515|  3.50k|{
  516|  3.50k|}
_ZN7log4cxx7helpers14CharsetDecoder10getDecoderERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  566|  3.50k|{
  567|  3.50k|	if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("UTF-8"), LOG4CXX_STR("utf-8")) ||
  ------------------
  |  |   51|  3.50k|		#define LOG4CXX_STR(str) str
  ------------------
              	if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("UTF-8"), LOG4CXX_STR("utf-8")) ||
  ------------------
  |  |   51|  3.50k|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (567:6): [True: 3.50k, False: 0]
  ------------------
  568|      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 (568:3): [True: 0, False: 0]
  ------------------
  569|      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 (569:3): [True: 0, False: 0]
  ------------------
  570|  3.50k|	{
  571|  3.50k|#if LOG4CXX_LOGCHAR_IS_UTF8
  572|  3.50k|		return std::make_shared<TrivialCharsetDecoder>();
  573|       |#else
  574|       |		return std::make_shared<UTF8CharsetDecoder>();
  575|       |#endif
  576|  3.50k|	}
  577|      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 (577:11): [True: 0, False: 0]
  ------------------
  578|      0|		charset == LOG4CXX_STR("646") ||
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (578:3): [True: 0, False: 0]
  ------------------
  579|      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 (579:3): [True: 0, False: 0]
  ------------------
  580|      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 (580:3): [True: 0, False: 0]
  ------------------
  581|      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 (581:3): [True: 0, False: 0]
  ------------------
  582|      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 (582:3): [True: 0, False: 0]
  ------------------
  583|      0|	{
  584|      0|		return std::make_shared<USASCIICharsetDecoder>();
  585|      0|	}
  586|      0|	else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO-8859-1"), LOG4CXX_STR("iso-8859-1")) ||
  ------------------
  |  |   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 (586:11): [True: 0, False: 0]
  ------------------
  587|      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 (587:3): [True: 0, False: 0]
  ------------------
  588|      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 (588:3): [True: 0, False: 0]
  ------------------
  589|      0|	{
  590|      0|		return std::make_shared<ISOLatinCharsetDecoder>();
  591|      0|	}
  592|      0|	else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("LOCALE"), LOG4CXX_STR("locale")))
  ------------------
  |  |   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 (592:11): [True: 0, False: 0]
  ------------------
  593|      0|	{
  594|      0|		return std::make_shared<LocaleCharsetDecoder>();
  595|      0|	}
  596|       |
  597|      0|#if APR_HAS_XLATE
  598|      0|	return std::make_shared<APRCharsetDecoder>(charset);
  599|       |#else
  600|       |	throw IllegalArgumentException(charset);
  601|       |#endif
  602|  3.50k|}
_ZN7log4cxx7helpers14CharsetDecoder6decodeEPKcmRNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEE:
  605|  17.0k|{
  606|  17.0k|	ByteBuffer buf((char*)in, strnlen_s(in, maxByteCount));
  607|  17.0k|	return decode(buf, out);
  608|  17.0k|}
_ZN7log4cxx7helpers21TrivialCharsetDecoderC2Ev:
  272|  3.50k|		{
  273|  3.50k|		}
_ZN7log4cxx7helpers21TrivialCharsetDecoder6decodeERNS0_10ByteBufferERNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEE:
  281|  17.0k|		{
  282|  17.0k|			size_t remaining = in.remaining();
  283|       |
  284|  17.0k|			if ( remaining > 0)
  ------------------
  |  Branch (284:9): [True: 16.7k, False: 262]
  ------------------
  285|  16.7k|			{
  286|  16.7k|				auto src = in.current();
  287|  16.7k|				auto count = remaining / sizeof(logchar);
  288|  16.7k|				out.append(reinterpret_cast<const logchar*>(src), count);
  289|  16.7k|				in.increment_position(remaining);
  290|  16.7k|			}
  291|       |
  292|  17.0k|			return APR_SUCCESS;
  ------------------
  |  |  225|  17.0k|#define APR_SUCCESS 0
  ------------------
  293|  17.0k|		}

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

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

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

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

_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.92k|{
   34|  2.92k|	return std::make_shared<Logger>(name);
   35|  2.92k|}

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

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

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

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

_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.92k, False: 1]
  ------------------
   83|  2.92k|	{
   84|  2.92k|		if (auto& pLogger = item.second)
  ------------------
  |  Branch (84:13): [True: 2.92k, False: 0]
  ------------------
   85|  2.92k|		{
   86|  2.92k|			pLogger->removeHierarchy();
   87|  2.92k|			pLogger->removeAllAppenders();
   88|  2.92k|		}
   89|  2.92k|	}
   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|    433|{
  164|    433|	if (l != 0)
  ------------------
  |  Branch (164:6): [True: 433, False: 0]
  ------------------
  165|    433|	{
  166|    433|		std::lock_guard<std::recursive_mutex> lock(m_priv->mutex);
  167|    433|		setThresholdInternal(l);
  168|    433|	}
  169|    433|}
_ZN7log4cxx9Hierarchy20setThresholdInternalERKNSt3__110shared_ptrINS_5LevelEEE:
  187|    433|{
  188|    433|	m_priv->thresholdInt = l->toInt();
  189|    433|	m_priv->threshold = l;
  190|       |
  191|    433|	if (m_priv->thresholdInt != Level::ALL_INT)
  ------------------
  |  Branch (191:6): [True: 3, False: 430]
  ------------------
  192|      3|	{
  193|      3|		m_priv->configured = true;
  194|      3|	}
  195|    433|}
_ZNK7log4cxx9Hierarchy12getThresholdEv:
  223|    431|{
  224|    431|	return m_priv->threshold ? m_priv->threshold : Level::getAll();
  ------------------
  |  Branch (224:9): [True: 431, False: 0]
  ------------------
  225|    431|}
_ZN7log4cxx9Hierarchy9getLoggerERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERKNS1_10shared_ptrINS_3spi13LoggerFactoryEEE:
  239|  16.0k|{
  240|  16.0k|	auto root = getRootLogger();
  241|  16.0k|	std::lock_guard<std::recursive_mutex> lock(m_priv->mutex);
  242|       |
  243|  16.0k|	LoggerMap::iterator it = m_priv->loggers.find(name);
  244|  16.0k|	LoggerPtr result;
  245|       |
  246|  16.0k|	if (it != m_priv->loggers.end())
  ------------------
  |  Branch (246:6): [True: 13.1k, False: 2.92k]
  ------------------
  247|  13.1k|	{
  248|  13.1k|		result = it->second;
  249|  13.1k|	}
  250|  16.0k|	if (!result && factory)
  ------------------
  |  Branch (250:6): [True: 2.92k, False: 13.1k]
  |  Branch (250:17): [True: 2.92k, False: 0]
  ------------------
  251|  2.92k|	{
  252|  2.92k|#if LOG4CXX_ABI_VERSION <= 15
  253|  2.92k|		LoggerPtr logger(factory->makeNewLoggerInstance(m_priv->pool, name));
  254|       |#else
  255|       |		LoggerPtr logger(factory->makeNewLoggerInstance(name));
  256|       |#endif
  257|  2.92k|		logger->setHierarchy(this);
  258|  2.92k|		m_priv->loggers.insert(LoggerMap::value_type(name, logger));
  259|       |
  260|  2.92k|		ProvisionNodeMap::iterator it2 = m_priv->provisionNodes.find(name);
  261|       |
  262|  2.92k|		if (it2 != m_priv->provisionNodes.end())
  ------------------
  |  Branch (262:7): [True: 360, False: 2.56k]
  ------------------
  263|    360|		{
  264|    360|			updateChildren(it2->second, logger);
  265|    360|			m_priv->provisionNodes.erase(it2);
  266|    360|		}
  267|       |
  268|  2.92k|		updateParents(logger, root);
  269|  2.92k|		result = logger;
  270|  2.92k|	}
  271|  16.0k|	return result;
  272|       |
  273|  16.0k|}
_ZNK7log4cxx9Hierarchy13getRootLoggerEv:
  289|  35.6k|{
  290|  35.6k|	std::lock_guard<std::recursive_mutex> lock(m_priv->mutex);
  291|  35.6k|	if (!m_priv->root)
  ------------------
  |  Branch (291:6): [True: 1, False: 35.6k]
  ------------------
  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|  35.6k|	return m_priv->root;
  298|  35.6k|}
_ZN7log4cxx9Hierarchy13updateParentsERKNSt3__110shared_ptrINS_6LoggerEEES6_:
  373|  2.92k|{
  374|  2.92k|	const LogString name(logger->getName());
  375|  2.92k|	size_t length = name.size();
  376|  2.92k|	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.92k|	for (size_t i = name.find_last_of(0x2E /* '.' */, length - 1);
  381|  99.2k|		(i != LogString::npos) && (i != 0);
  ------------------
  |  Branch (381:3): [True: 97.4k, False: 1.80k]
  |  Branch (381:29): [True: 97.4k, False: 19]
  ------------------
  382|  96.3k|		i = name.find_last_of(0x2E /* '.' */, i - 1))
  383|  97.4k|	{
  384|  97.4k|		LogString substr = name.substr(0, i);
  385|       |
  386|  97.4k|		LoggerMap::iterator it = m_priv->loggers.find(substr);
  387|       |
  388|  97.4k|		if (it != m_priv->loggers.end())
  ------------------
  |  Branch (388:7): [True: 1.10k, False: 96.3k]
  ------------------
  389|  1.10k|		{
  390|  1.10k|			parentFound = true;
  391|  1.10k|			logger->setParent( it->second );
  392|  1.10k|			break; // no need to update the ancestors of the closest ancestor
  393|  1.10k|		}
  394|  96.3k|		else
  395|  96.3k|		{
  396|  96.3k|			ProvisionNodeMap::iterator it2 = m_priv->provisionNodes.find(substr);
  397|       |
  398|  96.3k|			if (it2 != m_priv->provisionNodes.end())
  ------------------
  |  Branch (398:8): [True: 15.2k, False: 81.0k]
  ------------------
  399|  15.2k|			{
  400|  15.2k|				it2->second.push_back(logger);
  401|  15.2k|			}
  402|  81.0k|			else
  403|  81.0k|			{
  404|  81.0k|				ProvisionNode node(1, logger);
  405|  81.0k|				m_priv->provisionNodes.insert(
  406|  81.0k|					ProvisionNodeMap::value_type(substr, node));
  407|  81.0k|			}
  408|  96.3k|		}
  409|  97.4k|	}
  410|       |
  411|       |	// If we could not find any existing parents, then link with root.
  412|  2.92k|	if (!parentFound)
  ------------------
  |  Branch (412:6): [True: 1.82k, False: 1.10k]
  ------------------
  413|  1.82k|	{
  414|  1.82k|		logger->setParent( root );
  415|  1.82k|	}
  416|  2.92k|}
_ZN7log4cxx9Hierarchy14updateChildrenERNSt3__16vectorINS1_10shared_ptrINS_6LoggerEEENS1_9allocatorIS5_EEEERKS5_:
  419|    360|{
  420|    360|	for (auto& l : pn)
  ------------------
  |  Branch (420:15): [True: 990, False: 360]
  ------------------
  421|    990|	{
  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|    990|		if (!StringHelper::startsWith(l->getParent()->getName(), logger->getName()))
  ------------------
  |  Branch (424:7): [True: 587, False: 403]
  ------------------
  425|    587|		{
  426|    587|			logger->setParent( l->getParent() );
  427|    587|			l->setParent( logger );
  428|    587|		}
  429|    990|	}
  430|       |    
  431|    360|}
_ZN7log4cxx9Hierarchy14updateChildrenEPKNS_6LoggerE:
  434|  4.10k|{
  435|  4.10k|	for (auto& item : m_priv->loggers)
  ------------------
  |  Branch (435:18): [True: 6.02M, False: 4.10k]
  ------------------
  436|  6.02M|	{
  437|  33.6M|		for (auto l = item.second; l; l = l->getParent())
  ------------------
  |  Branch (437:30): [True: 27.5M, False: 6.01M]
  ------------------
  438|  27.5M|		{
  439|  27.5M|			if (l->getParent().get() == parent)
  ------------------
  |  Branch (439:8): [True: 8.00k, False: 27.5M]
  ------------------
  440|  8.00k|			{
  441|  8.00k|				item.second->updateThreshold();
  442|  8.00k|				break;
  443|  8.00k|			}
  444|  27.5M|		}
  445|  6.02M|	}
  446|  4.10k|}
_ZN7log4cxx9Hierarchy6createEv:
  462|      1|{
  463|      1|	HierarchyPtr ret(new Hierarchy);
  464|      1|	return ret;
  465|      1|}
_ZN7log4cxx9Hierarchy16HierarchyPrivateC2Ev:
   43|      1|		: configured(false)
   44|      1|		, emittedNoAppenderWarning(false)
   45|      1|		, emittedNoResourceBundleWarning(false)
   46|      1|		, thresholdInt(Level::ALL_INT)
   47|      1|	{
   48|      1|	}

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

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

_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.92k|	: m_priv(std::make_unique<LoggerPrivate>(name1))
   91|  2.92k|	, m_threshold(0)
   92|  2.92k|{
   93|  2.92k|}
_ZN7log4cxx6LoggerD2Ev:
  103|  2.92k|{
  104|  2.92k|}
_ZNK7log4cxx6Logger17getEffectiveLevelEv:
  316|  12.1k|{
  317|   179k|	for (const Logger* l = this; l != 0; l = l->m_priv->parent.get())
  ------------------
  |  Branch (317:31): [True: 179k, False: 0]
  ------------------
  318|   179k|	{
  319|   179k|		if (l->m_priv->level != 0)
  ------------------
  |  Branch (319:7): [True: 12.1k, False: 167k]
  ------------------
  320|  12.1k|		{
  321|  12.1k|			return l->m_priv->level;
  322|  12.1k|		}
  323|   179k|	}
  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|  12.1k|}
_ZNK7log4cxx6Logger12getHierarchyEv:
  344|  24.8k|{
  345|  24.8k|	return m_priv->repositoryRaw;
  346|  24.8k|}
_ZNK7log4cxx6Logger9getParentEv:
  391|  55.1M|{
  392|  55.1M|	return m_priv->parent;
  393|  55.1M|}
_ZNK7log4cxx6Logger8getLevelEv:
  396|      1|{
  397|      1|	return m_priv->level;
  398|      1|}
_ZN7log4cxx6Logger18removeAllAppendersEv:
  611|  20.7k|{
  612|  20.7k|	AppenderList currentAppenders = m_priv->aai.getAllAppenders();
  613|  20.7k|	m_priv->aai.removeAllAppenders();
  614|       |
  615|  20.7k|	auto rep = getHierarchy();
  616|  20.7k|	if(rep){
  ------------------
  |  Branch (616:5): [True: 17.8k, False: 2.92k]
  ------------------
  617|  17.8k|		for(AppenderPtr appender : currentAppenders){
  ------------------
  |  Branch (617:28): [True: 0, False: 17.8k]
  ------------------
  618|      0|			rep->fireRemoveAppenderEvent(this, appender.get());
  619|      0|		}
  620|  17.8k|	}
  621|  20.7k|}
_ZN7log4cxx6Logger15removeHierarchyEv:
  641|  2.92k|{
  642|  2.92k|	m_priv->repositoryRaw = 0;
  643|  2.92k|}
_ZN7log4cxx6Logger13setAdditivityEb:
  646|  16.0k|{
  647|  16.0k|	m_priv->additive = additive1;
  648|  16.0k|}
_ZN7log4cxx6Logger12setHierarchyEPNS_3spi16LoggerRepositoryE:
  651|  2.92k|{
  652|  2.92k|	m_priv->repositoryRaw = repository1;
  653|  2.92k|}
_ZN7log4cxx6Logger9setParentENSt3__110shared_ptrIS0_EE:
  656|  4.10k|{
  657|  4.10k|	m_priv->parent = parentLogger;
  658|  4.10k|	updateThreshold();
  659|  4.10k|	if (auto rep = dynamic_cast<Hierarchy*>(getHierarchy()))
  ------------------
  |  Branch (659:11): [True: 4.10k, False: 0]
  ------------------
  660|  4.10k|		rep->updateChildren(this);
  661|  4.10k|}
_ZN7log4cxx6Logger8setLevelENSt3__110shared_ptrINS_5LevelEEE:
  664|      1|{
  665|      1|	if (m_priv->level != level1)
  ------------------
  |  Branch (665:6): [True: 1, False: 0]
  ------------------
  666|      1|	{
  667|      1|		m_priv->level = level1;
  668|      1|		updateThreshold();
  669|      1|		if (auto rep = dynamic_cast<Hierarchy*>(getHierarchy()))
  ------------------
  |  Branch (669:12): [True: 0, False: 1]
  ------------------
  670|      0|			rep->updateChildren(this);
  671|      1|	}
  672|      1|}
_ZN7log4cxx6Logger15updateThresholdEv:
  675|  12.1k|{
  676|  12.1k|	m_threshold = getEffectiveLevel()->toInt();
  677|  12.1k|}
_ZNK7log4cxx6Logger7getNameEv:
  680|  37.0k|{
  681|  37.0k|	return m_priv->name;
  682|  37.0k|}
_ZN7log4cxx6Logger13LoggerPrivateC2ERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   41|  2.92k|		: name(name1)
   42|  2.92k|		, repositoryRaw(0)
   43|  2.92k|		, additive(true)
   44|  2.92k|		, levelData(Level::getData())
   45|  2.92k|		{}

_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|  81.5k|{
   97|  81.5k|	static WideLife<LogLog> internalLogger;
   98|       |
   99|  81.5k|	return internalLogger;
  100|  81.5k|}
_ZN7log4cxx7helpers6LogLog14isDebugEnabledEv:
  103|  36.4k|{
  104|  36.4k|	auto p = getInstance().m_priv.get();
  105|  36.4k|	return p && !p->quietMode // Not deleted by onexit processing?
  ------------------
  |  Branch (105:9): [True: 36.4k, False: 0]
  |  Branch (105:14): [True: 36.4k, False: 0]
  ------------------
  106|  36.4k|			 && p->debugEnabled;
  ------------------
  |  Branch (106:8): [True: 36.0k, False: 397]
  ------------------
  107|  36.4k|}
_ZN7log4cxx7helpers6LogLog20setInternalDebuggingEb:
  120|    209|{
  121|    209|	auto p = getInstance().m_priv.get();
  122|    209|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (122:6): [True: 209, False: 0]
  |  Branch (122:11): [True: 209, False: 0]
  ------------------
  123|    209|		p->debugEnabled = debugEnabled1;
  124|    209|}
_ZN7log4cxx7helpers6LogLog15setColorEnabledEb:
  133|     63|{
  134|     63|	if (auto p = getInstance().m_priv.get())
  ------------------
  |  Branch (134:11): [True: 63, False: 0]
  ------------------
  135|     63|		p->setColorEnabled(newValue);
  136|     63|}
_ZN7log4cxx7helpers6LogLog5debugERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  139|  36.0k|{
  140|  36.0k|	auto p = getInstance().m_priv.get();
  141|  36.0k|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (141:6): [True: 36.0k, False: 0]
  |  Branch (141:11): [True: 36.0k, False: 0]
  ------------------
  142|  36.0k|	{
  143|  36.0k|		if (!p->debugEnabled)
  ------------------
  |  Branch (143:7): [True: 1, False: 36.0k]
  ------------------
  144|      1|		{
  145|      1|			return;
  146|      1|		}
  147|       |
  148|  36.0k|		std::lock_guard<std::mutex> lock(p->mutex);
  149|  36.0k|		emit_log(p->debugPrefix, msg, p->suffix);
  150|  36.0k|	}
  151|  36.0k|}
_ZN7log4cxx7helpers6LogLog5errorERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  169|     94|{
  170|     94|	auto p = getInstance().m_priv.get();
  171|     94|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (171:6): [True: 94, False: 0]
  |  Branch (171:11): [True: 94, False: 0]
  ------------------
  172|     94|	{
  173|     94|		std::lock_guard<std::mutex> lock(p->mutex);
  174|       |
  175|     94|		emit_log(p->errorPrefix, msg, p->suffix);
  176|     94|	}
  177|     94|}
_ZN7log4cxx7helpers6LogLog5errorERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKSt9exception:
  180|  2.18k|{
  181|  2.18k|	auto p = getInstance().m_priv.get();
  182|  2.18k|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (182:6): [True: 2.18k, False: 0]
  |  Branch (182:11): [True: 2.18k, False: 0]
  ------------------
  183|  2.18k|	{
  184|  2.18k|		std::lock_guard<std::mutex> lock(p->mutex);
  185|  2.18k|		emit_log(p->errorPrefix, msg, p->suffix);
  186|  2.18k|		emit_log(p->errorPrefix, e, p->suffix);
  187|  2.18k|	}
  188|  2.18k|}
_ZN7log4cxx7helpers6LogLog4warnERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  222|  1.97k|{
  223|  1.97k|	auto p = getInstance().m_priv.get();
  224|  1.97k|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (224:6): [True: 1.97k, False: 0]
  |  Branch (224:11): [True: 1.97k, False: 0]
  ------------------
  225|  1.97k|	{
  226|  1.97k|		std::lock_guard<std::mutex> lock(p->mutex);
  227|  1.97k|		emit_log(p->warnPrefix, msg, p->suffix);
  228|  1.97k|	}
  229|  1.97k|}
_ZN7log4cxx7helpers6LogLog4warnERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKSt9exception:
  232|  4.42k|{
  233|  4.42k|	auto p = getInstance().m_priv.get();
  234|  4.42k|	if (p && !p->quietMode) // Not deleted by onexit processing?
  ------------------
  |  Branch (234:6): [True: 4.42k, False: 0]
  |  Branch (234:11): [True: 4.42k, False: 0]
  ------------------
  235|  4.42k|	{
  236|  4.42k|		std::lock_guard<std::mutex> lock(p->mutex);
  237|  4.42k|		emit_log(p->warnPrefix, msg, p->suffix);
  238|  4.42k|		emit_log(p->warnPrefix, e, p->suffix);
  239|  4.42k|	}
  240|  4.42k|}
_ZN7log4cxx7helpers6LogLog8emit_logERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_SA_:
  243|  44.7k|{
  244|  44.7k|	LogString out(LOG4CXX_STR("log4cxx: "));
  ------------------
  |  |   51|  44.7k|		#define LOG4CXX_STR(str) str
  ------------------
  245|  44.7k|	out.append(prefix);
  246|  44.7k|	out.append(msg);
  247|  44.7k|	out.append(suffix);
  248|  44.7k|	out.append(1, (logchar) 0x0A);
  249|       |
  250|  44.7k|	SystemErrWriter().write(out);
  251|  44.7k|}
_ZN7log4cxx7helpers6LogLog8emit_logERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKSt9exceptionSA_:
  254|  6.61k|{
  255|  6.61k|	LogString out(LOG4CXX_STR("log4cxx: "));
  ------------------
  |  |   51|  6.61k|		#define LOG4CXX_STR(str) str
  ------------------
  256|  6.61k|	out.append(prefix);
  257|  6.61k|	const char* raw = ex.what();
  258|       |
  259|  6.61k|	if (raw != 0)
  ------------------
  |  Branch (259:6): [True: 6.61k, False: 0]
  ------------------
  260|  6.61k|	{
  261|  6.61k|		Transcoder::decode(raw, out);
  262|  6.61k|	}
  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.61k|	out.append(suffix);
  269|  6.61k|	out.append(1, (logchar) 0x0A);
  270|       |
  271|  6.61k|	SystemErrWriter().write(out);
  272|  6.61k|}
_ZN7log4cxx7helpers6LogLog13LogLogPrivate15setColorEnabledEb:
   58|     64|	{
   59|     64|		if (newValue)
  ------------------
  |  Branch (59:7): [True: 60, False: 4]
  ------------------
   60|     60|		{
   61|     60|			this->errorPrefix = LOG4CXX_STR("\x1B[31m"); //red
  ------------------
  |  |   51|     60|		#define LOG4CXX_STR(str) str
  ------------------
   62|     60|			this->warnPrefix = LOG4CXX_STR("\x1B[33m"); //yellow
  ------------------
  |  |   51|     60|		#define LOG4CXX_STR(str) str
  ------------------
   63|     60|			this->debugPrefix = LOG4CXX_STR("\x1B[32m"); //green
  ------------------
  |  |   51|     60|		#define LOG4CXX_STR(str) str
  ------------------
   64|     60|			this->suffix = LOG4CXX_STR("\x1B[0m"); // none
  ------------------
  |  |   51|     60|		#define LOG4CXX_STR(str) str
  ------------------
   65|     60|		}
   66|      4|		else
   67|      4|		{
   68|      4|			this->errorPrefix.clear();
   69|      4|			this->warnPrefix.clear();
   70|      4|			this->debugPrefix.clear();
   71|      4|			this->suffix.clear();
   72|      4|		}
   73|     64|	}
_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.50k|{
   50|  3.50k|	auto result = APRInitializer::getOrAddUnique<spi::RepositorySelector>( []() -> ObjectPtr
   51|  3.50k|		{
   52|  3.50k|			LoggerRepositoryPtr hierarchy = Hierarchy::create();
   53|  3.50k|			return std::make_shared<DefaultRepositorySelector>(hierarchy);
   54|  3.50k|		}
   55|  3.50k|	);
   56|  3.50k|	return result;
   57|  3.50k|}
_ZN7log4cxx10LogManager19getLoggerRepositoryEv:
   78|  3.50k|{
   79|  3.50k|	return getRepositorySelector()->getLoggerRepository();
   80|  3.50k|}
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.06k|	m_priv(std::make_unique<OnlyOnceErrorHandlerPrivate>())
   35|  3.06k|{
   36|  3.06k|}
_ZN7log4cxx7helpers20OnlyOnceErrorHandlerD2Ev:
   38|  3.06k|OnlyOnceErrorHandler::~OnlyOnceErrorHandler(){}

_ZN7log4cxx7helpers15OptionConverter9toBooleanERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEb:
  257|  19.9k|{
  258|  19.9k|	if (value.length() >= 4)
  ------------------
  |  Branch (258:6): [True: 4.65k, False: 15.3k]
  ------------------
  259|  4.65k|	{
  260|  4.65k|		if (StringHelper::equalsIgnoreCase(value.substr(0, 4),
  ------------------
  |  Branch (260:7): [True: 378, False: 4.27k]
  ------------------
  261|  4.65k|				LOG4CXX_STR("TRUE"), LOG4CXX_STR("true")))
  ------------------
  |  |   51|  4.65k|		#define LOG4CXX_STR(str) str
  ------------------
              				LOG4CXX_STR("TRUE"), LOG4CXX_STR("true")))
  ------------------
  |  |   51|  4.65k|		#define LOG4CXX_STR(str) str
  ------------------
  262|    378|		{
  263|    378|			return true;
  264|    378|		}
  265|  4.65k|	}
  266|       |
  267|  19.5k|	if (dEfault && value.length() >= 5)
  ------------------
  |  Branch (267:6): [True: 19.5k, False: 1]
  |  Branch (267:17): [True: 4.24k, False: 15.3k]
  ------------------
  268|  4.24k|	{
  269|  4.24k|		if (StringHelper::equalsIgnoreCase(value.substr(0, 5),
  ------------------
  |  Branch (269:7): [True: 781, False: 3.46k]
  ------------------
  270|  4.24k|				LOG4CXX_STR("FALSE"), LOG4CXX_STR("false")))
  ------------------
  |  |   51|  4.24k|		#define LOG4CXX_STR(str) str
  ------------------
              				LOG4CXX_STR("FALSE"), LOG4CXX_STR("false")))
  ------------------
  |  |   51|  4.24k|		#define LOG4CXX_STR(str) str
  ------------------
  271|    781|		{
  272|    781|			return false;
  273|    781|		}
  274|  4.24k|	}
  275|       |
  276|  18.8k|	return dEfault;
  277|  19.5k|}
_ZN7log4cxx7helpers15OptionConverter9substVarsERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERNS0_10PropertiesE:
  391|  56.2k|{
  392|  56.2k|	return substVarsSafely(val, props);
  393|  56.2k|}
_ZN7log4cxx7helpers15OptionConverter17getSystemPropertyERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_:
  396|  96.0k|{
  397|  96.0k|	if (!key.empty())
  ------------------
  |  Branch (397:6): [True: 89.3k, False: 6.65k]
  ------------------
  398|  89.3k|	{
  399|  89.3k|		LogString value(System::getProperty(key));
  400|       |
  401|  89.3k|		if (!value.empty())
  ------------------
  |  Branch (401:7): [True: 70.6k, False: 18.7k]
  ------------------
  402|  70.6k|		{
  403|  70.6k|			return value;
  404|  70.6k|		}
  405|  89.3k|	}
  406|       |
  407|  25.3k|	return def;
  408|  96.0k|}
_ZN7log4cxx7helpers15OptionConverter7toLevelERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERKNS2_10shared_ptrINS_5LevelEEE:
  412|    433|{
  413|    433|	size_t hashIndex = value.find(LOG4CXX_STR("#"));
  ------------------
  |  |   51|    433|		#define LOG4CXX_STR(str) str
  ------------------
  414|       |
  415|    433|	if (hashIndex == LogString::npos)
  ------------------
  |  Branch (415:6): [True: 121, False: 312]
  ------------------
  416|    121|	{
  417|       |		// no class name specified : use standard Level class
  418|    121|		if (value.empty())
  ------------------
  |  Branch (418:7): [True: 0, False: 121]
  ------------------
  419|      0|		{
  420|      0|			return defaultValue;
  421|      0|		}
  422|    121|		else
  423|    121|		{
  424|    121|			return Level::toLevelLS(value, defaultValue);
  425|    121|		}
  426|    121|	}
  427|       |
  428|    312|	LogString clazz = value.substr(hashIndex + 1);
  429|    312|	LogString levelName = value.substr(0, hashIndex);
  430|       |
  431|       |	// This is degenerate case but you never know.
  432|    312|	if (levelName.empty() || clazz.empty())
  ------------------
  |  Branch (432:6): [True: 6, False: 306]
  |  Branch (432:27): [True: 34, False: 272]
  ------------------
  433|     40|	{
  434|     40|		return Level::toLevelLS(value, defaultValue);
  435|     40|	}
  436|    272|	if (LogLog::isDebugEnabled())
  ------------------
  |  Branch (436:6): [True: 271, False: 1]
  ------------------
  437|    271|	{
  438|    271|		LogLog::debug(LOG4CXX_STR("Desired ") + Level::getStaticClass().getName()
  ------------------
  |  |   51|  1.35k|		#define LOG4CXX_STR(str) str
  ------------------
  439|    271|				+ LOG4CXX_STR(" sub-class: [") + clazz + LOG4CXX_STR("]"));
  ------------------
  |  |   51|    271|		#define LOG4CXX_STR(str) str
  ------------------
              				+ LOG4CXX_STR(" sub-class: [") + clazz + LOG4CXX_STR("]"));
  ------------------
  |  |   51|    271|		#define LOG4CXX_STR(str) str
  ------------------
  440|    271|	}
  441|       |
  442|    272|	try
  443|    272|	{
  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|    272|		const Level::LevelClass& levelClass =
  450|    272|			dynamic_cast<const Level::LevelClass&>(Loader::loadClass(clazz));
  451|    272|		return levelClass.toLevel(levelName);
  452|    272|	}
  453|    272|	catch (Exception& oops)
  454|    272|	{
  455|    270|		LogLog::error(LOG4CXX_STR("Could not create ") + Level::getStaticClass().getName() + LOG4CXX_STR(" sub-class"), oops);
  ------------------
  |  |   51|    810|		#define LOG4CXX_STR(str) str
  ------------------
              		LogLog::error(LOG4CXX_STR("Could not create ") + Level::getStaticClass().getName() + LOG4CXX_STR(" sub-class"), oops);
  ------------------
  |  |   51|    270|		#define LOG4CXX_STR(str) str
  ------------------
  456|    270|	}
  457|    272|	catch (const std::bad_cast&)
  458|    272|	{
  459|      1|		LogLog::warn(
  460|      1|			LOG4CXX_STR("class [") + clazz + LOG4CXX_STR("] unable to be converted to "
  ------------------
  |  |   51|      3|		#define LOG4CXX_STR(str) str
  ------------------
              			LOG4CXX_STR("class [") + clazz + LOG4CXX_STR("] unable to be converted to "
  ------------------
  |  |   51|      1|		#define LOG4CXX_STR(str) str
  ------------------
  461|      1|			"Level::LevelClass"));
  462|      1|	}
  463|    272|	catch (...)
  464|    272|	{
  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|    271|	return defaultValue;
  471|    272|}
optionconverter.cpp:_ZN12_GLOBAL__N_115substVarsSafelyERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEERN7log4cxx7helpers10PropertiesEPKNS_14LogStringChainE:
   81|   128k|{
   82|   128k|	LogString sbuf;
   83|   128k|	const logchar delimStartArray[] = { 0x24, 0x7B, 0 }; // '$', '{'
   84|   128k|	const LogString delimStart(delimStartArray);
   85|   128k|	const logchar delimStop = 0x7D; // '}';
   86|   128k|	const size_t DELIM_START_LEN = 2;
   87|   128k|	const size_t DELIM_STOP_LEN = 1;
   88|       |
   89|   128k|	size_t i = 0;
   90|       |
   91|   224k|	while (true)
  ------------------
  |  Branch (91:9): [True: 224k, Folded]
  ------------------
   92|   224k|	{
   93|   224k|		size_t j = val.find(delimStart, i);
   94|       |
   95|   224k|		if (j == val.npos)
  ------------------
  |  Branch (95:7): [True: 123k, False: 100k]
  ------------------
   96|   123k|		{
   97|       |			// no more variables
   98|   123k|			if (i == 0)
  ------------------
  |  Branch (98:8): [True: 116k, False: 6.73k]
  ------------------
   99|   116k|			{
  100|       |				// this is a simple string
  101|   116k|				return val;
  102|   116k|			}
  103|  6.73k|			else
  104|  6.73k|			{
  105|       |				// add the tail string which contails no variables and return the result.
  106|  6.73k|				sbuf.append(val.substr(i, val.length() - i));
  107|  6.73k|				return sbuf;
  108|  6.73k|			}
  109|   123k|		}
  110|   100k|		else
  111|   100k|		{
  112|   100k|			sbuf.append(val.substr(i, j - i));
  113|   100k|			size_t k = val.find(delimStop, j);
  114|       |
  115|   100k|			if (k == val.npos)
  ------------------
  |  Branch (115:8): [True: 4.42k, False: 96.0k]
  ------------------
  116|  4.42k|			{
  117|  4.42k|				LogString msg(1, (logchar) 0x22 /* '\"' */);
  118|  4.42k|				msg.append(val);
  119|  4.42k|				msg.append(LOG4CXX_STR("\" has no closing brace. Opening brace at position "));
  ------------------
  |  |   51|  4.42k|		#define LOG4CXX_STR(str) str
  ------------------
  120|  4.42k|				helpers::Pool p;
  121|  4.42k|				helpers::StringHelper::toString(j, msg);
  122|  4.42k|				msg.append(1, (logchar) 0x2E /* '.' */);
  123|  4.42k|				throw helpers::IllegalArgumentException(msg);
  124|  4.42k|			}
  125|  96.0k|			else
  126|  96.0k|			{
  127|  96.0k|				j += DELIM_START_LEN;
  128|  96.0k|				LogString key = val.substr(j, k - j);
  129|  96.0k|				if (path && isRecursiveReference(key, path))
  ------------------
  |  Branch (129:9): [True: 0, False: 96.0k]
  |  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|  96.0k|				LogString replacement(helpers::OptionConverter::getSystemProperty(key, LogString()));
  139|       |
  140|       |				// then try props parameter
  141|  96.0k|				if (replacement.empty())
  ------------------
  |  Branch (141:9): [True: 25.3k, False: 70.6k]
  ------------------
  142|  25.3k|				{
  143|  25.3k|					replacement = props.getProperty(key);
  144|  25.3k|				}
  145|       |
  146|  96.0k|				if (!replacement.empty())
  ------------------
  |  Branch (146:9): [True: 71.8k, False: 24.1k]
  ------------------
  147|  71.8k|				{
  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|  71.8k|					LogStringChain current{ key, path };
  154|  71.8k|					LogString recursiveReplacement = substVarsSafely(replacement, props, &current);
  155|  71.8k|					sbuf.append(recursiveReplacement);
  156|  71.8k|				}
  157|       |
  158|  96.0k|				i = k + DELIM_STOP_LEN;
  159|  96.0k|			}
  160|   100k|		}
  161|   224k|	}
  162|   128k|}

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

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

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

_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.4k|{
   33|  12.4k|	for (const auto& item : s1)
  ------------------
  |  Branch (33:24): [True: 31.7k, False: 4.66k]
  ------------------
   34|  31.7k|	{
   35|  31.7k|		if (0 == item || // OSS-Fuzz makes strings with embedded NUL characters
  ------------------
  |  Branch (35:7): [True: 0, False: 31.7k]
  ------------------
   36|  31.7k|			(item != *upper && item != *lower))
  ------------------
  |  Branch (36:5): [True: 13.2k, False: 18.4k]
  |  Branch (36:23): [True: 7.75k, False: 5.51k]
  ------------------
   37|  7.75k|		{
   38|  7.75k|			return false;
   39|  7.75k|		}
   40|  23.9k|		++upper;
   41|  23.9k|		++lower;
   42|  23.9k|	}
   43|       |
   44|  4.66k|	return 0 == *upper;
   45|  12.4k|}
_ZN7log4cxx7helpers12StringHelper11toLowerCaseERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   69|    500|{
   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|    500|	LogString d;
   76|    500|	d.reserve(s.size());
   77|    500|	for (auto ch : s)
  ------------------
  |  Branch (77:15): [True: 2.43M, False: 500]
  ------------------
   78|  2.43M|	{
   79|  2.43M|		if (ch >= static_cast<logchar>('A') && ch <= static_cast<logchar>('Z'))
  ------------------
  |  Branch (79:7): [True: 1.70M, False: 736k]
  |  Branch (79:42): [True: 20.9k, False: 1.68M]
  ------------------
   80|  20.9k|			d.push_back(static_cast<logchar>(ch + ('a' - 'A')));
   81|  2.41M|		else
   82|  2.41M|			d.push_back(ch);
   83|  2.43M|	}
   84|    500|	return d;
   85|    500|}
_ZN7log4cxx7helpers12StringHelper4trimERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   88|    162|{
   89|    162|	LogString::size_type pos = s.find_first_not_of(' ');
   90|       |
   91|    162|	if (pos == std::string::npos)
  ------------------
  |  Branch (91:6): [True: 0, False: 162]
  ------------------
   92|      0|	{
   93|      0|		return LogString();
   94|      0|	}
   95|       |
   96|    162|	LogString::size_type n = s.find_last_not_of(' ') - pos + 1;
   97|    162|	return s.substr(pos, n);
   98|    162|}
_ZN7log4cxx7helpers12StringHelper10startsWithERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESA_:
  101|    990|{
  102|    990|	if (s.length() < prefix.length())
  ------------------
  |  Branch (102:6): [True: 541, False: 449]
  ------------------
  103|    541|	{
  104|    541|		return false;
  105|    541|	}
  106|       |
  107|    449|	return s.compare(0, prefix.length(), prefix) == 0;
  108|    990|}
_ZN7log4cxx7helpers12StringHelper8toStringEmRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
  180|  4.42k|{
  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.42k|}

_ZN7log4cxx7helpers6System11getPropertyERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   45|  89.3k|{
   46|  89.3k|	if (lkey.empty())
  ------------------
  |  Branch (46:6): [True: 0, False: 89.3k]
  ------------------
   47|      0|	{
   48|      0|		throw IllegalArgumentException(LOG4CXX_STR("key is empty"));
  ------------------
  |  |   51|      0|		#define LOG4CXX_STR(str) str
  ------------------
   49|      0|	}
   50|       |
   51|  89.3k|	LogString rv;
   52|       |
   53|  89.3k|	if (lkey == LOG4CXX_STR("java.io.tmpdir"))
  ------------------
  |  |   51|  89.3k|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (53:6): [True: 331, False: 89.0k]
  ------------------
   54|    331|	{
   55|    331|		Pool p;
   56|    331|		const char* dir = NULL;
   57|    331|		apr_status_t stat = apr_temp_dir_get(&dir, p.getAPRPool());
   58|       |
   59|    331|		if (stat == APR_SUCCESS)
  ------------------
  |  |  225|    331|#define APR_SUCCESS 0
  ------------------
  |  Branch (59:7): [True: 331, False: 0]
  ------------------
   60|    331|		{
   61|    331|			Transcoder::decode(dir, rv);
   62|    331|		}
   63|       |
   64|    331|		return rv;
   65|    331|	}
   66|       |
   67|  89.0k|	if (lkey == LOG4CXX_STR("user.dir"))
  ------------------
  |  |   51|  89.0k|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (67:6): [True: 292, False: 88.7k]
  ------------------
   68|    292|	{
   69|    292|		Pool p;
   70|    292|		char* dir = NULL;
   71|    292|		apr_status_t stat = apr_filepath_get(&dir, APR_FILEPATH_NATIVE,
  ------------------
  |  |  305|    292|#define APR_FILEPATH_NATIVE         0x10
  ------------------
   72|    292|				p.getAPRPool());
   73|       |
   74|    292|		if (stat == APR_SUCCESS)
  ------------------
  |  |  225|    292|#define APR_SUCCESS 0
  ------------------
  |  Branch (74:7): [True: 292, False: 0]
  ------------------
   75|    292|		{
   76|    292|			Transcoder::decode(dir, rv);
   77|    292|		}
   78|       |
   79|    292|		return rv;
   80|    292|	}
   81|       |
   82|  88.7k|#if APR_HAS_USER
   83|       |
   84|  88.7k|	if (lkey == LOG4CXX_STR("user.home") || lkey == LOG4CXX_STR("user.name"))
  ------------------
  |  |   51|   177k|		#define LOG4CXX_STR(str) str
  ------------------
              	if (lkey == LOG4CXX_STR("user.home") || lkey == LOG4CXX_STR("user.name"))
  ------------------
  |  |   51|  88.5k|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (84:6): [True: 184, False: 88.5k]
  |  Branch (84:42): [True: 472, False: 88.0k]
  ------------------
   85|    656|	{
   86|    656|		Pool pool;
   87|    656|		apr_uid_t userid;
   88|    656|		apr_gid_t groupid;
   89|    656|		apr_pool_t* p = pool.getAPRPool();
   90|    656|		apr_status_t stat = apr_uid_current(&userid, &groupid, p);
   91|       |
   92|    656|		if (stat == APR_SUCCESS)
  ------------------
  |  |  225|    656|#define APR_SUCCESS 0
  ------------------
  |  Branch (92:7): [True: 656, False: 0]
  ------------------
   93|    656|		{
   94|    656|			char* username = NULL;
   95|    656|			stat = apr_uid_name_get(&username, userid, p);
   96|       |
   97|    656|			if (stat == APR_SUCCESS)
  ------------------
  |  |  225|    656|#define APR_SUCCESS 0
  ------------------
  |  Branch (97:8): [True: 656, False: 0]
  ------------------
   98|    656|			{
   99|    656|				if (lkey == LOG4CXX_STR("user.name"))
  ------------------
  |  |   51|    656|		#define LOG4CXX_STR(str) str
  ------------------
  |  Branch (99:9): [True: 472, False: 184]
  ------------------
  100|    472|				{
  101|    472|					Transcoder::decode(username, rv);
  102|    472|				}
  103|    184|				else
  104|    184|				{
  105|    184|					char* dirname = NULL;
  106|    184|					stat = apr_uid_homepath_get(&dirname, username, p);
  107|       |
  108|    184|					if (stat == APR_SUCCESS)
  ------------------
  |  |  225|    184|#define APR_SUCCESS 0
  ------------------
  |  Branch (108:10): [True: 184, False: 0]
  ------------------
  109|    184|					{
  110|    184|						Transcoder::decode(dirname, rv);
  111|    184|					}
  112|    184|				}
  113|    656|			}
  114|    656|		}
  115|       |
  116|    656|		return rv;
  117|    656|	}
  118|       |
  119|  88.0k|#endif
  120|       |
  121|  88.0k|	LOG4CXX_ENCODE_CHAR(key, lkey);
  ------------------
  |  |  238|  88.0k|	std::string var;                      \
  |  |  239|  88.0k|	LOG4CXX_NS::helpers::Transcoder::encode(src, var)
  ------------------
  122|  88.0k|	Pool p;
  123|  88.0k|	char* value = NULL;
  124|  88.0k|	apr_status_t stat = apr_env_get(&value, key.c_str(),
  125|  88.0k|			p.getAPRPool());
  126|       |
  127|  88.0k|	if (stat == APR_SUCCESS)
  ------------------
  |  |  225|  88.0k|#define APR_SUCCESS 0
  ------------------
  |  Branch (127:6): [True: 69.3k, False: 18.7k]
  ------------------
  128|  69.3k|	{
  129|  69.3k|		Transcoder::decode((const char*) value, rv);
  130|  69.3k|	}
  131|       |
  132|  88.0k|	return rv;
  133|  88.7k|}
_ZN7log4cxx7helpers6System28addProgramFilePathComponentsERNS0_10PropertiesE:
  136|      1|{
  137|       |	// Find the executable file name
  138|      1|	static const int bufSize = 4096;
  139|      1|	char buf[bufSize+1] = {0}, pathSepar = '/';
  140|       |#if defined(_WIN32)
  141|       |	if (0 == GetModuleFileName(NULL, buf, bufSize))
  142|       |	{
  143|       |		LogString lsErrorCode;
  144|       |		StringHelper::toString((int)GetLastError(), lsErrorCode);
  145|       |		LogLog::warn(LOG4CXX_STR("GetModuleFileName error ") + lsErrorCode);
  146|       |		return;
  147|       |	}
  148|       |	pathSepar = '\\';
  149|       |#elif defined(__APPLE__)
  150|       |	uint32_t bufCount = bufSize;
  151|       |	if (0 != _NSGetExecutablePath(buf, &bufCount))
  152|       |	{
  153|       |		LogLog::warn(LOG4CXX_STR("_NSGetExecutablePath failed"));
  154|       |		return;
  155|       |	}
  156|       |#elif (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 500) || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L)
  157|       |	int bufCount = 0;
  158|      1|	std::ostringstream exeLink;
  159|      1|	exeLink << "/proc/" << getpid() << "/exe";
  160|      1|	if ((bufCount = readlink(exeLink.str().c_str(), buf, bufSize)) <= 0)
  ------------------
  |  Branch (160:6): [True: 0, False: 1]
  ------------------
  161|      0|	{
  162|      0|		LOG4CXX_DECODE_CHAR(lsExeLink, exeLink.str());
  ------------------
  |  |  251|      0|	LOG4CXX_NS::LogString var;                      \
  |  |  252|      0|	LOG4CXX_NS::helpers::Transcoder::decode(src, var)
  ------------------
  163|      0|		LogLog::warn(LOG4CXX_STR("Failed to read ") + lsExeLink);
  ------------------
  |  |   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);
  ------------------
  |  |  251|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  252|      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());
  ------------------
  |  |  251|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  252|      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());
  ------------------
  |  |  251|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  252|      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());
  ------------------
  |  |  251|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  252|      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());
  ------------------
  |  |  251|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  252|      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());
  ------------------
  |  |  251|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  252|      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());
  ------------------
  |  |  251|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  252|      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());
  ------------------
  |  |  251|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  252|      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());
  ------------------
  |  |  251|      1|	LOG4CXX_NS::LogString var;                      \
  |  |  252|      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|  51.3k|{
   29|  51.3k|}
_ZN7log4cxx7helpers15SystemErrWriterD2Ev:
   32|  51.3k|{
   33|  51.3k|}
_ZN7log4cxx7helpers15SystemErrWriter5writeERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   51|  51.3k|{
   52|       |	helpers::writeToConsole(str, stderr);
   53|  51.3k|}

_ZN7log4cxx7helpers10Transcoder6decodeERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERS8_:
  324|  82.6k|{
  325|  82.6k|#if LOG4CXX_CHARSET_UTF8 && LOG4CXX_LOGCHAR_IS_UTF8
  326|  82.6k|	dst.append(src);
  327|       |#else
  328|       |	static CharsetDecoderPtr decoder(CharsetDecoder::getDefaultDecoder());
  329|       |	dst.reserve(dst.size() + src.size());
  330|       |	std::string::const_iterator iter = src.begin();
  331|       |#if !LOG4CXX_CHARSET_EBCDIC
  332|       |
  333|       |	for (;
  334|       |		iter != src.end() && ((unsigned char) *iter) < 0x80;
  335|       |		iter++)
  336|       |	{
  337|       |		dst.append(1, *iter);
  338|       |	}
  339|       |
  340|       |#endif
  341|       |
  342|       |	if (iter != src.end())
  343|       |	{
  344|       |		size_t offset = iter - src.begin();
  345|       |		ByteBuffer buf(const_cast<char*>(src.data() + offset), src.size() - offset);
  346|       |
  347|       |		while (buf.remaining() > 0)
  348|       |		{
  349|       |			log4cxx_status_t stat = decoder->decode(buf, dst);
  350|       |
  351|       |			if (CharsetDecoder::isError(stat))
  352|       |			{
  353|       |				dst.append(1, LOSSCHAR);
  354|       |				buf.increment_position(1);
  355|       |			}
  356|       |		}
  357|       |
  358|       |		decoder->decode(buf, dst);
  359|       |	}
  360|       |
  361|       |#endif
  362|  82.6k|}
_ZN7log4cxx7helpers10Transcoder6encodeERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEERS8_:
  379|   149k|{
  380|   149k|#if LOG4CXX_CHARSET_UTF8 && LOG4CXX_LOGCHAR_IS_UTF8
  381|   149k|	dst.append(src);
  382|       |#else
  383|       |	static CharsetEncoderPtr encoder(CharsetEncoder::getDefaultEncoder());
  384|       |	dst.reserve(dst.size() + src.size());
  385|       |	LogString::const_iterator iter = src.begin();
  386|       |#if !LOG4CXX_CHARSET_EBCDIC
  387|       |
  388|       |	for (;
  389|       |		iter != src.end() && ((unsigned int) *iter) < 0x80;
  390|       |		iter++)
  391|       |	{
  392|       |		dst.append(1, static_cast<char>(*iter));
  393|       |	}
  394|       |
  395|       |#endif
  396|       |
  397|       |	if (iter != src.end())
  398|       |	{
  399|       |		char buf[BUFSIZE];
  400|       |		ByteBuffer out(buf, BUFSIZE);
  401|       |
  402|       |		while (iter != src.end())
  403|       |		{
  404|       |			log4cxx_status_t stat = encoder->encode(src, iter, out);
  405|       |			out.flip();
  406|       |			dst.append(out.data(), out.limit());
  407|       |			out.clear();
  408|       |
  409|       |			if (CharsetEncoder::isError(stat))
  410|       |			{
  411|       |				dst.append(1, LOSSCHAR);
  412|       |				iter++;
  413|       |			}
  414|       |		}
  415|       |
  416|       |		encoder->encode(src, iter, out);
  417|       |	}
  418|       |
  419|       |#endif
  420|   149k|}

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

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

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

_ZN7log4cxx7helpers6ObjectD2Ev:
  104|  76.9k|		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.59k|			LogString getName() const override { return LOG4CXX_STR(#object); }\
  ------------------
  |  |   51|  1.59k|		#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.8k|	{ 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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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.59k|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|  1.59k|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|  1.59k|		return theClass;                                       \
   67|  1.59k|	}                                                                      \
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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.50k|{
  125|  3.50k|	if(!incoming)
  ------------------
  |  Branch (125:5): [True: 0, False: 3.50k]
  ------------------
  126|      0|	{
  127|      0|		return std::shared_ptr<Ret>();
  128|      0|	}
  129|       |
  130|  3.50k|	Ret* casted = reinterpret_cast<Ret*>(const_cast<void*>(incoming->cast(Ret::getStaticClass())));
  131|       |
  132|  3.50k|	if ( casted )
  ------------------
  |  Branch (132:7): [True: 3.50k, False: 0]
  ------------------
  133|  3.50k|	{
  134|  3.50k|		return std::shared_ptr<Ret>( incoming, casted );
  135|  3.50k|	}
  136|       |
  137|      0|	return std::shared_ptr<Ret>();
  138|  3.50k|}
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    543|	const LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   80|    543|		static LOG4CXX_NS::helpers::WideLife<class> theClass; \
   81|    543|		return theClass;                                       \
   82|    543|	}                                                         \
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_ZN7log4cxx7helpers6Object14getStaticClassEv:
   64|  28.3k|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|  28.3k|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|  28.3k|		return theClass;                                       \
   67|  28.3k|	}                                                                      \
_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.8k|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|  17.8k|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|  17.8k|		return theClass;                                       \
   67|  17.8k|	}                                                                      \
_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.8k|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|  17.8k|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|  17.8k|		return theClass;                                       \
   67|  17.8k|	}                                                                      \
_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|  7.01k|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|  7.01k|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|  7.01k|		return theClass;                                       \
   67|  7.01k|	}                                                                      \
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_ZN7log4cxx6Logger14getStaticClassEv:
   64|  17.8k|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|  17.8k|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|  17.8k|		return theClass;                                       \
   67|  17.8k|	}                                                                      \
_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.50k|{
  125|  3.50k|	if(!incoming)
  ------------------
  |  Branch (125:5): [True: 0, False: 3.50k]
  ------------------
  126|      0|	{
  127|      0|		return std::shared_ptr<Ret>();
  128|      0|	}
  129|       |
  130|  3.50k|	Ret* casted = reinterpret_cast<Ret*>(const_cast<void*>(incoming->cast(Ret::getStaticClass())));
  131|       |
  132|  3.50k|	if ( casted )
  ------------------
  |  Branch (132:7): [True: 3.50k, False: 0]
  ------------------
  133|  3.50k|	{
  134|  3.50k|		return std::shared_ptr<Ret>( incoming, casted );
  135|  3.50k|	}
  136|       |
  137|      0|	return std::shared_ptr<Ret>();
  138|  3.50k|}
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_ZN7log4cxx7helpers15SystemErrWriter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers15SystemErrWriter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7helpers15SystemOutWriter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7helpers15SystemOutWriter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern22ThreadPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern22ThreadPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern30ThreadUsernamePatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern30ThreadUsernamePatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7pattern36ThrowableInformationPatternConverter14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7pattern36ThrowableInformationPatternConverter13registerClassEv:
   68|      2|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|      2|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|      2|		return classReg; \
   71|      2|	}\
_ZN7log4cxx7rolling22TimeBasedRollingPolicy14getStaticClassEv:
   64|      2|	const ::LOG4CXX_NS::helpers::Class& object::getStaticClass() { \
   65|      2|		static ::LOG4CXX_NS::helpers::WideLife<Clazz##object> theClass; \
   66|      2|		return theClass;                                       \
   67|      2|	}                                                                      \
_ZN7log4cxx7rolling22TimeBasedRollingPolicy13registerClassEv:
   68|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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|    272|	const LOG4CXX_NS::helpers::ClassRegistration& object::registerClass() {   \
   69|    272|		static ::LOG4CXX_NS::helpers::WideLife<::LOG4CXX_NS::helpers::ClassRegistration> classReg(object::getStaticClass); \
   70|    272|		return classReg; \
   71|    272|	}\
_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.50k|	BEGIN_LOG4CXX_CAST_MAP()
  ------------------
  |  |  144|  3.50k|	{\
  |  |  145|  3.50k|		const void * object = 0;\
  |  |  146|  3.50k|		if (&clazz == &helpers::Object::getStaticClass()) return (const helpers::Object *)this;
  |  |  ------------------
  |  |  |  Branch (146:7): [True: 3.50k, 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.50k|	T& value() { return m_data; }

_ZN7log4cxx7helpers8WideLifeINS_3xml15DOMConfigurator20ClazzDOMConfiguratorEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3xml15DOMConfigurator20ClazzDOMConfiguratorEE5valueEv:
   62|      2|	{
   63|      2|		return *reinterpret_cast<T*>(&storage);
   64|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3xml15DOMConfigurator20ClazzDOMConfiguratorEEcvRS4_Ev:
   72|      2|	{
   73|      2|		return value();
   74|      2|	}
_ZN7log4cxx7helpers8WideLifeINS0_17ClassRegistrationEEC2IRFRKNS0_5ClassEvEJEQntsr3stdE7same_asINS1_IT_EETL0__EEEOSA_DpOT0_:
   48|    228|	{		
   49|    228|		new(&storage) T(std::forward<Arg0>(arg0), std::forward<Args>(args)...);
   50|    228|	}
_ZN7log4cxx7helpers8WideLifeINS0_17ClassRegistrationEE5valueEv:
   62|  7.24k|	{
   63|  7.24k|		return *reinterpret_cast<T*>(&storage);
   64|  7.24k|	}
_ZN7log4cxx7helpers8WideLifeINS0_17ClassRegistrationEEcvRS2_Ev:
   72|  7.24k|	{
   73|  7.24k|		return value();
   74|  7.24k|	}
_ZN7log4cxx7helpers8WideLifeINS_8Appender13ClazzAppenderEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_8Appender13ClazzAppenderEE5valueEv:
   62|  1.59k|	{
   63|  1.59k|		return *reinterpret_cast<T*>(&storage);
   64|  1.59k|	}
_ZN7log4cxx7helpers8WideLifeINS_8Appender13ClazzAppenderEEcvRS3_Ev:
   72|  1.59k|	{
   73|  1.59k|		return value();
   74|  1.59k|	}
_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|   103k|	{
   63|   103k|		return *reinterpret_cast<T*>(&storage);
   64|   103k|	}
_ZN7log4cxx7helpers8WideLifeINS0_14APRInitializerEEcvRS2_Ev:
   72|   103k|	{
   73|   103k|		return value();
   74|   103k|	}
_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.23k|	{
   63|  1.23k|		return *reinterpret_cast<T*>(&storage);
   64|  1.23k|	}
_ZN7log4cxx7helpers8WideLifeINSt3__13mapINS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEPKNS0_5ClassENS2_4lessIS9_EENS7_INS2_4pairIKS9_SC_EEEEEEEcvRSJ_Ev:
   72|  1.23k|	{
   73|  1.23k|		return value();
   74|  1.23k|	}
_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|    543|	{
   63|    543|		return *reinterpret_cast<T*>(&storage);
   64|    543|	}
_ZN7log4cxx7helpers8WideLifeINS_5Level10LevelClassEEcvRS3_Ev:
   72|    543|	{
   73|    543|		return value();
   74|    543|	}
_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.51k|	{
   63|  3.51k|		return *reinterpret_cast<T*>(&storage);
   64|  3.51k|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_5LevelEEEEcvRS5_Ev:
   72|  3.50k|	{
   73|  3.50k|		return value();
   74|  3.50k|	}
_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.93k|	{
   63|  2.93k|		return *reinterpret_cast<T*>(&storage);
   64|  2.93k|	}
_ZN7log4cxx7helpers8WideLifeINSt3__110shared_ptrINS_5Level4DataEEEEcvRS6_Ev:
   72|  2.92k|	{
   73|  2.92k|		return value();
   74|  2.92k|	}
_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|  28.3k|	{
   63|  28.3k|		return *reinterpret_cast<T*>(&storage);
   64|  28.3k|	}
_ZN7log4cxx7helpers8WideLifeINS0_6Object11ClazzObjectEEcvRS3_Ev:
   72|  28.3k|	{
   73|  28.3k|		return value();
   74|  28.3k|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13OptionHandler18ClazzOptionHandlerEEC2Ev:
   40|      2|	{		
   41|      2|		new(&storage) T();
   42|      2|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13OptionHandler18ClazzOptionHandlerEE5valueEv:
   62|  17.8k|	{
   63|  17.8k|		return *reinterpret_cast<T*>(&storage);
   64|  17.8k|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi13OptionHandler18ClazzOptionHandlerEEcvRS4_Ev:
   72|  17.8k|	{
   73|  17.8k|		return value();
   74|  17.8k|	}
_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.8k|	{
   63|  17.8k|		return *reinterpret_cast<T*>(&storage);
   64|  17.8k|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi18AppenderAttachable23ClazzAppenderAttachableEEcvRS4_Ev:
   72|  17.8k|	{
   73|  17.8k|		return value();
   74|  17.8k|	}
_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|  7.01k|	{
   63|  7.01k|		return *reinterpret_cast<T*>(&storage);
   64|  7.01k|	}
_ZN7log4cxx7helpers8WideLifeINS_3spi18RepositorySelector23ClazzRepositorySelectorEEcvRS4_Ev:
   72|  7.01k|	{
   73|  7.01k|		return value();
   74|  7.01k|	}
_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.8k|	{
   63|  17.8k|		return *reinterpret_cast<T*>(&storage);
   64|  17.8k|	}
_ZN7log4cxx7helpers8WideLifeINS_6Logger11ClazzLoggerEEcvRS3_Ev:
   72|  17.8k|	{
   73|  17.8k|		return value();
   74|  17.8k|	}
_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|  81.5k|	{
   63|  81.5k|		return *reinterpret_cast<T*>(&storage);
   64|  81.5k|	}
_ZN7log4cxx7helpers8WideLifeINS0_6LogLogEEcvRS2_Ev:
   72|  81.5k|	{
   73|  81.5k|		return value();
   74|  81.5k|	}
_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|    543|				{
   58|    543|					return LOG4CXX_STR("Level");
  ------------------
  |  |   51|    543|		#define LOG4CXX_STR(str) str
  ------------------
   59|    543|				}
_ZNK7log4cxx5Level10LevelClass7toLevelERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
   62|      1|				{
   63|      1|					return Level::toLevelLS(sArg);
   64|      1|				}
_ZNK7log4cxx5Level5toIntEv:
  285|  12.5k|		{
  286|  12.5k|			return level;
  287|  12.5k|		}

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

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

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

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

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

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

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

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

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

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

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

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

