fix(macros) scope leaks

- Fix macro scope leak: included in scope guards.
- Move default options as static class members.
- Adds tests to build_all.sh
- Use vanilla std::filesystem
This commit is contained in:
Johann Dreo 2022-08-29 09:09:23 +02:00
commit e35d118cdb
61 changed files with 1899 additions and 1533 deletions

View file

@ -83,38 +83,43 @@ $(function() {
<tr bgcolor="#f0f0f0"><td class="entry"><b>clutchlog</b>(clutchlog const &amp;)=delete (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>critical</b> enum value (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>debug</b> enum value (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classclutchlog.html#ae7edb2e14f3d55b201b834255aa4bce9">dump</a>(const level &amp;stage, const In container_begin, const In container_end, const std::string &amp;file, const std::string &amp;func, size_t line, const std::string &amp;filename_template=&quot;dump_{n}.dat&quot;, const std::string sep=CLUTCHDUMP_DEFAULT_SEP) const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>default_depth_mark</b> (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>default_format</b> (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="group__UseMacros.html#ga63308e8deae3cfec6801318203494143">dump</a>(const level &amp;stage, const In container_begin, const In container_end, const std::string &amp;file, const std::string &amp;func, size_t line, const std::string &amp;filename_template=&quot;dump_{n}.dat&quot;, const std::string sep=dump_default_sep) const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>dump_default_format</b> (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dump_default_sep</b> (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>error</b> enum value (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classclutchlog.html#a10064493c22f5c03b502a42d814c5c5c">file</a>(std::string file)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classclutchlog.html#a656c277e074b64728cca871f2b484d1c">format</a>(const std::string &amp;format)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classclutchlog.html#afc53dbca51d0e2322a21899d0c571a80">format</a>() const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classclutchlog.html#af1219599b1361562c802779572aa669f">format</a>(std::string format, const std::string &amp;what, const level &amp;stage, const std::string &amp;file, const std::string &amp;func, const size_t line) const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classclutchlog.html#a2144abe4ec6f630126b6490908b5f924">format_comment</a>(const std::string &amp;format)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classclutchlog.html#aa8d0a569ed3623ce36c5e567ec2d1ad5">format_comment</a>() const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classclutchlog.html#ad32b5a0274dc03ee0004f67ba58b2447">func</a>(std::string func)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="group__UseMacros.html#ga10064493c22f5c03b502a42d814c5c5c">file</a>(std::string file)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="group__UseMacros.html#ga656c277e074b64728cca871f2b484d1c">format</a>(const std::string &amp;format)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="group__UseMacros.html#gafc53dbca51d0e2322a21899d0c571a80">format</a>() const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="group__UseMacros.html#gaf1219599b1361562c802779572aa669f">format</a>(std::string format, const std::string &amp;what, const level &amp;stage, const std::string &amp;file, const std::string &amp;func, const size_t line) const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="group__UseMacros.html#ga2144abe4ec6f630126b6490908b5f924">format_comment</a>(const std::string &amp;format)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="group__UseMacros.html#gaa8d0a569ed3623ce36c5e567ec2d1ad5">format_comment</a>() const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="group__UseMacros.html#gad32b5a0274dc03ee0004f67ba58b2447">func</a>(std::string func)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>info</b> enum value (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classclutchlog.html#a10fd25a1b51c8c95bd6d876ce1b4b928">level</a> enum name</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classclutchlog.html#acebed8c9df9204f22bf8488e62e1cedd">level_of</a>(const std::string name)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classclutchlog.html#aa26c6b81ebaeb9e9daa3457e3a3d17c9">line</a>(std::string line)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classclutchlog.html#a4ebdfcded6c56262676bf6926d63fc96">locate</a>(const level &amp;stage, const std::string &amp;file, const std::string &amp;func, const size_t line) const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><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><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classclutchlog.html#a23dbb98f0d3c5cc21c232cde16cf317a">log</a>(const level &amp;stage, const std::string &amp;what, const std::string &amp;file, const std::string &amp;func, size_t line) const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classclutchlog.html#acfaceb77da01503b432644a3efaee4fa">logger</a>()</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="group__UseMacros.html#ga10fd25a1b51c8c95bd6d876ce1b4b928">level</a> enum name</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="group__UseMacros.html#gacebed8c9df9204f22bf8488e62e1cedd">level_of</a>(const std::string name)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="group__UseMacros.html#gaa26c6b81ebaeb9e9daa3457e3a3d17c9">line</a>(std::string line)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="group__UseMacros.html#ga4ebdfcded6c56262676bf6926d63fc96">locate</a>(const level &amp;stage, const std::string &amp;file, const std::string &amp;func, const size_t line) const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="group__UseMacros.html#ga6666106b9e5c239b6ae5e0d1091648e3">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><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="group__UseMacros.html#ga23dbb98f0d3c5cc21c232cde16cf317a">log</a>(const level &amp;stage, const std::string &amp;what, const std::string &amp;file, const std::string &amp;func, size_t line) const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="group__UseMacros.html#gacfaceb77da01503b432644a3efaee4fa">logger</a>()</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>max_buffer</b> (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>note</b> enum value (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(clutchlog const &amp;)=delete (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classclutchlog.html#a7fd7c7bd3668c537061c314a619a336d">out</a>(std::ostream &amp;out)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classclutchlog.html#a6c6ab42a1df147e6c2d115bc36ec8266">out</a>()</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="group__UseMacros.html#ga7fd7c7bd3668c537061c314a619a336d">out</a>(std::ostream &amp;out)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="group__UseMacros.html#ga6c6ab42a1df147e6c2d115bc36ec8266">out</a>()</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>progress</b> enum value (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"></td></tr>
<tr><td class="entry"><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><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><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><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classclutchlog.html#ac3ec55057b9c734b66f169bf43dbd591">style</a>(level stage, FMT... styles)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classclutchlog.html#ad1cfa9945c3f7f98fe8ce724c627d0d6">style</a>(level stage, fmt style)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classclutchlog.html#a4831f44fd5ade102e57320632095934d">style</a>(level stage) const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classclutchlog.html#a3cb0e4f43a4cadf1966001ad7c9861f4">threshold</a>(level l)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="classclutchlog.html#ab45287cc9c14217904a13aff49573732">threshold</a>() const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>warning</b> enum value (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>xdebug</b> enum value (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="group__UseMacros.html#ga972f895c70edc335f3018a2c8971d59e">replace</a>(const std::string &amp;form, const std::string &amp;mark, const std::string &amp;tag) const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="group__UseMacros.html#gae90d5a1a428587ad67b38b2ea4ca9fa2">replace</a>(const std::string &amp;form, const std::string &amp;mark, const size_t tag) const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>strip_calls</b> (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="group__UseMacros.html#gac3ec55057b9c734b66f169bf43dbd591">style</a>(level stage, FMT... styles)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="group__UseMacros.html#gad1cfa9945c3f7f98fe8ce724c627d0d6">style</a>(level stage, fmt style)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="group__UseMacros.html#ga4831f44fd5ade102e57320632095934d">style</a>(level stage) const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="group__UseMacros.html#ga3cb0e4f43a4cadf1966001ad7c9861f4">threshold</a>(level l)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="group__UseMacros.html#gab45287cc9c14217904a13aff49573732">threshold</a>() const</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>warning</b> enum value (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>xdebug</b> enum value (defined in <a class="el" href="classclutchlog.html">clutchlog</a>)</td><td class="entry"><a class="el" href="classclutchlog.html">clutchlog</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>