<!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.11"/>
<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);
  $(window).load(resizeHeight);
</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>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.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"><a href="http://logging.apache.org/log4cxx">Apache log4cxx</a>
   &#160;<span id="projectnumber">Version 0.10.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </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">
<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_1_object.html">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_1_object.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</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_1_object_1_1_clazz_object.html">Object::ClazzObject</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="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_PTR_DEF</a> (Object)</td></tr>
<tr class="separator:a3786cf3e0c3d55955d25114ae2c273f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ac8ff8f70159e03fe7d8c4aa743cc9cda"></a>
<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> * cast(<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><!-- fragment -->
</div>
</div>
<a class="anchor" id="a7a13485fd2b3040ee5cae53c2bc00f13"></a>
<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##<span class="keywordtype">object</span> : <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#ad7ec98d27bca7666e23f27dd1fb181c8">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_1_class_registration.html">log4cxx::helpers::ClassRegistration</a>&amp; registerClass();</div><div class="ttc" id="namespacelog4cxx_html_ad7ec98d27bca7666e23f27dd1fb181c8"><div class="ttname"><a href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">log4cxx::LogString</a></div><div class="ttdeci">std::basic_string&lt; logchar &gt; LogString</div><div class="ttdef"><b>Definition:</b> logstring.h:67</div></div>
<div class="ttc" id="classlog4cxx_1_1helpers_1_1_class_registration_html"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1_class_registration.html">log4cxx::helpers::ClassRegistration</a></div><div class="ttdef"><b>Definition:</b> classregistration.h:28</div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a9e129ec12609d98bb2a10d15b46709ba"></a>
<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##<span class="keywordtype">object</span> : <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#ad7ec98d27bca7666e23f27dd1fb181c8">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 <a class="code" href="namespacelog4cxx_1_1helpers.html#aa808d0071a7cbb3a7e9214ee261c844a">helpers::ObjectPtr</a> 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_1_class_registration.html">log4cxx::helpers::ClassRegistration</a>&amp; registerClass();</div><div class="ttc" id="namespacelog4cxx_html_ad7ec98d27bca7666e23f27dd1fb181c8"><div class="ttname"><a href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">log4cxx::LogString</a></div><div class="ttdeci">std::basic_string&lt; logchar &gt; LogString</div><div class="ttdef"><b>Definition:</b> logstring.h:67</div></div>
<div class="ttc" id="classlog4cxx_1_1helpers_1_1_class_registration_html"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1_class_registration.html">log4cxx::helpers::ClassRegistration</a></div><div class="ttdef"><b>Definition:</b> classregistration.h:28</div></div>
<div class="ttc" id="namespacelog4cxx_1_1helpers_html_aa808d0071a7cbb3a7e9214ee261c844a"><div class="ttname"><a href="namespacelog4cxx_1_1helpers.html#aa808d0071a7cbb3a7e9214ee261c844a">log4cxx::helpers::ObjectPtr</a></div><div class="ttdeci">ObjectPtrT&lt; Object &gt; ObjectPtr</div><div class="ttdef"><b>Definition:</b> propertysetter.h:28</div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a1bca89baf41fe4f2f4ff96203de445d5"></a>
<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_1_class_registration.html">log4cxx::helpers::ClassRegistration</a>&amp;  registerClass();</div><div class="ttc" id="classlog4cxx_1_1helpers_1_1_class_registration_html"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1_class_registration.html">log4cxx::helpers::ClassRegistration</a></div><div class="ttdef"><b>Definition:</b> classregistration.h:28</div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a917a7d053853b1ffdf45a3d91aeca4f1"></a>
<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> cast(clazz) != 0; }</div></div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a7407bf6e747dc0c5db5208a4ae4a07e6"></a>
<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"><span class="keyword">const</span> <a class="code" href="classlog4cxx_1_1helpers_1_1_class.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_1_class.html">log4cxx::helpers::Class</a>&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_1_class_registration.html">log4cxx::helpers::ClassRegistration</a>&amp; object::registerClass() {   \</div><div class="line">    static <a class="code" href="classlog4cxx_1_1helpers_1_1_class_registration.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_1_class_registration.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_1_class_html"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1_class.html">log4cxx::helpers::Class</a></div><div class="ttdef"><b>Definition:</b> class.h:39</div></div>
<div class="ttc" id="classlog4cxx_1_1helpers_1_1_class_registration_html"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1_class_registration.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:33</div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="af7bf8c071020414cc69eb1c95845901c"></a>
<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_1_class.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_1_class.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_1_class_registration.html">log4cxx::helpers::ClassRegistration</a>&amp; object::registerClass() {   \</div><div class="line">    static <a class="code" href="classlog4cxx_1_1helpers_1_1_class_registration.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_1_class_registration.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_1_class_html"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1_class.html">log4cxx::helpers::Class</a></div><div class="ttdef"><b>Definition:</b> class.h:39</div></div>
<div class="ttc" id="classlog4cxx_1_1helpers_1_1_class_registration_html"><div class="ttname"><a href="classlog4cxx_1_1helpers_1_1_class_registration.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:33</div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a642180530328ec0378468edda5bc94e2"></a>
<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 class="anchor" id="a148aec9f47f8af8058c7b476b08a7802"></a>
<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 class="anchor" id="ab14dc1a75d63a11359c8861a59786abc"></a>
<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> = Interface::cast(clazz);\</div><div class="line">if (<span class="keywordtype">object</span> != 0) return <span class="keywordtype">object</span>;</div></div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at
     http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
    </body>
</html>