clutchlog/docs/classclutchlog.html
2023-01-23 17:40:22 +01:00

506 lines
47 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>clutchlog: clutchlog 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>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-style.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="projectlogo"><img alt="Logo" src="clutchlog_logo.svg"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">clutchlog
&#160;<span id="projectnumber">0.13</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classclutchlog.html',''); initResizable(); });
/* @license-end */
</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="classclutchlog-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">clutchlog Class Reference<div class="ingroups"><a class="el" href="group___main.html">Main class</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>The single class which holds everything.
<a href="classclutchlog.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="clutchlog_8h_source.html">clutchlog.h</a>&gt;</code></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The single class which holds everything. </p>
<p>This is a Singleton class. </p>
<p class="definition">Definition at line <a class="el" href="clutchlog_8h_source.html#l00177">177</a> of file <a class="el" href="clutchlog_8h_source.html">clutchlog.h</a>.</p>
</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><td colspan="2"><div class="groupHeader">Configuration accessors</div></td></tr>
<tr class="memitem:a656c277e074b64728cca871f2b484d1c"><td class="memItemLeft" align="right" valign="top"><a id="a656c277e074b64728cca871f2b484d1c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a656c277e074b64728cca871f2b484d1c">format</a> (const std::string &amp;format)</td></tr>
<tr class="memdesc:a656c277e074b64728cca871f2b484d1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the template string. <br /></td></tr>
<tr class="separator:a656c277e074b64728cca871f2b484d1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc53dbca51d0e2322a21899d0c571a80"><td class="memItemLeft" align="right" valign="top"><a id="afc53dbca51d0e2322a21899d0c571a80"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#afc53dbca51d0e2322a21899d0c571a80">format</a> () const</td></tr>
<tr class="memdesc:afc53dbca51d0e2322a21899d0c571a80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the template string. <br /></td></tr>
<tr class="separator:afc53dbca51d0e2322a21899d0c571a80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2144abe4ec6f630126b6490908b5f924"><td class="memItemLeft" align="right" valign="top"><a id="a2144abe4ec6f630126b6490908b5f924"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a2144abe4ec6f630126b6490908b5f924">format_comment</a> (const std::string &amp;<a class="el" href="classclutchlog.html#a656c277e074b64728cca871f2b484d1c">format</a>)</td></tr>
<tr class="memdesc:a2144abe4ec6f630126b6490908b5f924"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the template string for dumps. <br /></td></tr>
<tr class="separator:a2144abe4ec6f630126b6490908b5f924"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8d0a569ed3623ce36c5e567ec2d1ad5"><td class="memItemLeft" align="right" valign="top"><a id="aa8d0a569ed3623ce36c5e567ec2d1ad5"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#aa8d0a569ed3623ce36c5e567ec2d1ad5">format_comment</a> () const</td></tr>
<tr class="memdesc:aa8d0a569ed3623ce36c5e567ec2d1ad5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the template string for dumps. <br /></td></tr>
<tr class="separator:aa8d0a569ed3623ce36c5e567ec2d1ad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fd7c7bd3668c537061c314a619a336d"><td class="memItemLeft" align="right" valign="top"><a id="a7fd7c7bd3668c537061c314a619a336d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a7fd7c7bd3668c537061c314a619a336d">out</a> (std::ostream &amp;out)</td></tr>
<tr class="memdesc:a7fd7c7bd3668c537061c314a619a336d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the output stream on which to print. <br /></td></tr>
<tr class="separator:a7fd7c7bd3668c537061c314a619a336d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c6ab42a1df147e6c2d115bc36ec8266"><td class="memItemLeft" align="right" valign="top"><a id="a6c6ab42a1df147e6c2d115bc36ec8266"></a>
std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a6c6ab42a1df147e6c2d115bc36ec8266">out</a> ()</td></tr>
<tr class="memdesc:a6c6ab42a1df147e6c2d115bc36ec8266"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the output stream on which to print. <br /></td></tr>
<tr class="separator:a6c6ab42a1df147e6c2d115bc36ec8266"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cb0e4f43a4cadf1966001ad7c9861f4"><td class="memItemLeft" align="right" valign="top"><a id="a3cb0e4f43a4cadf1966001ad7c9861f4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a3cb0e4f43a4cadf1966001ad7c9861f4">threshold</a> (<a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a> l)</td></tr>
<tr class="memdesc:a3cb0e4f43a4cadf1966001ad7c9861f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the log level (below which logs are not printed) with an identifier. <br /></td></tr>
<tr class="separator:a3cb0e4f43a4cadf1966001ad7c9861f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a7738eaad114bfa870121412fe23ad9"><td class="memItemLeft" align="right" valign="top"><a id="a7a7738eaad114bfa870121412fe23ad9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a7a7738eaad114bfa870121412fe23ad9">threshold</a> (const std::string &amp;l)</td></tr>
<tr class="memdesc:a7a7738eaad114bfa870121412fe23ad9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the log level (below which logs are not printed) with a string. <br /></td></tr>
<tr class="separator:a7a7738eaad114bfa870121412fe23ad9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab45287cc9c14217904a13aff49573732"><td class="memItemLeft" align="right" valign="top"><a id="ab45287cc9c14217904a13aff49573732"></a>
<a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#ab45287cc9c14217904a13aff49573732">threshold</a> () const</td></tr>
<tr class="memdesc:ab45287cc9c14217904a13aff49573732"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the log level below which logs are not printed. <br /></td></tr>
<tr class="separator:ab45287cc9c14217904a13aff49573732"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff3aa09fb60f7d6dc688c028d3834d8a"><td class="memItemLeft" align="right" valign="top"><a id="aff3aa09fb60f7d6dc688c028d3834d8a"></a>
const std::map&lt; std::string, <a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#aff3aa09fb60f7d6dc688c028d3834d8a">levels</a> () const</td></tr>
<tr class="memdesc:aff3aa09fb60f7d6dc688c028d3834d8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the map of available log levels string representations toward their identifier. *&zwj;/. <br /></td></tr>
<tr class="separator:aff3aa09fb60f7d6dc688c028d3834d8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acebed8c9df9204f22bf8488e62e1cedd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#acebed8c9df9204f22bf8488e62e1cedd">level_of</a> (const std::string name)</td></tr>
<tr class="memdesc:acebed8c9df9204f22bf8488e62e1cedd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the log level tag corresponding to the given pre-configured name. <a href="classclutchlog.html#acebed8c9df9204f22bf8488e62e1cedd">More...</a><br /></td></tr>
<tr class="separator:acebed8c9df9204f22bf8488e62e1cedd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10064493c22f5c03b502a42d814c5c5c"><td class="memItemLeft" align="right" valign="top"><a id="a10064493c22f5c03b502a42d814c5c5c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a10064493c22f5c03b502a42d814c5c5c">file</a> (std::string file)</td></tr>
<tr class="memdesc:a10064493c22f5c03b502a42d814c5c5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the regular expression filtering the file location. <br /></td></tr>
<tr class="separator:a10064493c22f5c03b502a42d814c5c5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad32b5a0274dc03ee0004f67ba58b2447"><td class="memItemLeft" align="right" valign="top"><a id="ad32b5a0274dc03ee0004f67ba58b2447"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#ad32b5a0274dc03ee0004f67ba58b2447">func</a> (std::string func)</td></tr>
<tr class="memdesc:ad32b5a0274dc03ee0004f67ba58b2447"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the regular expression filtering the function location. <br /></td></tr>
<tr class="separator:ad32b5a0274dc03ee0004f67ba58b2447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa26c6b81ebaeb9e9daa3457e3a3d17c9"><td class="memItemLeft" align="right" valign="top"><a id="aa26c6b81ebaeb9e9daa3457e3a3d17c9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#aa26c6b81ebaeb9e9daa3457e3a3d17c9">line</a> (std::string line)</td></tr>
<tr class="memdesc:aa26c6b81ebaeb9e9daa3457e3a3d17c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the regular expression filtering the line location. <br /></td></tr>
<tr class="separator:aa26c6b81ebaeb9e9daa3457e3a3d17c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6666106b9e5c239b6ae5e0d1091648e3"><td class="memItemLeft" align="right" valign="top"><a id="a6666106b9e5c239b6ae5e0d1091648e3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a6666106b9e5c239b6ae5e0d1091648e3">location</a> (const std::string &amp;in_file, const std::string &amp;in_function=&quot;.*&quot;, const std::string &amp;in_line=&quot;.*&quot;)</td></tr>
<tr class="memdesc:a6666106b9e5c239b6ae5e0d1091648e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the regular expressions filtering the location. <br /></td></tr>
<tr class="separator:a6666106b9e5c239b6ae5e0d1091648e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3ec55057b9c734b66f169bf43dbd591"><td class="memTemplParams" colspan="2">template&lt;class ... FMT&gt; </td></tr>
<tr class="memitem:ac3ec55057b9c734b66f169bf43dbd591"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classclutchlog.html#ac3ec55057b9c734b66f169bf43dbd591">style</a> (<a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a> stage, FMT... styles)</td></tr>
<tr class="memdesc:ac3ec55057b9c734b66f169bf43dbd591"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the style (color and typo) of the given log level. <a href="classclutchlog.html#ac3ec55057b9c734b66f169bf43dbd591">More...</a><br /></td></tr>
<tr class="separator:ac3ec55057b9c734b66f169bf43dbd591"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1cfa9945c3f7f98fe8ce724c627d0d6"><td class="memItemLeft" align="right" valign="top"><a id="ad1cfa9945c3f7f98fe8ce724c627d0d6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#ad1cfa9945c3f7f98fe8ce724c627d0d6">style</a> (<a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a> stage, <a class="el" href="classclutchlog_1_1fmt.html">fmt</a> style)</td></tr>
<tr class="memdesc:ad1cfa9945c3f7f98fe8ce724c627d0d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the style (color and typo) of the given log level, passing a <code>fmt</code> instance. <br /></td></tr>
<tr class="separator:ad1cfa9945c3f7f98fe8ce724c627d0d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4831f44fd5ade102e57320632095934d"><td class="memItemLeft" align="right" valign="top"><a id="a4831f44fd5ade102e57320632095934d"></a>
<a class="el" href="classclutchlog_1_1fmt.html">fmt</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a4831f44fd5ade102e57320632095934d">style</a> (<a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a> stage) const</td></tr>
<tr class="memdesc:a4831f44fd5ade102e57320632095934d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the configured fmt instance of the given log level. <br /></td></tr>
<tr class="separator:a4831f44fd5ade102e57320632095934d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Low-level API</div></td></tr>
<tr class="memitem:a4ebdfcded6c56262676bf6926d63fc96"><td class="memItemLeft" align="right" valign="top"><a id="a4ebdfcded6c56262676bf6926d63fc96"></a>
<a class="el" href="structclutchlog_1_1scope__t.html">scope_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a4ebdfcded6c56262676bf6926d63fc96">locate</a> (const <a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a> &amp;stage, const std::string &amp;<a class="el" href="classclutchlog.html#a10064493c22f5c03b502a42d814c5c5c">file</a>, const std::string &amp;<a class="el" href="classclutchlog.html#ad32b5a0274dc03ee0004f67ba58b2447">func</a>, const size_t <a class="el" href="classclutchlog.html#aa26c6b81ebaeb9e9daa3457e3a3d17c9">line</a>) const</td></tr>
<tr class="memdesc:a4ebdfcded6c56262676bf6926d63fc96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gather information on the current location of the call. <br /></td></tr>
<tr class="separator:a4ebdfcded6c56262676bf6926d63fc96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a972f895c70edc335f3018a2c8971d59e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a972f895c70edc335f3018a2c8971d59e">replace</a> (const std::string &amp;form, const std::string &amp;mark, const std::string &amp;tag) const</td></tr>
<tr class="memdesc:a972f895c70edc335f3018a2c8971d59e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace <code>mark</code> by <code>tag</code> in <code>form</code>. <a href="classclutchlog.html#a972f895c70edc335f3018a2c8971d59e">More...</a><br /></td></tr>
<tr class="separator:a972f895c70edc335f3018a2c8971d59e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae90d5a1a428587ad67b38b2ea4ca9fa2"><td class="memItemLeft" align="right" valign="top"><a id="ae90d5a1a428587ad67b38b2ea4ca9fa2"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#ae90d5a1a428587ad67b38b2ea4ca9fa2">replace</a> (const std::string &amp;form, const std::string &amp;mark, const size_t tag) const</td></tr>
<tr class="memdesc:ae90d5a1a428587ad67b38b2ea4ca9fa2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace <code>mark</code> by <code>tag</code> in <code>form</code>, converting tag to its string representation first. <br /></td></tr>
<tr class="separator:ae90d5a1a428587ad67b38b2ea4ca9fa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd692cca9a2e772e7c9d6531bb3c7761"><td class="memItemLeft" align="right" valign="top"><a id="abd692cca9a2e772e7c9d6531bb3c7761"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#abd692cca9a2e772e7c9d6531bb3c7761">format</a> (std::string row, const std::string &amp;what, const <a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a> &amp;stage, const std::string &amp;<a class="el" href="classclutchlog.html#a10064493c22f5c03b502a42d814c5c5c">file</a>, const std::string &amp;<a class="el" href="classclutchlog.html#ad32b5a0274dc03ee0004f67ba58b2447">func</a>, const size_t <a class="el" href="classclutchlog.html#aa26c6b81ebaeb9e9daa3457e3a3d17c9">line</a>) const</td></tr>
<tr class="memdesc:abd692cca9a2e772e7c9d6531bb3c7761"><td class="mdescLeft">&#160;</td><td class="mdescRight">Substitute all tags in the format string with the corresponding information and apply the style corresponding to the log level. <br /></td></tr>
<tr class="separator:abd692cca9a2e772e7c9d6531bb3c7761"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23dbb98f0d3c5cc21c232cde16cf317a"><td class="memItemLeft" align="right" valign="top"><a id="a23dbb98f0d3c5cc21c232cde16cf317a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a23dbb98f0d3c5cc21c232cde16cf317a">log</a> (const <a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a> &amp;stage, const std::string &amp;what, const std::string &amp;<a class="el" href="classclutchlog.html#a10064493c22f5c03b502a42d814c5c5c">file</a>, const std::string &amp;<a class="el" href="classclutchlog.html#ad32b5a0274dc03ee0004f67ba58b2447">func</a>, size_t <a class="el" href="classclutchlog.html#aa26c6b81ebaeb9e9daa3457e3a3d17c9">line</a>) const</td></tr>
<tr class="memdesc:a23dbb98f0d3c5cc21c232cde16cf317a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a log message IF the location matches the given one. <br /></td></tr>
<tr class="separator:a23dbb98f0d3c5cc21c232cde16cf317a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63308e8deae3cfec6801318203494143"><td class="memTemplParams" colspan="2"><a id="a63308e8deae3cfec6801318203494143"></a>
template&lt;class In &gt; </td></tr>
<tr class="memitem:a63308e8deae3cfec6801318203494143"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a63308e8deae3cfec6801318203494143">dump</a> (const <a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a> &amp;stage, const In container_begin, const In container_end, const std::string &amp;<a class="el" href="classclutchlog.html#a10064493c22f5c03b502a42d814c5c5c">file</a>, const std::string &amp;<a class="el" href="classclutchlog.html#ad32b5a0274dc03ee0004f67ba58b2447">func</a>, size_t <a class="el" href="classclutchlog.html#aa26c6b81ebaeb9e9daa3457e3a3d17c9">line</a>, const std::string &amp;filename_template=&quot;dump_{n}.dat&quot;, const std::string sep=<a class="el" href="classclutchlog.html#af898bffe23b125245e338d7495c76d45">dump_default_sep</a>) const</td></tr>
<tr class="memdesc:a63308e8deae3cfec6801318203494143"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump a serializable container after a comment line with log information. <br /></td></tr>
<tr class="separator:a63308e8deae3cfec6801318203494143"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-attribs"></a>
Static Protected Attributes</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Default configuration members</div></td></tr>
<tr class="memitem:a0c4ac57601e6f8d146fd5cc060968ecc"><td class="memItemLeft" align="right" valign="top"><a id="a0c4ac57601e6f8d146fd5cc060968ecc"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a0c4ac57601e6f8d146fd5cc060968ecc">default_format</a> = <a class="el" href="group___default_config.html#ga524c16f280d92ee8ab683162c9ce01fa">CLUTCHLOG_DEFAULT_FORMAT</a></td></tr>
<tr class="memdesc:a0c4ac57601e6f8d146fd5cc060968ecc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default format of the messages. <br /></td></tr>
<tr class="separator:a0c4ac57601e6f8d146fd5cc060968ecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace879554298e6e6e36dafef330c27be8"><td class="memItemLeft" align="right" valign="top"><a id="ace879554298e6e6e36dafef330c27be8"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#ace879554298e6e6e36dafef330c27be8">dump_default_format</a> = <a class="el" href="group___default_config.html#ga27b613c6727857a7cbcd0165d862034e">CLUTCHDUMP_DEFAULT_FORMAT</a></td></tr>
<tr class="memdesc:ace879554298e6e6e36dafef330c27be8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default format of the comment line in file dump. <br /></td></tr>
<tr class="separator:ace879554298e6e6e36dafef330c27be8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af898bffe23b125245e338d7495c76d45"><td class="memItemLeft" align="right" valign="top"><a id="af898bffe23b125245e338d7495c76d45"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#af898bffe23b125245e338d7495c76d45">dump_default_sep</a> = <a class="el" href="group___default_config.html#ga54d29e956575e1c731eab5406135c5df">CLUTCHDUMP_DEFAULT_SEP</a></td></tr>
<tr class="memdesc:af898bffe23b125245e338d7495c76d45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default item separator for dump. <br /></td></tr>
<tr class="separator:af898bffe23b125245e338d7495c76d45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a229fd61519f1245282440120f2d45fb5"><td class="memItemLeft" align="right" valign="top"><a id="a229fd61519f1245282440120f2d45fb5"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a229fd61519f1245282440120f2d45fb5">default_depth_mark</a> = <a class="el" href="group___default_config.html#ga45c4c964fad4ad1641d5c9c28c4645b9">CLUTCHLOG_DEFAULT_DEPTH_MARK</a></td></tr>
<tr class="memdesc:a229fd61519f1245282440120f2d45fb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default mark for stack depth. <br /></td></tr>
<tr class="separator:a229fd61519f1245282440120f2d45fb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a8cb6411726133208f5a2f2cb42d468"><td class="memItemLeft" align="right" valign="top"><a id="a1a8cb6411726133208f5a2f2cb42d468"></a>
static unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a1a8cb6411726133208f5a2f2cb42d468">default_strip_calls</a> = <a class="el" href="group___default_config.html#ga98f30d814d4913a8a7c93a8793f49adf">CLUTCHLOG_STRIP_CALLS</a></td></tr>
<tr class="memdesc:a1a8cb6411726133208f5a2f2cb42d468"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of call stack levels to remove from depth display by default. <br /></td></tr>
<tr class="separator:a1a8cb6411726133208f5a2f2cb42d468"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76eb34537b634aadb75e255f7887eeb6"><td class="memItemLeft" align="right" valign="top"><a id="a76eb34537b634aadb75e255f7887eeb6"></a>
static char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a76eb34537b634aadb75e255f7887eeb6">default_hfill_char</a> = <a class="el" href="group___default_config.html#ga4eda0c1bfded5df89351b8ce8b9c2805">CLUTCHLOG_DEFAULT_HFILL_MARK</a></td></tr>
<tr class="memdesc:a76eb34537b634aadb75e255f7887eeb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default character used as a filling for right-align the right part of messages with "{hfill}". <br /></td></tr>
<tr class="separator:a76eb34537b634aadb75e255f7887eeb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac95630bfe9cf547d2b7c4b3430eaedc1"><td class="memItemLeft" align="right" valign="top"><a id="ac95630bfe9cf547d2b7c4b3430eaedc1"></a>
static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#ac95630bfe9cf547d2b7c4b3430eaedc1">default_hfill_max</a> = CLUTCHLOG_DEFAULT_HFILL_MAX</td></tr>
<tr class="memdesc:ac95630bfe9cf547d2b7c4b3430eaedc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default maximum width (number of characters) for which to fill for right-aligning the right part of messages (using "{hfill}"). <br /></td></tr>
<tr class="separator:ac95630bfe9cf547d2b7c4b3430eaedc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a9a98c3528117223ceff22bc6bee5f7"><td class="memItemLeft" align="right" valign="top"><a id="a5a9a98c3528117223ceff22bc6bee5f7"></a>
static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a5a9a98c3528117223ceff22bc6bee5f7">default_hfill_min</a> = CLUTCHLOG_DEFAULT_HFILL_MIN</td></tr>
<tr class="memdesc:a5a9a98c3528117223ceff22bc6bee5f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default minimum width (number of characters) at which to fill for right-aligning the right part of messages (using "{hfill}"). <br /></td></tr>
<tr class="separator:a5a9a98c3528117223ceff22bc6bee5f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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="classclutchlog_1_1fmt.html">fmt</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Color and style formatter for ANSI terminal escape sequences. <a href="classclutchlog_1_1fmt.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">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structclutchlog_1_1scope__t.html">scope_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure holding a location matching. <a href="structclutchlog_1_1scope__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
High-level API</h2></td></tr>
<tr class="memitem:a10fd25a1b51c8c95bd6d876ce1b4b928"><td class="memItemLeft" align="right" valign="top"><a id="a10fd25a1b51c8c95bd6d876ce1b4b928"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a> { <br />
&#160;&#160;<b>critical</b> =0,
<b>error</b> =1,
<b>warning</b> =2,
<b>progress</b> =3,
<br />
&#160;&#160;<b>note</b> =4,
<b>info</b> =5,
<b>debug</b> =6,
<b>xdebug</b> =7
<br />
}</td></tr>
<tr class="memdesc:a10fd25a1b51c8c95bd6d876ce1b4b928"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available log levels. <br /></td></tr>
<tr class="separator:a10fd25a1b51c8c95bd6d876ce1b4b928"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfaceb77da01503b432644a3efaee4fa"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classclutchlog.html">clutchlog</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#acfaceb77da01503b432644a3efaee4fa">logger</a> ()</td></tr>
<tr class="memdesc:acfaceb77da01503b432644a3efaee4fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the logger instance. <a href="classclutchlog.html#acfaceb77da01503b432644a3efaee4fa">More...</a><br /></td></tr>
<tr class="separator:acfaceb77da01503b432644a3efaee4fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Internal details</h2></td></tr>
<tr class="memitem:a356df86455409193792b6ed550dfd09e"><td class="memItemLeft" align="right" valign="top"><a id="a356df86455409193792b6ed550dfd09e"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a356df86455409193792b6ed550dfd09e">_strip_calls</a></td></tr>
<tr class="memdesc:a356df86455409193792b6ed550dfd09e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current number of call stack levels to remove from depth display. <br /></td></tr>
<tr class="separator:a356df86455409193792b6ed550dfd09e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1c377a376e6772fe1746ff7147c125f"><td class="memItemLeft" align="right" valign="top"><a id="ab1c377a376e6772fe1746ff7147c125f"></a>
const std::map&lt; <a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a>, std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#ab1c377a376e6772fe1746ff7147c125f">_level_word</a></td></tr>
<tr class="memdesc:ab1c377a376e6772fe1746ff7147c125f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dictionary of level identifier to their string representation. <br /></td></tr>
<tr class="separator:ab1c377a376e6772fe1746ff7147c125f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd4625bf211bfbaa30d9c126fa3d7888"><td class="memItemLeft" align="right" valign="top"><a id="abd4625bf211bfbaa30d9c126fa3d7888"></a>
std::map&lt; std::string, <a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#abd4625bf211bfbaa30d9c126fa3d7888">_word_level</a></td></tr>
<tr class="memdesc:abd4625bf211bfbaa30d9c126fa3d7888"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dictionary of level string to their identifier. <br /></td></tr>
<tr class="separator:abd4625bf211bfbaa30d9c126fa3d7888"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab805ac5c33885459f9f752518a4aa735"><td class="memItemLeft" align="right" valign="top"><a id="ab805ac5c33885459f9f752518a4aa735"></a>
std::map&lt; <a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a>, <a class="el" href="classclutchlog_1_1fmt.html">fmt</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#ab805ac5c33885459f9f752518a4aa735">_level_fmt</a></td></tr>
<tr class="memdesc:ab805ac5c33885459f9f752518a4aa735"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dictionary of level identifier to their format. <br /></td></tr>
<tr class="separator:ab805ac5c33885459f9f752518a4aa735"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c6e3fc082bc6f55d50131ed2b32e81e"><td class="memItemLeft" align="right" valign="top"><a id="a7c6e3fc082bc6f55d50131ed2b32e81e"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a7c6e3fc082bc6f55d50131ed2b32e81e">_format_log</a></td></tr>
<tr class="memdesc:a7c6e3fc082bc6f55d50131ed2b32e81e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current format of the standard output. <br /></td></tr>
<tr class="separator:a7c6e3fc082bc6f55d50131ed2b32e81e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f4ddb57ce42e8be86a7c7d269f7bae5"><td class="memItemLeft" align="right" valign="top"><a id="a5f4ddb57ce42e8be86a7c7d269f7bae5"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a5f4ddb57ce42e8be86a7c7d269f7bae5">_format_dump</a></td></tr>
<tr class="memdesc:a5f4ddb57ce42e8be86a7c7d269f7bae5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current format of the file output. <br /></td></tr>
<tr class="separator:a5f4ddb57ce42e8be86a7c7d269f7bae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1896f6c4b8597e3e76ff93970bd85167"><td class="memItemLeft" align="right" valign="top"><a id="a1896f6c4b8597e3e76ff93970bd85167"></a>
std::ostream *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a1896f6c4b8597e3e76ff93970bd85167">_out</a></td></tr>
<tr class="memdesc:a1896f6c4b8597e3e76ff93970bd85167"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard output. <br /></td></tr>
<tr class="separator:a1896f6c4b8597e3e76ff93970bd85167"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb60684c89bcef5aa9273075c21cc993"><td class="memItemLeft" align="right" valign="top"><a id="aeb60684c89bcef5aa9273075c21cc993"></a>
<a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#aeb60684c89bcef5aa9273075c21cc993">_stage</a></td></tr>
<tr class="memdesc:aeb60684c89bcef5aa9273075c21cc993"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current log level. <br /></td></tr>
<tr class="separator:aeb60684c89bcef5aa9273075c21cc993"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aded03528f34d9000f618419c482c5042"><td class="memItemLeft" align="right" valign="top"><a id="aded03528f34d9000f618419c482c5042"></a>
std::regex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#aded03528f34d9000f618419c482c5042">_in_file</a></td></tr>
<tr class="memdesc:aded03528f34d9000f618419c482c5042"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current file location filter. <br /></td></tr>
<tr class="separator:aded03528f34d9000f618419c482c5042"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a130c4f12eacbd2028102838fe16b734e"><td class="memItemLeft" align="right" valign="top"><a id="a130c4f12eacbd2028102838fe16b734e"></a>
std::regex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a130c4f12eacbd2028102838fe16b734e">_in_func</a></td></tr>
<tr class="memdesc:a130c4f12eacbd2028102838fe16b734e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current function location filter. <br /></td></tr>
<tr class="separator:a130c4f12eacbd2028102838fe16b734e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41757198b29862832a14472a9e5e24c6"><td class="memItemLeft" align="right" valign="top"><a id="a41757198b29862832a14472a9e5e24c6"></a>
std::regex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#a41757198b29862832a14472a9e5e24c6">_in_line</a></td></tr>
<tr class="memdesc:a41757198b29862832a14472a9e5e24c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current line location filter. <br /></td></tr>
<tr class="separator:a41757198b29862832a14472a9e5e24c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0906d74275cedcd403da94879764815e"><td class="memItemLeft" align="right" valign="top"><a id="a0906d74275cedcd403da94879764815e"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>clutchlog</b> (<a class="el" href="classclutchlog.html">clutchlog</a> const &amp;)=delete</td></tr>
<tr class="separator:a0906d74275cedcd403da94879764815e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef653a9744a72a889ca8163269bb781e"><td class="memItemLeft" align="right" valign="top"><a id="aef653a9744a72a889ca8163269bb781e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classclutchlog.html">clutchlog</a> const &amp;)=delete</td></tr>
<tr class="separator:aef653a9744a72a889ca8163269bb781e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03b145e36f15435a640bb5a885d9f642"><td class="memItemLeft" align="right" valign="top"><a id="a03b145e36f15435a640bb5a885d9f642"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>clutchlog</b> ()</td></tr>
<tr class="separator:a03b145e36f15435a640bb5a885d9f642"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="acfaceb77da01503b432644a3efaee4fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acfaceb77da01503b432644a3efaee4fa">&#9670;&nbsp;</a></span>logger()</h2>
<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="classclutchlog.html">clutchlog</a>&amp; clutchlog::logger </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the logger instance. </p>
<div class="fragment"><div class="line"><span class="keyword">auto</span>&amp; <a class="code" href="classclutchlog.html#a23dbb98f0d3c5cc21c232cde16cf317a">log</a> = <a class="code" href="classclutchlog.html#acfaceb77da01503b432644a3efaee4fa">clutchlog::logger</a>();</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="clutchlog_8h_source.html#l00296">296</a> of file <a class="el" href="clutchlog_8h_source.html">clutchlog.h</a>.</p>
</div>
</div>
<a id="acebed8c9df9204f22bf8488e62e1cedd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acebed8c9df9204f22bf8488e62e1cedd">&#9670;&nbsp;</a></span>level_of()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a> clutchlog::level_of </td>
<td>(</td>
<td class="paramtype">const std::string&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></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>Return the log level tag corresponding to the given pre-configured name. </p>
<dl class="section note"><dt>Note</dt><dd>This is case sensitive, see the pre-configured <code>_level_word</code>. </dd></dl>
<p class="definition">Definition at line <a class="el" href="clutchlog_8h_source.html#l01002">1002</a> of file <a class="el" href="clutchlog_8h_source.html">clutchlog.h</a>.</p>
<p class="reference">References <a class="el" href="clutchlog_8h_source.html#l00883">_word_level</a>.</p>
<p class="reference">Referenced by <a class="el" href="clutchlog_8h_source.html#l00992">threshold()</a>.</p>
</div>
</div>
<a id="ac3ec55057b9c734b66f169bf43dbd591"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3ec55057b9c734b66f169bf43dbd591">&#9670;&nbsp;</a></span>style()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ... FMT&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void clutchlog::style </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a>&#160;</td>
<td class="paramname"><em>stage</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FMT...&#160;</td>
<td class="paramname"><em>styles</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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the style (color and typo) of the given log level. </p>
<p>This version accept style arguments as if they were passed to <code><a class="el" href="classclutchlog_1_1fmt.html" title="Color and style formatter for ANSI terminal escape sequences.">clutchlog::fmt</a></code>. </p>
<p class="definition">Definition at line <a class="el" href="clutchlog_8h_source.html#l01036">1036</a> of file <a class="el" href="clutchlog_8h_source.html">clutchlog.h</a>.</p>
<p class="reference">References <a class="el" href="clutchlog_8h_source.html#l01036">style()</a>.</p>
<p class="reference">Referenced by <a class="el" href="clutchlog_8h_source.html#l01036">style()</a>.</p>
</div>
</div>
<a id="a972f895c70edc335f3018a2c8971d59e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a972f895c70edc335f3018a2c8971d59e">&#9670;&nbsp;</a></span>replace()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string clutchlog::replace </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>form</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>mark</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>tag</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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Replace <code>mark</code> by <code>tag</code> in <code>form</code>. </p>
<div class="fragment"><div class="line"><a class="code" href="classclutchlog.html#a23dbb98f0d3c5cc21c232cde16cf317a">log</a>.replace(<span class="stringliteral">&quot;{greet} {world}&quot;</span>, <span class="stringliteral">&quot;\\{greet\\}&quot;</span>, <span class="stringliteral">&quot;hello&quot;</span>);</div>
<div class="line"><span class="comment">// returns &quot;hello {world}&quot;</span></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="clutchlog_8h_source.html#l01125">1125</a> of file <a class="el" href="clutchlog_8h_source.html">clutchlog.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="clutchlog_8h_source.html#l01312">dump()</a>, <a class="el" href="clutchlog_8h_source.html#l01201">format()</a>, and <a class="el" href="clutchlog_8h_source.html#l01190">replace()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="clutchlog_8h_source.html">clutchlog.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclassclutchlog_html_a23dbb98f0d3c5cc21c232cde16cf317a"><div class="ttname"><a href="classclutchlog.html#a23dbb98f0d3c5cc21c232cde16cf317a">clutchlog::log</a></div><div class="ttdeci">void log(const level &amp;stage, const std::string &amp;what, const std::string &amp;file, const std::string &amp;func, size_t line) const</div><div class="ttdoc">Print a log message IF the location matches the given one.</div><div class="ttdef"><b>Definition:</b> <a href="clutchlog_8h_source.html#l01287">clutchlog.h:1287</a></div></div>
<div class="ttc" id="aclassclutchlog_html_acfaceb77da01503b432644a3efaee4fa"><div class="ttname"><a href="classclutchlog.html#acfaceb77da01503b432644a3efaee4fa">clutchlog::logger</a></div><div class="ttdeci">static clutchlog &amp; logger()</div><div class="ttdoc">Get the logger instance.</div><div class="ttdef"><b>Definition:</b> <a href="clutchlog_8h_source.html#l00296">clutchlog.h:296</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classclutchlog.html">clutchlog</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>