<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Apache log4cxx: object.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Apache log4cxx
   &#160;<span id="projectnumber">Version 0.12.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('object_8h.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">object.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="logstring_8h_source.html">log4cxx/logstring.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="class_8h_source.html">log4cxx/helpers/class.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="classregistration_8h_source.html">log4cxx/helpers/classregistration.h</a>&gt;</code><br />
</div>
<p><a href="object_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1Object.html">log4cxx::helpers::Object</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">base class for java-like objects.  <a href="classlog4cxx_1_1helpers_1_1Object.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacelog4cxx"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelog4cxx.html">log4cxx</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacelog4cxx_1_1helpers"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelog4cxx_1_1helpers.html">log4cxx::helpers</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a7a13485fd2b3040ee5cae53c2bc00f13"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#a7a13485fd2b3040ee5cae53c2bc00f13">DECLARE_ABSTRACT_LOG4CXX_OBJECT</a>(object)</td></tr>
<tr class="separator:a7a13485fd2b3040ee5cae53c2bc00f13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e129ec12609d98bb2a10d15b46709ba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#a9e129ec12609d98bb2a10d15b46709ba">DECLARE_LOG4CXX_OBJECT</a>(object)</td></tr>
<tr class="separator:a9e129ec12609d98bb2a10d15b46709ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bca89baf41fe4f2f4ff96203de445d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#a1bca89baf41fe4f2f4ff96203de445d5">DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS</a>(object,  class)</td></tr>
<tr class="separator:a1bca89baf41fe4f2f4ff96203de445d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7407bf6e747dc0c5db5208a4ae4a07e6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#a7407bf6e747dc0c5db5208a4ae4a07e6">IMPLEMENT_LOG4CXX_OBJECT</a>(object)</td></tr>
<tr class="separator:a7407bf6e747dc0c5db5208a4ae4a07e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7bf8c071020414cc69eb1c95845901c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#af7bf8c071020414cc69eb1c95845901c">IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS</a>(object,  class)</td></tr>
<tr class="separator:af7bf8c071020414cc69eb1c95845901c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8ff8f70159e03fe7d8c4aa743cc9cda"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#ac8ff8f70159e03fe7d8c4aa743cc9cda">BEGIN_LOG4CXX_CAST_MAP</a>()</td></tr>
<tr class="separator:ac8ff8f70159e03fe7d8c4aa743cc9cda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a917a7d053853b1ffdf45a3d91aeca4f1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#a917a7d053853b1ffdf45a3d91aeca4f1">END_LOG4CXX_CAST_MAP</a>()</td></tr>
<tr class="separator:a917a7d053853b1ffdf45a3d91aeca4f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a642180530328ec0378468edda5bc94e2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#a642180530328ec0378468edda5bc94e2">LOG4CXX_CAST_ENTRY</a>(Interface)&#160;&#160;&#160;if (&amp;clazz == &amp;Interface::getStaticClass()) return (const Interface *)this;</td></tr>
<tr class="separator:a642180530328ec0378468edda5bc94e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a148aec9f47f8af8058c7b476b08a7802"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#a148aec9f47f8af8058c7b476b08a7802">LOG4CXX_CAST_ENTRY2</a>(Interface,  interface2)&#160;&#160;&#160;if (&amp;clazz == &amp;Interface::getStaticClass()) return (Interface *)(interface2 *)this;</td></tr>
<tr class="separator:a148aec9f47f8af8058c7b476b08a7802"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab14dc1a75d63a11359c8861a59786abc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="object_8h.html#ab14dc1a75d63a11359c8861a59786abc">LOG4CXX_CAST_ENTRY_CHAIN</a>(Interface)</td></tr>
<tr class="separator:ab14dc1a75d63a11359c8861a59786abc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a3786cf3e0c3d55955d25114ae2c273f8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelog4cxx_1_1helpers.html#a3786cf3e0c3d55955d25114ae2c273f8">log4cxx::helpers::LOG4CXX_PTR_DEF</a> (Object)</td></tr>
<tr class="separator:a3786cf3e0c3d55955d25114ae2c273f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17ec97af273461c6a22fe75656898851"><td class="memTemplParams" colspan="2">template&lt;typename Ret , typename Type , bool  = std::is_base_of&lt;Ret, helpers::Object&gt;::value, bool  = std::is_base_of&lt;Type, helpers::Object&gt;::value&gt; </td></tr>
<tr class="memitem:a17ec97af273461c6a22fe75656898851"><td class="memTemplItemLeft" align="right" valign="top">std::shared_ptr&lt; Ret &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacelog4cxx.html#a17ec97af273461c6a22fe75656898851">log4cxx::cast</a> (const std::shared_ptr&lt; Type &gt; &amp;incoming)</td></tr>
<tr class="memdesc:a17ec97af273461c6a22fe75656898851"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to cast one Object to another kind of Object.  <a href="namespacelog4cxx.html#a17ec97af273461c6a22fe75656898851">More...</a><br /></td></tr>
<tr class="separator:a17ec97af273461c6a22fe75656898851"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ac8ff8f70159e03fe7d8c4aa743cc9cda"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8ff8f70159e03fe7d8c4aa743cc9cda">&#9670;&nbsp;</a></span>BEGIN_LOG4CXX_CAST_MAP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BEGIN_LOG4CXX_CAST_MAP</td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keywordtype">void</span> * <a class="code" href="namespacelog4cxx.html#a17ec97af273461c6a22fe75656898851">cast</a>(<span class="keyword">const</span> helpers::Class&amp; clazz) <span class="keyword">const</span>\</div><div class="line">    {\</div><div class="line">        const <span class="keywordtype">void</span> * <span class="keywordtype">object</span> = 0;\</div><div class="line">        if (&amp;clazz == &amp;helpers::Object::getStaticClass()) return (const helpers::Object *)this;</div><div class="ttc" id="namespacelog4cxx_html_a17ec97af273461c6a22fe75656898851"><div class="ttname"><a href="namespacelog4cxx.html#a17ec97af273461c6a22fe75656898851">log4cxx::cast</a></div><div class="ttdeci">std::shared_ptr&lt; Ret &gt; cast(const std::shared_ptr&lt; Type &gt; &amp;incoming)</div><div class="ttdoc">Attempt to cast one Object to another kind of Object. </div><div class="ttdef"><b>Definition:</b> object.h:122</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a7a13485fd2b3040ee5cae53c2bc00f13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a13485fd2b3040ee5cae53c2bc00f13">&#9670;&nbsp;</a></span>DECLARE_ABSTRACT_LOG4CXX_OBJECT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DECLARE_ABSTRACT_LOG4CXX_OBJECT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">object</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">public</span>:\</div><div class="line">    class Clazz##object : <span class="keyword">public</span> helpers::Class\</div><div class="line">    {\</div><div class="line">        public:\</div><div class="line">            Clazz##object() : helpers::Class() {}\</div><div class="line">            virtual ~Clazz##object() {}\</div><div class="line">            virtual <a class="code" href="namespacelog4cxx.html#aa2308ed05fef2a1366066cb38b177e94">log4cxx::LogString</a> getName()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> LOG4CXX_STR(#<span class="keywordtype">object</span>); } \</div><div class="line">    };\</div><div class="line">    virtual <span class="keyword">const</span> helpers::Class&amp; getClass() <span class="keyword">const</span>;\</div><div class="line">    static <span class="keyword">const</span> helpers::Class&amp; getStaticClass(); \</div><div class="line">    static <span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1ClassRegistration.html">log4cxx::helpers::ClassRegistration</a>&amp; registerClass();</div><div class="ttc" id="classlog4cxx_1_1helpers_1_1ClassRegistration_html"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1ClassRegistration.html">log4cxx::helpers::ClassRegistration</a></div><div class="ttdef"><b>Definition:</b> classregistration.h:28</div></div>
<div class="ttc" id="namespacelog4cxx_html_aa2308ed05fef2a1366066cb38b177e94"><div class="ttname"><a href="namespacelog4cxx.html#aa2308ed05fef2a1366066cb38b177e94">log4cxx::LogString</a></div><div class="ttdeci">std::basic_string&lt; logchar &gt; LogString</div><div class="ttdef"><b>Definition:</b> logstring.h:66</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a9e129ec12609d98bb2a10d15b46709ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e129ec12609d98bb2a10d15b46709ba">&#9670;&nbsp;</a></span>DECLARE_LOG4CXX_OBJECT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DECLARE_LOG4CXX_OBJECT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">object</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">public</span>:\</div><div class="line">    class Clazz##object : <span class="keyword">public</span> helpers::Class\</div><div class="line">    {\</div><div class="line">        public:\</div><div class="line">            Clazz##object() : helpers::Class() {}\</div><div class="line">            virtual ~Clazz##object() {}\</div><div class="line">            virtual <a class="code" href="namespacelog4cxx.html#aa2308ed05fef2a1366066cb38b177e94">log4cxx::LogString</a> getName()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> LOG4CXX_STR(#<span class="keywordtype">object</span>); } \</div><div class="line">            virtual <span class="keywordtype">object</span>* newInstance() const\</div><div class="line">            {\</div><div class="line">                return <span class="keyword">new</span> object();\</div><div class="line">            }\</div><div class="line">    };\</div><div class="line">    virtual <span class="keyword">const</span> helpers::Class&amp; getClass() <span class="keyword">const</span>;\</div><div class="line">    static <span class="keyword">const</span> helpers::Class&amp; getStaticClass(); \</div><div class="line">    static <span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1ClassRegistration.html">log4cxx::helpers::ClassRegistration</a>&amp; registerClass();</div><div class="ttc" id="classlog4cxx_1_1helpers_1_1ClassRegistration_html"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1ClassRegistration.html">log4cxx::helpers::ClassRegistration</a></div><div class="ttdef"><b>Definition:</b> classregistration.h:28</div></div>
<div class="ttc" id="namespacelog4cxx_html_aa2308ed05fef2a1366066cb38b177e94"><div class="ttname"><a href="namespacelog4cxx.html#aa2308ed05fef2a1366066cb38b177e94">log4cxx::LogString</a></div><div class="ttdeci">std::basic_string&lt; logchar &gt; LogString</div><div class="ttdef"><b>Definition:</b> logstring.h:66</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a1bca89baf41fe4f2f4ff96203de445d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1bca89baf41fe4f2f4ff96203de445d5">&#9670;&nbsp;</a></span>DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">class&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">public</span>:\</div><div class="line">    virtual <span class="keyword">const</span> helpers::Class&amp; getClass() <span class="keyword">const</span>;\</div><div class="line">    static <span class="keyword">const</span> helpers::Class&amp; getStaticClass();\</div><div class="line">    static <span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1ClassRegistration.html">log4cxx::helpers::ClassRegistration</a>&amp;  registerClass();</div><div class="ttc" id="classlog4cxx_1_1helpers_1_1ClassRegistration_html"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1ClassRegistration.html">log4cxx::helpers::ClassRegistration</a></div><div class="ttdef"><b>Definition:</b> classregistration.h:28</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a917a7d053853b1ffdf45a3d91aeca4f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a917a7d053853b1ffdf45a3d91aeca4f1">&#9670;&nbsp;</a></span>END_LOG4CXX_CAST_MAP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define END_LOG4CXX_CAST_MAP</td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">return</span> object;\</div><div class="line">    }\</div><div class="line">    bool instanceof(<span class="keyword">const</span> helpers::Class&amp; clazz) <span class="keyword">const</span>\</div><div class="line">    { <span class="keywordflow">return</span> <a class="code" href="namespacelog4cxx.html#a17ec97af273461c6a22fe75656898851">cast</a>(clazz) != 0; }</div><div class="ttc" id="namespacelog4cxx_html_a17ec97af273461c6a22fe75656898851"><div class="ttname"><a href="namespacelog4cxx.html#a17ec97af273461c6a22fe75656898851">log4cxx::cast</a></div><div class="ttdeci">std::shared_ptr&lt; Ret &gt; cast(const std::shared_ptr&lt; Type &gt; &amp;incoming)</div><div class="ttdoc">Attempt to cast one Object to another kind of Object. </div><div class="ttdef"><b>Definition:</b> object.h:122</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a7407bf6e747dc0c5db5208a4ae4a07e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7407bf6e747dc0c5db5208a4ae4a07e6">&#9670;&nbsp;</a></span>IMPLEMENT_LOG4CXX_OBJECT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IMPLEMENT_LOG4CXX_OBJECT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">object</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">const ::log4cxx::helpers::Class&amp; object::getClass()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> getStaticClass(); }\</div><div class="line">    const ::log4cxx::helpers::Class&amp; object::getStaticClass() { \</div><div class="line">        static Clazz##<span class="keywordtype">object</span> theClass;                         \</div><div class="line">        return theClass;                                       \</div><div class="line">    }                                                                      \</div><div class="line">    const <a class="code" href="classlog4cxx_1_1helpers_1_1ClassRegistration.html">log4cxx::helpers::ClassRegistration</a>&amp; object::registerClass() {   \</div><div class="line">        static <a class="code" href="classlog4cxx_1_1helpers_1_1ClassRegistration.html">log4cxx::helpers::ClassRegistration</a> classReg(object::getStaticClass); \</div><div class="line">        return classReg; \</div><div class="line">    }\</div><div class="line">    namespace <a class="code" href="namespacelog4cxx.html">log4cxx</a> { <span class="keyword">namespace </span>classes { \</div><div class="line">    const ::log4cxx::helpers::ClassRegistration&amp; <span class="keywordtype">object</span>##Registration = object::registerClass(); \</div><div class="line">    } }</div><div class="ttc" id="classlog4cxx_1_1helpers_1_1ClassRegistration_html"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1ClassRegistration.html">log4cxx::helpers::ClassRegistration</a></div><div class="ttdef"><b>Definition:</b> classregistration.h:28</div></div>
<div class="ttc" id="namespacelog4cxx_html"><div class="ttname"><a href="namespacelog4cxx.html">log4cxx</a></div><div class="ttdef"><b>Definition:</b> appender.h:32</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af7bf8c071020414cc69eb1c95845901c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7bf8c071020414cc69eb1c95845901c">&#9670;&nbsp;</a></span>IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">object, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">class&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1Class.html">log4cxx::helpers::Class</a>&amp; object::getClass()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> getStaticClass(); }\</div><div class="line">    const <a class="code" href="classlog4cxx_1_1helpers_1_1Class.html">log4cxx::helpers::Class</a>&amp; object::getStaticClass() { \</div><div class="line">        static <span class="keyword">class </span>theClass;                                 \</div><div class="line">        return theClass;                                       \</div><div class="line">    }                                                         \</div><div class="line">    const <a class="code" href="classlog4cxx_1_1helpers_1_1ClassRegistration.html">log4cxx::helpers::ClassRegistration</a>&amp; object::registerClass() {   \</div><div class="line">        static <a class="code" href="classlog4cxx_1_1helpers_1_1ClassRegistration.html">log4cxx::helpers::ClassRegistration</a> classReg(object::getStaticClass); \</div><div class="line">        return classReg; \</div><div class="line">    }\</div><div class="line">    namespace <a class="code" href="namespacelog4cxx.html">log4cxx</a> { <span class="keyword">namespace </span>classes { \</div><div class="line">    const <a class="code" href="classlog4cxx_1_1helpers_1_1ClassRegistration.html">log4cxx::helpers::ClassRegistration</a>&amp; <span class="keywordtype">object</span>##Registration = object::registerClass(); \</div><div class="line">    } }</div><div class="ttc" id="classlog4cxx_1_1helpers_1_1ClassRegistration_html"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1ClassRegistration.html">log4cxx::helpers::ClassRegistration</a></div><div class="ttdef"><b>Definition:</b> classregistration.h:28</div></div>
<div class="ttc" id="classlog4cxx_1_1helpers_1_1Class_html"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1Class.html">log4cxx::helpers::Class</a></div><div class="ttdef"><b>Definition:</b> class.h:37</div></div>
<div class="ttc" id="namespacelog4cxx_html"><div class="ttname"><a href="namespacelog4cxx.html">log4cxx</a></div><div class="ttdef"><b>Definition:</b> appender.h:32</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a642180530328ec0378468edda5bc94e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a642180530328ec0378468edda5bc94e2">&#9670;&nbsp;</a></span>LOG4CXX_CAST_ENTRY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LOG4CXX_CAST_ENTRY</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Interface</td><td>)</td>
          <td>&#160;&#160;&#160;if (&amp;clazz == &amp;Interface::getStaticClass()) return (const Interface *)this;</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a148aec9f47f8af8058c7b476b08a7802"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a148aec9f47f8af8058c7b476b08a7802">&#9670;&nbsp;</a></span>LOG4CXX_CAST_ENTRY2</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LOG4CXX_CAST_ENTRY2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Interface, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">interface2&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;if (&amp;clazz == &amp;Interface::getStaticClass()) return (Interface *)(interface2 *)this;</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ab14dc1a75d63a11359c8861a59786abc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab14dc1a75d63a11359c8861a59786abc">&#9670;&nbsp;</a></span>LOG4CXX_CAST_ENTRY_CHAIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LOG4CXX_CAST_ENTRY_CHAIN</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Interface</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordtype">object</span> = <a class="code" href="namespacelog4cxx.html#a17ec97af273461c6a22fe75656898851">Interface::cast</a>(clazz);\</div><div class="line">    if (<span class="keywordtype">object</span> != 0) return <span class="keywordtype">object</span>;</div><div class="ttc" id="namespacelog4cxx_html_a17ec97af273461c6a22fe75656898851"><div class="ttname"><a href="namespacelog4cxx.html#a17ec97af273461c6a22fe75656898851">log4cxx::cast</a></div><div class="ttdeci">std::shared_ptr&lt; Ret &gt; cast(const std::shared_ptr&lt; Type &gt; &amp;incoming)</div><div class="ttdoc">Attempt to cast one Object to another kind of Object. </div><div class="ttdef"><b>Definition:</b> object.h:122</div></div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.13-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5eb159725f84c66aafd839904a4acdd0.html">main</a></li><li class="navelem"><a class="el" href="dir_df3bee86fdbfb464c3a94507855b0bdc.html">include</a></li><li class="navelem"><a class="el" href="dir_7be30a74690c85c659aa4940da9d1914.html">log4cxx</a></li><li class="navelem"><a class="el" href="dir_a486a3faafb12d97b1faec4977050c4e.html">helpers</a></li><li class="navelem"><a class="el" href="object_8h.html">object.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
    <li class="center">
Copyright &copy; 2003-2021 <a href="https://www.apache.org/">Apache Software Foundation</a>. All Rights Reserved. <br/>
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.
    </li>
  </ul>
</div>
</body>
</html>
