<!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: Member List</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><a href="functions.html"><span>Class&#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('classlog4cxx_1_1pattern_1_1_full_location_pattern_converter.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="headertitle">
<div class="title">FullLocationPatternConverter Member List</div>  </div>
</div><!--header-->
<div class="contents">

<p>This is the complete list of members for <a class="el" href="classlog4cxx_1_1pattern_1_1_full_location_pattern_converter.html">FullLocationPatternConverter</a>, including all inherited members.</p>
<table class="directory">
  <tr class="even"><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html#a0198815940c2715c84b0e04828cf8dfa">addRef</a>() const </td><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html">ObjectImpl</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
  <tr><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html#ab7885f06f40816fff7278404cfb940b1">append</a>(LogString &amp;toAppendTo, const std::string &amp;src)</td><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html">PatternConverter</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html#a7d0ed153d5280aae0158f86e01c32607">BEGIN_LOG4CXX_CAST_MAP</a>()</td><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html">PatternConverter</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html#a5a7744a4efdb699356cef215613903c3">cast</a>(const Class &amp;clazz) const =0</td><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html">Object</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html#a6c90c225ad0cfd20ef0e0198a13dc7a9">DECLARE_ABSTRACT_LOG4CXX_OBJECT</a>(PatternConverter)</td><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html">PatternConverter</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html#ac55895eff5df0712bc8726c5427de150">END_LOG4CXX_CAST_MAP</a>()</td><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html">PatternConverter</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_full_location_pattern_converter.html#ae365eeefff6366cf929d51d7ef87255b">format</a>(const log4cxx::spi::LoggingEventPtr &amp;event, LogString &amp;toAppendTo, log4cxx::helpers::Pool &amp;p) const </td><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_full_location_pattern_converter.html">FullLocationPatternConverter</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
  <tr><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_logging_event_pattern_converter.html#a39af815814e5c3011ed62175104853ed">log4cxx::pattern::LoggingEventPatternConverter::format</a>(const log4cxx::helpers::ObjectPtr &amp;obj, LogString &amp;toAppendTo, log4cxx::helpers::Pool &amp;p) const </td><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_logging_event_pattern_converter.html">LoggingEventPatternConverter</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html#ae7b62e37794f297c0cede40ed0e84fcd">getClass</a>() const </td><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html">Object</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
  <tr><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html#ac22a8d65fdc07f5b0e52c935b0ee055f">getName</a>() const </td><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html">PatternConverter</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html#a0bdbda4effe8938c1aca6d4397e5a39d">getStaticClass</a>()</td><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html">Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
  <tr><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html#a3ad0252a0a90d42e1651f41de2237ef2">getStyleClass</a>(const log4cxx::helpers::ObjectPtr &amp;e) const </td><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html">PatternConverter</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_logging_event_pattern_converter.html#a54accf71f24c8879b3dda4f62bb4dc0d">handlesThrowable</a>() const </td><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_logging_event_pattern_converter.html">LoggingEventPatternConverter</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
  <tr><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html#a3604a5fb08f7048d41b51a3943740b96">instanceof</a>(const Class &amp;clazz) const =0</td><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html">Object</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html#aac174ba835e5b6c110e4244bd5b79ccb">LOG4CXX_CAST_ENTRY</a>(PatternConverter)</td><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html">PatternConverter</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_logging_event_pattern_converter.html#af503d35027e5840903773e0d3d56d1c9">LoggingEventPatternConverter</a>(const LogString &amp;name, const LogString &amp;style)</td><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_logging_event_pattern_converter.html">LoggingEventPatternConverter</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_full_location_pattern_converter.html#a8ab21ae90307902122f92aca54fed1f4">newInstance</a>(const std::vector&lt; LogString &gt; &amp;options)</td><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_full_location_pattern_converter.html">FullLocationPatternConverter</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
  <tr><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html#a5e6e9fc30dc1f098fee72d516ea0bad0">ObjectImpl</a>()</td><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html">ObjectImpl</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html#a25fcc227ebdb57c4c341466ea76b1239">PatternConverter</a>(const LogString &amp;name, const LogString &amp;style)</td><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html">PatternConverter</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
  <tr><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html#a88f2ae00c84f3f309965e6588ed158d4">ref</a></td><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html">ObjectImpl</a></td><td class="entry"><span class="mlabel">mutable</span><span class="mlabel">protected</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html#a50ec9288d0b7e3140dee8e24ee74a212">registerClass</a>()</td><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html">Object</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
  <tr><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html#a55c31efee1904916b999395fa4d46a24">releaseRef</a>() const </td><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html">ObjectImpl</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html#ab5cc4f9ba1ea5c2f25bc4b1f0dac5dc5">~Object</a>()</td><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object.html">Object</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
  <tr><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html#abb974728bb3cb991285140c1aa57eed7">~ObjectImpl</a>()</td><td class="entry"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html">ObjectImpl</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html#a70a4b8169b80539ab3f61dd0d6c9b7e3">~PatternConverter</a>()</td><td class="entry"><a class="el" href="classlog4cxx_1_1pattern_1_1_pattern_converter.html">PatternConverter</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
</table></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>