clutchlog/docs/classclutchlog.html
2021-12-19 08:32:51 +01:00

397 lines
34 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="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" />
</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">clutchlog
&#160;<span id="projectnumber">0.6.0</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>
<!-- 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><!-- top -->
<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">
<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="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. <br /></td></tr>
<tr class="separator:a3cb0e4f43a4cadf1966001ad7c9861f4"><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: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 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><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:af1219599b1361562c802779572aa669f"><td class="memItemLeft" align="right" valign="top"><a id="af1219599b1361562c802779572aa669f"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclutchlog.html#af1219599b1361562c802779572aa669f">format</a> (std::string format, 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:af1219599b1361562c802779572aa669f"><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:af1219599b1361562c802779572aa669f"><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:ae7edb2e14f3d55b201b834255aa4bce9"><td class="memTemplParams" colspan="2"><a id="ae7edb2e14f3d55b201b834255aa4bce9"></a>
template&lt;class In &gt; </td></tr>
<tr class="memitem:ae7edb2e14f3d55b201b834255aa4bce9"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classclutchlog.html#ae7edb2e14f3d55b201b834255aa4bce9">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="group__DefaultConfigMacros.html#ga54d29e956575e1c731eab5406135c5df">CLUTCHDUMP_DEFAULT_SEP</a>) const</td></tr>
<tr class="memdesc:ae7edb2e14f3d55b201b834255aa4bce9"><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:ae7edb2e14f3d55b201b834255aa4bce9"><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:a56ed762c056c5b1d0020863b11bd188e"><td class="memItemLeft" align="right" valign="top"><a id="a56ed762c056c5b1d0020863b11bd188e"></a>
const size_t&#160;</td><td class="memItemRight" valign="bottom"><b>_strip_calls</b></td></tr>
<tr class="separator:a56ed762c056c5b1d0020863b11bd188e"><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"><b>_level_word</b></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"><b>_word_level</b></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"><b>_level_fmt</b></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"><b>_format_log</b></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"><b>_format_dump</b></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"><b>_out</b></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"><b>_stage</b></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"><b>_in_file</b></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"><b>_in_func</b></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"><b>_in_line</b></td></tr>
<tr class="separator:a41757198b29862832a14472a9e5e24c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6a8aef8df1de520a42ee68ee756fbf3"><td class="memItemLeft" align="right" valign="top"><a id="ad6a8aef8df1de520a42ee68ee756fbf3"></a>
static const size_t&#160;</td><td class="memItemRight" valign="bottom"><b>max_buffer</b> = 4096</td></tr>
<tr class="separator:ad6a8aef8df1de520a42ee68ee756fbf3"><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>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<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>
</div>
</div>
<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 -->
</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 -->
</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>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>clutchlog/<a class="el" href="clutchlog_8h_source.html">clutchlog.h</a></li>
</ul>
</div><!-- contents -->
<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> clutchlog.h:678</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> clutchlog.h:202</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>