<!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: Class Members - Functions</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.11.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 class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><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="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="navrow3" class="tabs2">
    <ul class="tablist">
      <li><a href="functions.html"><span>All</span></a></li>
      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
      <li><a href="functions_vars.html"><span>Variables</span></a></li>
      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
      <li><a href="functions_rela.html"><span>Related&#160;Functions</span></a></li>
    </ul>
  </div>
  <div id="navrow4" class="tabs3">
    <ul class="tablist">
      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
      <li><a href="functions_func_b.html#index_b"><span>b</span></a></li>
      <li><a href="functions_func_c.html#index_c"><span>c</span></a></li>
      <li><a href="functions_func_d.html#index_d"><span>d</span></a></li>
      <li class="current"><a href="functions_func_e.html#index_e"><span>e</span></a></li>
      <li><a href="functions_func_f.html#index_f"><span>f</span></a></li>
      <li><a href="functions_func_g.html#index_g"><span>g</span></a></li>
      <li><a href="functions_func_h.html#index_h"><span>h</span></a></li>
      <li><a href="functions_func_i.html#index_i"><span>i</span></a></li>
      <li><a href="functions_func_j.html#index_j"><span>j</span></a></li>
      <li><a href="functions_func_l.html#index_l"><span>l</span></a></li>
      <li><a href="functions_func_m.html#index_m"><span>m</span></a></li>
      <li><a href="functions_func_n.html#index_n"><span>n</span></a></li>
      <li><a href="functions_func_o.html#index_o"><span>o</span></a></li>
      <li><a href="functions_func_p.html#index_p"><span>p</span></a></li>
      <li><a href="functions_func_r.html#index_r"><span>r</span></a></li>
      <li><a href="functions_func_s.html#index_s"><span>s</span></a></li>
      <li><a href="functions_func_t.html#index_t"><span>t</span></a></li>
      <li><a href="functions_func_u.html#index_u"><span>u</span></a></li>
      <li><a href="functions_func_w.html#index_w"><span>w</span></a></li>
      <li><a href="functions_func_x.html#index_x"><span>x</span></a></li>
      <li><a href="functions_func_z.html#index_z"><span>z</span></a></li>
      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</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('functions_func_e.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="contents">
&#160;

<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
<li>emitNoAppenderWarning()
: <a class="el" href="classlog4cxx_1_1_hierarchy.html#a569b371f0b747d048f78062eba8d79b9">Hierarchy</a>
, <a class="el" href="classlog4cxx_1_1spi_1_1_logger_repository.html#ab645697a704de65438e03a2c6db9e824">LoggerRepository</a>
</li>
<li>empty()
: <a class="el" href="classlog4cxx_1_1_n_d_c.html#acb0b14918df8211fb25cb23bd0384d51">NDC</a>
</li>
<li>encode()
: <a class="el" href="classlog4cxx_1_1helpers_1_1_charset_encoder.html#a4b904793b6470f8905ff79ee1a2b5a4c">CharsetEncoder</a>
, <a class="el" href="classlog4cxx_1_1helpers_1_1_transcoder.html#a880626e6e24cf3096b79bd356e9a4a75">Transcoder</a>
</li>
<li>encodeCharsetName()
: <a class="el" href="classlog4cxx_1_1helpers_1_1_transcoder.html#a273b33fdbe4121b835d214dcdb5b758a">Transcoder</a>
</li>
<li>encodeUTF16BE()
: <a class="el" href="classlog4cxx_1_1helpers_1_1_transcoder.html#a4d977008137ed001a26169edf105d6e0">Transcoder</a>
</li>
<li>encodeUTF16LE()
: <a class="el" href="classlog4cxx_1_1helpers_1_1_transcoder.html#aaa887339dedae6cdf93418eaad7ceb25">Transcoder</a>
</li>
<li>encodeUTF8()
: <a class="el" href="classlog4cxx_1_1helpers_1_1_transcoder.html#abe69619d5e41e0dbe5d394ec5a533e41">Transcoder</a>
</li>
<li>END_LOG4CXX_CAST_MAP()
: <a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html#ac55895eff5df0712bc8726c5427de150">PatternConverter</a>
</li>
<li>end_message()
: <a class="el" href="classlog4cxx_1_1logstream__base.html#a0edbfebc35a61a5047480e1ae978fb38">logstream_base</a>
</li>
<li>ending()
: <a class="el" href="classlog4cxx_1_1helpers_1_1_thread.html#a893d1bcb960a17b354855c3bd338c298">Thread</a>
</li>
<li>endmsg()
: <a class="el" href="classlog4cxx_1_1logstream__base.html#ae95420093e23b645a275e115043684e9">logstream_base</a>
</li>
<li>endsWith()
: <a class="el" href="classlog4cxx_1_1helpers_1_1_string_helper.html#a438ff4b505054058ab50b4b1f677081d">StringHelper</a>
</li>
<li>equals()
: <a class="el" href="classlog4cxx_1_1_level.html#a5e096fb60e3d1dbcdde3d8b7df52fca4">Level</a>
</li>
<li>equalsIgnoreCase()
: <a class="el" href="classlog4cxx_1_1helpers_1_1_string_helper.html#a2dbc65416f3d813469568d4a75b32896">StringHelper</a>
</li>
<li>erase()
: <a class="el" href="classlog4cxx_1_1logstream.html#acc248831fec96b660d813c565ffd93b7">logstream</a>
, <a class="el" href="classlog4cxx_1_1logstream__base.html#a60b4d079ef9767fcbf6b3955aaaedf75">logstream_base</a>
, <a class="el" href="classlog4cxx_1_1ulogstream.html#acc248831fec96b660d813c565ffd93b7">ulogstream</a>
, <a class="el" href="classlog4cxx_1_1wlogstream.html#acc248831fec96b660d813c565ffd93b7">wlogstream</a>
</li>
<li>error()
: <a class="el" href="classlog4cxx_1_1helpers_1_1_log_log.html#afb81f0a62e9233a60efec4d3d57785f8">LogLog</a>
, <a class="el" href="classlog4cxx_1_1helpers_1_1_only_once_error_handler.html#a9084c6c8c225845ed09867b730590514">OnlyOnceErrorHandler</a>
, <a class="el" href="classlog4cxx_1_1_logger.html#a3b64fbd1212f9bada42ded99b1523001">Logger</a>
, <a class="el" href="classlog4cxx_1_1spi_1_1_error_handler.html#a20b213d025014be558dfab7e11652825">ErrorHandler</a>
, <a class="el" href="classlog4cxx_1_1varia_1_1_fallback_error_handler.html#a40069b80e5ee8953b25177cc3574aa4b">FallbackErrorHandler</a>
</li>
<li>Exception()
: <a class="el" href="classlog4cxx_1_1helpers_1_1_exception.html#a8dafee80c8d90301c465737c0c869a74">Exception</a>
</li>
<li>exchange()
: <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_base.html#a40187b6d5ce49c8bb76ef2df1b07d21d">ObjectPtrBase</a>
</li>
<li>execute()
: <a class="el" href="classlog4cxx_1_1db_1_1_o_d_b_c_appender.html#ae950230913c98f717c92ba028abd7fe5">ODBCAppender</a>
, <a class="el" href="classlog4cxx_1_1rolling_1_1_action.html#ad501335e019f714d88015e8c32f987cd">Action</a>
, <a class="el" href="classlog4cxx_1_1rolling_1_1_file_rename_action.html#a868f2b05ba28a95cc71c9f3879c72f1d">FileRenameAction</a>
, <a class="el" href="classlog4cxx_1_1rolling_1_1_g_z_compress_action.html#a868f2b05ba28a95cc71c9f3879c72f1d">GZCompressAction</a>
, <a class="el" href="classlog4cxx_1_1rolling_1_1_zip_compress_action.html#a868f2b05ba28a95cc71c9f3879c72f1d">ZipCompressAction</a>
</li>
<li>exists()
: <a class="el" href="classlog4cxx_1_1_file.html#adc95b748062c49d022f5385c2036756e">File</a>
, <a class="el" href="classlog4cxx_1_1_hierarchy.html#a7204cf9ea148398ddcd737678e5886d0">Hierarchy</a>
, <a class="el" href="classlog4cxx_1_1_log_manager.html#a7f972033d1a04ac3786833595d1f800f">LogManager</a>
, <a class="el" href="classlog4cxx_1_1spi_1_1_logger_repository.html#a4fa6ca63b28ba12443bed7a1084920dd">LoggerRepository</a>
</li>
<li>existsLS()
: <a class="el" href="classlog4cxx_1_1_log_manager.html#a8679bd3e8378bbc888a03bd3b76cd09b">LogManager</a>
</li>
<li>explode()
: <a class="el" href="classlog4cxx_1_1helpers_1_1_time_zone.html#ad384ad430ee70f1fc9a8d3f8467afcb7">TimeZone</a>
</li>
<li>ExpressionFilter()
: <a class="el" href="classlog4cxx_1_1filter_1_1_expression_filter.html#aea951331023241b9a60ad9ac8973c26f">ExpressionFilter</a>
</li>
</ul>
</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>