blob: a4103d54ed1f15b9abf9603d819aae3c9dfb82c3 [file] [log] [blame]
<!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: logstream_base Class 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 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_1logstream__base.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="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classlog4cxx_1_1logstream__base-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">logstream_base Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>Base class for the basic_logstream template which attempts to emulate std::basic_ostream but attempts to short-circuit unnecessary operations.
<a href="classlog4cxx_1_1logstream__base.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for logstream_base:</div>
<div class="dyncontent">
<div class="center">
<img src="classlog4cxx_1_1logstream__base.png" usemap="#logstream_5Fbase_map" alt=""/>
<map id="logstream_5Fbase_map" name="logstream_base_map">
<area href="classlog4cxx_1_1logstream.html" title="An STL-like stream API for log4cxx using char as the character type. " alt="logstream" shape="rect" coords="0,56,100,80"/>
<area href="classlog4cxx_1_1ulogstream.html" title="An STL-like stream API for log4cxx using UniChar as the character type. " alt="ulogstream" shape="rect" coords="110,56,210,80"/>
<area href="classlog4cxx_1_1wlogstream.html" title="An STL-like stream API for log4cxx using wchar_t as the character type. " alt="wlogstream" shape="rect" coords="220,56,320,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a97b38f730d79dc1307d603bcb9ce1dcd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a97b38f730d79dc1307d603bcb9ce1dcd">logstream_base</a> (const <a class="el" href="namespacelog4cxx.html#a59eb1cd441fdcbcc0f5479ec03f962ea">log4cxx::LoggerPtr</a> &amp;logger, const <a class="el" href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">log4cxx::LevelPtr</a> &amp;level)</td></tr>
<tr class="memdesc:a97b38f730d79dc1307d603bcb9ce1dcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new instance. <a href="#a97b38f730d79dc1307d603bcb9ce1dcd">More...</a><br /></td></tr>
<tr class="separator:a97b38f730d79dc1307d603bcb9ce1dcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae49dbe6cf9523ca9602dd1e7fd71682"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#aae49dbe6cf9523ca9602dd1e7fd71682">~logstream_base</a> ()</td></tr>
<tr class="memdesc:aae49dbe6cf9523ca9602dd1e7fd71682"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#aae49dbe6cf9523ca9602dd1e7fd71682">More...</a><br /></td></tr>
<tr class="separator:aae49dbe6cf9523ca9602dd1e7fd71682"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2748af78ff2396cf61c227cb09569d86"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a2748af78ff2396cf61c227cb09569d86">insert</a> (std::ios_base &amp;(*manip)(std::ios_base &amp;))</td></tr>
<tr class="memdesc:a2748af78ff2396cf61c227cb09569d86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insertion operator for std::fixed and similar manipulators. <a href="#a2748af78ff2396cf61c227cb09569d86">More...</a><br /></td></tr>
<tr class="separator:a2748af78ff2396cf61c227cb09569d86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1de59f1b10893c8c314b8fab5453d557"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a1de59f1b10893c8c314b8fab5453d557">precision</a> ()</td></tr>
<tr class="memdesc:a1de59f1b10893c8c314b8fab5453d557"><td class="mdescLeft">&#160;</td><td class="mdescRight">get precision. <a href="#a1de59f1b10893c8c314b8fab5453d557">More...</a><br /></td></tr>
<tr class="separator:a1de59f1b10893c8c314b8fab5453d557"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3eeed61a3424d2f907c8a1e420fddf6d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a3eeed61a3424d2f907c8a1e420fddf6d">width</a> ()</td></tr>
<tr class="memdesc:a3eeed61a3424d2f907c8a1e420fddf6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">get width. <a href="#a3eeed61a3424d2f907c8a1e420fddf6d">More...</a><br /></td></tr>
<tr class="separator:a3eeed61a3424d2f907c8a1e420fddf6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5902205aee84171d925dbb635aa29a43"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a5902205aee84171d925dbb635aa29a43">precision</a> (int newval)</td></tr>
<tr class="memdesc:a5902205aee84171d925dbb635aa29a43"><td class="mdescLeft">&#160;</td><td class="mdescRight">set precision. <a href="#a5902205aee84171d925dbb635aa29a43">More...</a><br /></td></tr>
<tr class="separator:a5902205aee84171d925dbb635aa29a43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8434e31214926edbe6dc886f146d60b3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a8434e31214926edbe6dc886f146d60b3">width</a> (int newval)</td></tr>
<tr class="memdesc:a8434e31214926edbe6dc886f146d60b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">set width. <a href="#a8434e31214926edbe6dc886f146d60b3">More...</a><br /></td></tr>
<tr class="separator:a8434e31214926edbe6dc886f146d60b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20edf1feedb30e49b45f6056cb0acf21"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a20edf1feedb30e49b45f6056cb0acf21">fill</a> ()</td></tr>
<tr class="memdesc:a20edf1feedb30e49b45f6056cb0acf21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get fill character. <a href="#a20edf1feedb30e49b45f6056cb0acf21">More...</a><br /></td></tr>
<tr class="separator:a20edf1feedb30e49b45f6056cb0acf21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bd23ee910d99bdca1b590ebe1dd8d8e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a5bd23ee910d99bdca1b590ebe1dd8d8e">fill</a> (int newval)</td></tr>
<tr class="memdesc:a5bd23ee910d99bdca1b590ebe1dd8d8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set fill character. <a href="#a5bd23ee910d99bdca1b590ebe1dd8d8e">More...</a><br /></td></tr>
<tr class="separator:a5bd23ee910d99bdca1b590ebe1dd8d8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bffd9ffd951baa394eaaed7ab4dcf8b"><td class="memItemLeft" align="right" valign="top">std::ios_base::fmtflags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a4bffd9ffd951baa394eaaed7ab4dcf8b">flags</a> (std::ios_base::fmtflags newflags)</td></tr>
<tr class="memdesc:a4bffd9ffd951baa394eaaed7ab4dcf8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set flags. <a href="#a4bffd9ffd951baa394eaaed7ab4dcf8b">More...</a><br /></td></tr>
<tr class="separator:a4bffd9ffd951baa394eaaed7ab4dcf8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b0afcc4495f35758b419b77d2afe0e4"><td class="memItemLeft" align="right" valign="top">std::ios_base::fmtflags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a4b0afcc4495f35758b419b77d2afe0e4">setf</a> (std::ios_base::fmtflags newflags, std::ios_base::fmtflags mask)</td></tr>
<tr class="memdesc:a4b0afcc4495f35758b419b77d2afe0e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set flags. <a href="#a4b0afcc4495f35758b419b77d2afe0e4">More...</a><br /></td></tr>
<tr class="separator:a4b0afcc4495f35758b419b77d2afe0e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05eb8e97f5c585bdf68dd22a3bfaeedc"><td class="memItemLeft" align="right" valign="top">std::ios_base::fmtflags&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a05eb8e97f5c585bdf68dd22a3bfaeedc">setf</a> (std::ios_base::fmtflags newflags)</td></tr>
<tr class="memdesc:a05eb8e97f5c585bdf68dd22a3bfaeedc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set flags. <a href="#a05eb8e97f5c585bdf68dd22a3bfaeedc">More...</a><br /></td></tr>
<tr class="separator:a05eb8e97f5c585bdf68dd22a3bfaeedc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0edbfebc35a61a5047480e1ae978fb38"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a0edbfebc35a61a5047480e1ae978fb38">end_message</a> ()</td></tr>
<tr class="memdesc:a0edbfebc35a61a5047480e1ae978fb38"><td class="mdescLeft">&#160;</td><td class="mdescRight">end of message action. <a href="#a0edbfebc35a61a5047480e1ae978fb38">More...</a><br /></td></tr>
<tr class="separator:a0edbfebc35a61a5047480e1ae978fb38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16a971221dd24c189c9916ca2cf90b0a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a16a971221dd24c189c9916ca2cf90b0a">setLevel</a> (const <a class="el" href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">LevelPtr</a> &amp;level)</td></tr>
<tr class="memdesc:a16a971221dd24c189c9916ca2cf90b0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the level. <a href="#a16a971221dd24c189c9916ca2cf90b0a">More...</a><br /></td></tr>
<tr class="separator:a16a971221dd24c189c9916ca2cf90b0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2931e09e0fd8eac15c83f0254b4e4ac"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#ae2931e09e0fd8eac15c83f0254b4e4ac">isEnabled</a> () const </td></tr>
<tr class="memdesc:ae2931e09e0fd8eac15c83f0254b4e4ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the current level is the same or high as the level of logger at time of construction or last setLevel. <a href="#ae2931e09e0fd8eac15c83f0254b4e4ac">More...</a><br /></td></tr>
<tr class="separator:ae2931e09e0fd8eac15c83f0254b4e4ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af43c11d7ecdeb6d5cf628bd71a9ad028"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#af43c11d7ecdeb6d5cf628bd71a9ad028">isEnabledFor</a> (const <a class="el" href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">LevelPtr</a> &amp;level) const </td></tr>
<tr class="memdesc:af43c11d7ecdeb6d5cf628bd71a9ad028"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if logger is currently enabled for the specified level. <a href="#af43c11d7ecdeb6d5cf628bd71a9ad028">More...</a><br /></td></tr>
<tr class="separator:af43c11d7ecdeb6d5cf628bd71a9ad028"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f24a4873ac46d6bd3911dda3fd7f6b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a9f24a4873ac46d6bd3911dda3fd7f6b3">setLocation</a> (const <a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">log4cxx::spi::LocationInfo</a> &amp;location)</td></tr>
<tr class="memdesc:a9f24a4873ac46d6bd3911dda3fd7f6b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the location for subsequent log requests. <a href="#a9f24a4873ac46d6bd3911dda3fd7f6b3">More...</a><br /></td></tr>
<tr class="separator:a9f24a4873ac46d6bd3911dda3fd7f6b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af71d0e6a57da49afb8b1acf6fa2bf971"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#af71d0e6a57da49afb8b1acf6fa2bf971">set_stream_state</a> (std::ios_base &amp;os, int &amp;fillchar)</td></tr>
<tr class="memdesc:af71d0e6a57da49afb8b1acf6fa2bf971"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the state of the embedded stream (if any) to the state of the formatting info. <a href="#af71d0e6a57da49afb8b1acf6fa2bf971">More...</a><br /></td></tr>
<tr class="separator:af71d0e6a57da49afb8b1acf6fa2bf971"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ae95420093e23b645a275e115043684e9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classlog4cxx_1_1logstream__base.html">logstream_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#ae95420093e23b645a275e115043684e9">endmsg</a> (<a class="el" href="classlog4cxx_1_1logstream__base.html">logstream_base</a> &amp;)</td></tr>
<tr class="memdesc:ae95420093e23b645a275e115043684e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">end of message manipulator, triggers logging. <a href="#ae95420093e23b645a275e115043684e9">More...</a><br /></td></tr>
<tr class="separator:ae95420093e23b645a275e115043684e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accda5f6f4f49c945db2e303a9ca11a53"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classlog4cxx_1_1logstream__base.html">logstream_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#accda5f6f4f49c945db2e303a9ca11a53">nop</a> (<a class="el" href="classlog4cxx_1_1logstream__base.html">logstream_base</a> &amp;)</td></tr>
<tr class="memdesc:accda5f6f4f49c945db2e303a9ca11a53"><td class="mdescLeft">&#160;</td><td class="mdescRight">no-operation manipulator, Used to avoid ambiguity with VC6. <a href="#accda5f6f4f49c945db2e303a9ca11a53">More...</a><br /></td></tr>
<tr class="separator:accda5f6f4f49c945db2e303a9ca11a53"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a7319c6c9b6eb2354fcef57fa77ad90c8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a7319c6c9b6eb2354fcef57fa77ad90c8">log</a> (<a class="el" href="namespacelog4cxx.html#a59eb1cd441fdcbcc0f5479ec03f962ea">LoggerPtr</a> &amp;logger, const <a class="el" href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">LevelPtr</a> &amp;level, const <a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">log4cxx::spi::LocationInfo</a> &amp;location)=0</td></tr>
<tr class="memdesc:a7319c6c9b6eb2354fcef57fa77ad90c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dispatches the pending log request. <a href="#a7319c6c9b6eb2354fcef57fa77ad90c8">More...</a><br /></td></tr>
<tr class="separator:a7319c6c9b6eb2354fcef57fa77ad90c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60b4d079ef9767fcbf6b3955aaaedf75"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a60b4d079ef9767fcbf6b3955aaaedf75">erase</a> ()=0</td></tr>
<tr class="memdesc:a60b4d079ef9767fcbf6b3955aaaedf75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase any content in the message construction buffer. <a href="#a60b4d079ef9767fcbf6b3955aaaedf75">More...</a><br /></td></tr>
<tr class="separator:a60b4d079ef9767fcbf6b3955aaaedf75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52ce7640d5768d962619d44e9ab0014b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a52ce7640d5768d962619d44e9ab0014b">get_stream_state</a> (std::ios_base &amp;base, std::ios_base &amp;mask, int &amp;<a class="el" href="classlog4cxx_1_1logstream__base.html#a20edf1feedb30e49b45f6056cb0acf21">fill</a>, bool &amp;fillSet) const =0</td></tr>
<tr class="memdesc:a52ce7640d5768d962619d44e9ab0014b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy state of embedded stream (if any) to value and mask instances of std::ios_base and return fill character value. <a href="#a52ce7640d5768d962619d44e9ab0014b">More...</a><br /></td></tr>
<tr class="separator:a52ce7640d5768d962619d44e9ab0014b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69058a0b06cd353e328325f4a8579790"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1logstream__base.html#a69058a0b06cd353e328325f4a8579790">refresh_stream_state</a> ()=0</td></tr>
<tr class="separator:a69058a0b06cd353e328325f4a8579790"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base class for the basic_logstream template which attempts to emulate std::basic_ostream but attempts to short-circuit unnecessary operations. </p>
<p>The logstream has a logger and level that are used for logging requests. The level of the stream is compared against the current level of the logger to determine if the request should be processed. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a97b38f730d79dc1307d603bcb9ce1dcd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlog4cxx_1_1logstream__base.html">logstream_base</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacelog4cxx.html#a59eb1cd441fdcbcc0f5479ec03f962ea">log4cxx::LoggerPtr</a> &amp;&#160;</td>
<td class="paramname"><em>logger</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">log4cxx::LevelPtr</a> &amp;&#160;</td>
<td class="paramname"><em>level</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create new instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">logger</td><td>logger logger used in log requests. </td></tr>
<tr><td class="paramname">level</td><td>indicates level that will be used in log requests. Can be modified later by inserting a level or calling setLevel. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aae49dbe6cf9523ca9602dd1e7fd71682"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual ~<a class="el" href="classlog4cxx_1_1logstream__base.html">logstream_base</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Destructor. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a0edbfebc35a61a5047480e1ae978fb38"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void end_message </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>end of message action. </p>
</div>
</div>
<a class="anchor" id="ae95420093e23b645a275e115043684e9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classlog4cxx_1_1logstream__base.html">logstream_base</a>&amp; endmsg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlog4cxx_1_1logstream__base.html">logstream_base</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>end of message manipulator, triggers logging. </p>
</div>
</div>
<a class="anchor" id="a60b4d079ef9767fcbf6b3955aaaedf75"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void erase </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Erase any content in the message construction buffer. </p>
<p>Implemented in <a class="el" href="classlog4cxx_1_1ulogstream.html#acc248831fec96b660d813c565ffd93b7">ulogstream</a>, <a class="el" href="classlog4cxx_1_1wlogstream.html#acc248831fec96b660d813c565ffd93b7">wlogstream</a>, and <a class="el" href="classlog4cxx_1_1logstream.html#acc248831fec96b660d813c565ffd93b7">logstream</a>.</p>
</div>
</div>
<a class="anchor" id="a20edf1feedb30e49b45f6056cb0acf21"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int fill </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get fill character. </p>
</div>
</div>
<a class="anchor" id="a5bd23ee910d99bdca1b590ebe1dd8d8e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int fill </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>newval</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set fill character. </p>
</div>
</div>
<a class="anchor" id="a4bffd9ffd951baa394eaaed7ab4dcf8b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::ios_base::fmtflags flags </td>
<td>(</td>
<td class="paramtype">std::ios_base::fmtflags&#160;</td>
<td class="paramname"><em>newflags</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set flags. </p>
<p>see std::ios_base. </p>
</div>
</div>
<a class="anchor" id="a52ce7640d5768d962619d44e9ab0014b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void get_stream_state </td>
<td>(</td>
<td class="paramtype">std::ios_base &amp;&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::ios_base &amp;&#160;</td>
<td class="paramname"><em>mask</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int &amp;&#160;</td>
<td class="paramname"><em>fill</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool &amp;&#160;</td>
<td class="paramname"><em>fillSet</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy state of embedded stream (if any) to value and mask instances of std::ios_base and return fill character value. </p>
<p>Implemented in <a class="el" href="classlog4cxx_1_1ulogstream.html#a9e8c5ad843e0886f9e6c683e6888de77">ulogstream</a>, <a class="el" href="classlog4cxx_1_1wlogstream.html#a9e8c5ad843e0886f9e6c683e6888de77">wlogstream</a>, and <a class="el" href="classlog4cxx_1_1logstream.html#a9e8c5ad843e0886f9e6c683e6888de77">logstream</a>.</p>
</div>
</div>
<a class="anchor" id="a2748af78ff2396cf61c227cb09569d86"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void insert </td>
<td>(</td>
<td class="paramtype">std::ios_base &amp;(*)(std::ios_base &amp;)&#160;</td>
<td class="paramname"><em>manip</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Insertion operator for std::fixed and similar manipulators. </p>
</div>
</div>
<a class="anchor" id="ae2931e09e0fd8eac15c83f0254b4e4ac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool isEnabled </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the current level is the same or high as the level of logger at time of construction or last setLevel. </p>
</div>
</div>
<a class="anchor" id="af43c11d7ecdeb6d5cf628bd71a9ad028"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool isEnabledFor </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">LevelPtr</a> &amp;&#160;</td>
<td class="paramname"><em>level</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns if logger is currently enabled for the specified level. </p>
</div>
</div>
<a class="anchor" id="a7319c6c9b6eb2354fcef57fa77ad90c8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void log </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacelog4cxx.html#a59eb1cd441fdcbcc0f5479ec03f962ea">LoggerPtr</a> &amp;&#160;</td>
<td class="paramname"><em>logger</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">LevelPtr</a> &amp;&#160;</td>
<td class="paramname"><em>level</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">log4cxx::spi::LocationInfo</a> &amp;&#160;</td>
<td class="paramname"><em>location</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Dispatches the pending log request. </p>
<p>Implemented in <a class="el" href="classlog4cxx_1_1ulogstream.html#a3175ec78d6e1235ebd1ab3aad0e8e717">ulogstream</a>, <a class="el" href="classlog4cxx_1_1wlogstream.html#a3175ec78d6e1235ebd1ab3aad0e8e717">wlogstream</a>, and <a class="el" href="classlog4cxx_1_1logstream.html#a3175ec78d6e1235ebd1ab3aad0e8e717">logstream</a>.</p>
</div>
</div>
<a class="anchor" id="accda5f6f4f49c945db2e303a9ca11a53"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classlog4cxx_1_1logstream__base.html">logstream_base</a>&amp; nop </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlog4cxx_1_1logstream__base.html">logstream_base</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>no-operation manipulator, Used to avoid ambiguity with VC6. </p>
</div>
</div>
<a class="anchor" id="a1de59f1b10893c8c314b8fab5453d557"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int precision </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>get precision. </p>
</div>
</div>
<a class="anchor" id="a5902205aee84171d925dbb635aa29a43"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int precision </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>newval</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>set precision. </p>
<p>This should be used in preference to inserting an std::setprecision(n) since the other requires construction of an STL stream which may be expensive. </p>
</div>
</div>
<a class="anchor" id="a69058a0b06cd353e328325f4a8579790"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void refresh_stream_state </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classlog4cxx_1_1ulogstream.html#a979bc47725d6c28a371e71b4f45ed548">ulogstream</a>, <a class="el" href="classlog4cxx_1_1wlogstream.html#a979bc47725d6c28a371e71b4f45ed548">wlogstream</a>, and <a class="el" href="classlog4cxx_1_1logstream.html#a979bc47725d6c28a371e71b4f45ed548">logstream</a>.</p>
</div>
</div>
<a class="anchor" id="af71d0e6a57da49afb8b1acf6fa2bf971"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool set_stream_state </td>
<td>(</td>
<td class="paramtype">std::ios_base &amp;&#160;</td>
<td class="paramname"><em>os</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int &amp;&#160;</td>
<td class="paramname"><em>fillchar</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the state of the embedded stream (if any) to the state of the formatting info. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">os</td><td>stream to receive formatting info. </td></tr>
<tr><td class="paramname">fillchar</td><td>receives fill charater. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if fill character was specified. </dd></dl>
</div>
</div>
<a class="anchor" id="a4b0afcc4495f35758b419b77d2afe0e4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::ios_base::fmtflags setf </td>
<td>(</td>
<td class="paramtype">std::ios_base::fmtflags&#160;</td>
<td class="paramname"><em>newflags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::ios_base::fmtflags&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set flags. </p>
<p>see std::ios_base. </p>
</div>
</div>
<a class="anchor" id="a05eb8e97f5c585bdf68dd22a3bfaeedc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::ios_base::fmtflags setf </td>
<td>(</td>
<td class="paramtype">std::ios_base::fmtflags&#160;</td>
<td class="paramname"><em>newflags</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set flags. </p>
<p>see std::ios_base. </p>
</div>
</div>
<a class="anchor" id="a16a971221dd24c189c9916ca2cf90b0a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void setLevel </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacelog4cxx.html#ae5a3f62e1b8b965953cbddfda82c53b5">LevelPtr</a> &amp;&#160;</td>
<td class="paramname"><em>level</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the level. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">level</td><td>level </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a9f24a4873ac46d6bd3911dda3fd7f6b3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void setLocation </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">log4cxx::spi::LocationInfo</a> &amp;&#160;</td>
<td class="paramname"><em>location</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the location for subsequent log requests. </p>
</div>
</div>
<a class="anchor" id="a3eeed61a3424d2f907c8a1e420fddf6d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int width </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>get width. </p>
</div>
</div>
<a class="anchor" id="a8434e31214926edbe6dc886f146d60b3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int width </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>newval</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>set width. </p>
<p>This should be used in preference to inserting an std::setw(n) since the other requires construction of an STL stream which may be expensive. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="stream_8h.html">stream.h</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>