Commits

Danny Gratzer committed ce1b89e Draft

Updated documentationw

Comments (0)

Files changed (35)

docs/html/annotated.html

 <div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><table>
   <tr><td class="indexkey"><a class="el" href="classal_1_1cerr__handler.html">al::cerr_handler</a></td><td class="indexvalue">A simple handler, it prints all log entries to cerr </td></tr>
   <tr><td class="indexkey"><a class="el" href="classal_1_1end.html">al::end</a></td><td class="indexvalue">A simple empty class that should be used to signal the end of a log entry </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classal_1_1file__handler.html">al::file_handler</a></td><td class="indexvalue">The classic file logger, based on std::ofstream </td></tr>
   <tr><td class="indexkey"><a class="el" href="classal_1_1handler.html">al::handler</a></td><td class="indexvalue">An abstract base class for all handler classes </td></tr>
   <tr><td class="indexkey"><a class="el" href="classal_1_1logger.html">al::logger</a></td><td class="indexvalue">Logger is a class which accepts log messages with the &lt;&lt; operator or through a member function called log. It then passes the message off to its predetermined handlers </td></tr>
   <tr><td class="indexkey"><a class="el" href="classal_1_1logger__creator.html">al::logger_creator</a></td><td class="indexvalue">This class should be used to specify the settings of a logger or loggers and then to generate them </td></tr>
+  <tr><td class="indexkey"><a class="el" href="classal_1_1memory__handler.html">al::memory_handler</a></td><td class="indexvalue">An in memory handler that flushes its entries to a specified handler on its destruction </td></tr>
 </table>
 </div><!-- contents -->
 <!-- window showing the filter options -->
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/cerr__handler_8hpp_source.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/classal_1_1cerr__handler-members.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/classal_1_1cerr__handler.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/classal_1_1end.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/classal_1_1handler-members.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/classal_1_1handler.html

  <div class="center">
   <img src="classal_1_1handler.png" usemap="#al::handler_map" alt=""/>
   <map id="al::handler_map" name="al::handler_map">
-<area href="classal_1_1cerr__handler.html" title="A simple handler, it prints all log entries to cerr." alt="al::cerr_handler" shape="rect" coords="0,56,102,80"/>
+<area href="classal_1_1cerr__handler.html" title="A simple handler, it prints all log entries to cerr." alt="al::cerr_handler" shape="rect" coords="0,56,122,80"/>
+<area href="classal_1_1file__handler.html" title="The classic file logger, based on std::ofstream." alt="al::file_handler" shape="rect" coords="132,56,254,80"/>
+<area href="classal_1_1memory__handler.html" title="An in memory handler that flushes its entries to a specified handler on its destruction." alt="al::memory_handler" shape="rect" coords="264,56,386,80"/>
 </map>
  </div></div>
 
   </dd>
 </dl>
 
+<p>Implemented in <a class="el" href="classal_1_1memory__handler.html#ac7d78c5cee952f2934b12e26f4f271eb">al::memory_handler</a>, and <a class="el" href="classal_1_1file__handler.html#a5de57304a22107e403c1ac917001da38">al::file_handler</a>.</p>
+
 </div>
 </div>
 <hr/>The documentation for this class was generated from the following file:<ul>
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/classal_1_1handler.png

Old
Old image
New
New image

docs/html/classal_1_1logger-members.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/classal_1_1logger.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/classal_1_1logger__creator-members.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/classal_1_1logger__creator.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/classes.html

 <div class="title">Class Index</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="qindex"><a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a></div>
+<div class="qindex"><a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a></div>
 <table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
 <tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;C&#160;&#160;</div></td></tr></table>
-</td><td rowspan="2" valign="bottom"><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;E&#160;&#160;</div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;L&#160;&#160;</div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr></table>
+</td></tr>
+<tr></tr>
+<tr><td valign="top"><a class="el" href="classal_1_1cerr__handler.html">cerr_handler</a> (al)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classal_1_1file__handler.html">file_handler</a> (al)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classal_1_1logger.html">logger</a> (al)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classal_1_1memory__handler.html">memory_handler</a> (al)&#160;&#160;&#160;</td></tr>
+<tr><td rowspan="2" valign="bottom"><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;E&#160;&#160;</div></td></tr></table>
 </td><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;H&#160;&#160;</div></td></tr></table>
-</td><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;L&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classal_1_1logger__creator.html">logger_creator</a> (al)&#160;&#160;&#160;</td></tr>
-<tr><td></td></tr>
-<tr><td valign="top"><a class="el" href="classal_1_1cerr__handler.html">cerr_handler</a> (al)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classal_1_1end.html">end</a> (al)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classal_1_1handler.html">handler</a> (al)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classal_1_1logger.html">logger</a> (al)&#160;&#160;&#160;</td><td></td></tr>
-<tr><td></td><td></td><td></td><td></td><td></td></tr>
+</td><td valign="top"><a class="el" href="classal_1_1logger__creator.html">logger_creator</a> (al)&#160;&#160;&#160;</td><td></td></tr>
+<tr><td></td><td></td></tr>
+<tr><td valign="top"><a class="el" href="classal_1_1end.html">end</a> (al)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classal_1_1handler.html">handler</a> (al)&#160;&#160;&#160;</td><td></td><td></td></tr>
+<tr><td></td><td></td><td></td><td></td></tr>
 </table>
-<div class="qindex"><a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a></div>
+<div class="qindex"><a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a></div>
 </div><!-- contents -->
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/files.html

   <tr><td class="indexkey">src/<b>logger.hpp</b> <a href="logger_8hpp_source.html">[code]</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">src/<b>logger_creator.hpp</b> <a href="logger__creator_8hpp_source.html">[code]</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">src/handlers/<b>cerr_handler.hpp</b> <a href="cerr__handler_8hpp_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">src/handlers/<b>file_handler.hpp</b> <a href="file__handler_8hpp_source.html">[code]</a></td><td class="indexvalue"></td></tr>
   <tr><td class="indexkey">src/handlers/<b>handler.hpp</b> <a href="handler_8hpp_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+  <tr><td class="indexkey">src/handlers/<b>memory_handler.hpp</b> <a href="memory__handler_8hpp_source.html">[code]</a></td><td class="indexvalue"></td></tr>
 </table>
 </div><!-- contents -->
 <!-- window showing the filter options -->
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/functions.html

 <li>add_handler()
 : <a class="el" href="classal_1_1logger__creator.html#a4d321e8c955dcef2f66c349146011af9">al::logger_creator</a>
 </li>
+<li>file_handler()
+: <a class="el" href="classal_1_1file__handler.html#a77f69cc57230734c01c160989c0e3664">al::file_handler</a>
+</li>
 <li>handle()
-: <a class="el" href="classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe">al::handler</a>
+: <a class="el" href="classal_1_1file__handler.html#a5de57304a22107e403c1ac917001da38">al::file_handler</a>
+, <a class="el" href="classal_1_1memory__handler.html#ac7d78c5cee952f2934b12e26f4f271eb">al::memory_handler</a>
+, <a class="el" href="classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe">al::handler</a>
 </li>
 <li>log()
 : <a class="el" href="classal_1_1logger.html#a4b0997a0f58aa36f7bb3e18826f3bf19">al::logger</a>
 <li>logger_creator()
 : <a class="el" href="classal_1_1logger__creator.html#aa09b2da8d857d2dd0757090a6e94b27e">al::logger_creator</a>
 </li>
+<li>memory_handler()
+: <a class="el" href="classal_1_1memory__handler.html#a74331eb896c73e46e9d8da1ab8443b32">al::memory_handler</a>
+</li>
 <li>operator&lt;&lt;()
 : <a class="el" href="classal_1_1logger.html#aa95776ee6cf9af0a50ad12da5670f28f">al::logger</a>
 </li>
 <li>spawn()
 : <a class="el" href="classal_1_1logger__creator.html#a0053f184b8c9b376d704201f7e3bb247">al::logger_creator</a>
 </li>
+<li>~memory_handler()
+: <a class="el" href="classal_1_1memory__handler.html#a09887d99cbdaea2db862a92b9d1edd7c">al::memory_handler</a>
+</li>
 </ul>
 </div><!-- contents -->
 <!-- window showing the filter options -->
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/functions_func.html

 <li>add_handler()
 : <a class="el" href="classal_1_1logger__creator.html#a4d321e8c955dcef2f66c349146011af9">al::logger_creator</a>
 </li>
+<li>file_handler()
+: <a class="el" href="classal_1_1file__handler.html#a77f69cc57230734c01c160989c0e3664">al::file_handler</a>
+</li>
 <li>handle()
-: <a class="el" href="classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe">al::handler</a>
+: <a class="el" href="classal_1_1file__handler.html#a5de57304a22107e403c1ac917001da38">al::file_handler</a>
+, <a class="el" href="classal_1_1memory__handler.html#ac7d78c5cee952f2934b12e26f4f271eb">al::memory_handler</a>
+, <a class="el" href="classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe">al::handler</a>
 </li>
 <li>log()
 : <a class="el" href="classal_1_1logger.html#a4b0997a0f58aa36f7bb3e18826f3bf19">al::logger</a>
 <li>logger_creator()
 : <a class="el" href="classal_1_1logger__creator.html#aa09b2da8d857d2dd0757090a6e94b27e">al::logger_creator</a>
 </li>
+<li>memory_handler()
+: <a class="el" href="classal_1_1memory__handler.html#a74331eb896c73e46e9d8da1ab8443b32">al::memory_handler</a>
+</li>
 <li>operator&lt;&lt;()
 : <a class="el" href="classal_1_1logger.html#aa95776ee6cf9af0a50ad12da5670f28f">al::logger</a>
 </li>
 <li>spawn()
 : <a class="el" href="classal_1_1logger__creator.html#a0053f184b8c9b376d704201f7e3bb247">al::logger_creator</a>
 </li>
+<li>~memory_handler()
+: <a class="el" href="classal_1_1memory__handler.html#a09887d99cbdaea2db862a92b9d1edd7c">al::memory_handler</a>
+</li>
 </ul>
 </div><!-- contents -->
 <!-- window showing the filter options -->
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/handler_8hpp_source.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/hierarchy.html

 <li><a class="el" href="classal_1_1end.html">al::end</a></li>
 <li><a class="el" href="classal_1_1handler.html">al::handler</a><ul>
 <li><a class="el" href="classal_1_1cerr__handler.html">al::cerr_handler</a></li>
+<li><a class="el" href="classal_1_1file__handler.html">al::file_handler</a></li>
+<li><a class="el" href="classal_1_1memory__handler.html">al::memory_handler</a></li>
 </ul>
 </li>
 <li><a class="el" href="classal_1_1logger.html">al::logger</a></li>
 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/index.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/levels_8hpp_source.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/logger_8hpp_source.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/logger__creator_8hpp_source.html

 
 
 <hr class="footer"/><address class="footer"><small>
-Generated on Sat Nov 10 2012 04:04:57 for Al by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sat Nov 10 2012 14:13:31 for Al by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.7.6.1
 </small></address>

docs/html/search/all_68.js

 var searchData=
 [
-  ['handle',['handle',['../classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe',1,'al::handler']]],
+  ['handle',['handle',['../classal_1_1file__handler.html#a5de57304a22107e403c1ac917001da38',1,'al::file_handler::handle()'],['../classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe',1,'al::handler::handle()'],['../classal_1_1memory__handler.html#ac7d78c5cee952f2934b12e26f4f271eb',1,'al::memory_handler::handle()']]],
   ['handler',['handler',['../classal_1_1handler.html',1,'al']]]
 ];

docs/html/search/functions_68.js

 var searchData=
 [
-  ['handle',['handle',['../classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe',1,'al::handler']]]
+  ['handle',['handle',['../classal_1_1file__handler.html#a5de57304a22107e403c1ac917001da38',1,'al::file_handler::handle()'],['../classal_1_1handler.html#a29a3fb2757d02ed144cb71166aad1dfe',1,'al::handler::handle()'],['../classal_1_1memory__handler.html#ac7d78c5cee952f2934b12e26f4f271eb',1,'al::memory_handler::handle()']]]
 ];

docs/html/search/search.js

 
 var indexSectionsWithContent =
 {
-  0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010010001001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-  1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010010001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-  2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000010001001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+  0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101011010001101000100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+  1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001011010001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+  2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001010001101000100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
 };
 
 var indexSectionNames =

docs/latex/annotated.tex

 \-Here are the classes, structs, unions and interfaces with brief descriptions\-:\begin{DoxyCompactList}
 \item\contentsline{section}{\hyperlink{classal_1_1cerr__handler}{al\-::cerr\-\_\-handler} \\*\-A simple handler, it prints all log entries to cerr }{\pageref{classal_1_1cerr__handler}}{}
 \item\contentsline{section}{\hyperlink{classal_1_1end}{al\-::end} \\*\-A simple empty class that should be used to signal the end of a log entry }{\pageref{classal_1_1end}}{}
+\item\contentsline{section}{\hyperlink{classal_1_1file__handler}{al\-::file\-\_\-handler} \\*\-The classic file logger, based on std\-::ofstream }{\pageref{classal_1_1file__handler}}{}
 \item\contentsline{section}{\hyperlink{classal_1_1handler}{al\-::handler} \\*\-An abstract base class for all handler classes }{\pageref{classal_1_1handler}}{}
 \item\contentsline{section}{\hyperlink{classal_1_1logger}{al\-::logger} \\*\-Logger is a class which accepts log messages with the $<$$<$ operator or through a member function called log. \-It then passes the message off to its predetermined handlers }{\pageref{classal_1_1logger}}{}
 \item\contentsline{section}{\hyperlink{classal_1_1logger__creator}{al\-::logger\-\_\-creator} \\*\-This class should be used to specify the settings of a logger or loggers and then to generate them }{\pageref{classal_1_1logger__creator}}{}
+\item\contentsline{section}{\hyperlink{classal_1_1memory__handler}{al\-::memory\-\_\-handler} \\*\-An in memory handler that flushes its entries to a specified handler on its destruction }{\pageref{classal_1_1memory__handler}}{}
 \end{DoxyCompactList}

docs/latex/classal_1_1cerr__handler.pdf

Binary file modified.

docs/latex/classal_1_1handler.eps

 %%For: 
 %Magnification: 1.00
 %%Orientation: Portrait
-%%BoundingBox: 0 0 500 363.636364
+%%BoundingBox: 0 0 500 102.564103
 %%Pages: 0
 %%BeginSetup
 %%EndSetup
 /marginwidth 10 def
 /distx 20 def
 /disty 40 def
-/boundaspect 1.375000 def  % aspect ratio of the BoundingBox (width/height)
+/boundaspect 4.875000 def  % aspect ratio of the BoundingBox (width/height)
 /boundx 500 def
 /boundy boundx boundaspect div def
 /xspacing 0 def
 /yspacing 0 def
 /rows 2 def
-/cols 1 def
+/cols 3 def
 /scalefactor 0 def
 /boxfont /Times-Roman findfont fontheight scalefont def
 
 1 boundaspect scale
 (al::handler) cw
 (al::cerr_handler) cw
+(al::file_handler) cw
+(al::memory_handler) cw
 /boxwidth boxwidth marginwidth 2 mul add def
 /xspacing boxwidth distx add def
 /yspacing boxheight disty add def
 
 % ----- classes -----
 
- (al::handler) 0.000000 1.000000 box
+ (al::handler) 1.000000 1.000000 box
  (al::cerr_handler) 0.000000 0.000000 box
+ (al::file_handler) 1.000000 0.000000 box
+ (al::memory_handler) 2.000000 0.000000 box
 
 % ----- relations -----
 
 solid
-1 0.000000 0.250000 out
+1 1.000000 0.250000 out
+solid
+0.000000 2.000000 1.000000 conn
 solid
 0 0.000000 0.750000 in
+solid
+0 1.000000 0.750000 in
+solid
+0 2.000000 0.750000 in

docs/latex/classal_1_1handler.pdf

Binary file modified.

docs/latex/classal_1_1handler.tex

 \end{DoxyParams}
 
 
+\-Implemented in \hyperlink{classal_1_1memory__handler_ac7d78c5cee952f2934b12e26f4f271eb}{al\-::memory\-\_\-handler}, and \hyperlink{classal_1_1file__handler_a5de57304a22107e403c1ac917001da38}{al\-::file\-\_\-handler}.
+
+
+
 \-The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
 \item 
 src/handlers/handler.\-hpp\end{DoxyCompactItemize}

docs/latex/doxygen.sty

 \fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
 \fancyfoot[LE]{\fancyplain{}{}}
 \fancyfoot[CE]{\fancyplain{}{}}
-\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize \-Generated on \-Sat \-Nov 10 2012 04\-:04\-:57 for \-Al by Doxygen }}
-\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize \-Generated on \-Sat \-Nov 10 2012 04\-:04\-:57 for \-Al by Doxygen }}
+\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize \-Generated on \-Sat \-Nov 10 2012 14\-:13\-:31 for \-Al by Doxygen }}
+\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize \-Generated on \-Sat \-Nov 10 2012 14\-:13\-:31 for \-Al by Doxygen }}
 \fancyfoot[CO]{\fancyplain{}{}}
 \fancyfoot[RO]{\fancyplain{}{}}
 %---------- Internal commands used in this style file ----------------

docs/latex/hierarchy.tex

 \item \contentsline{section}{al\-:\-:handler}{\pageref{classal_1_1handler}}{}
 \begin{DoxyCompactList}
 \item \contentsline{section}{al\-:\-:cerr\-\_\-handler}{\pageref{classal_1_1cerr__handler}}{}
+\item \contentsline{section}{al\-:\-:file\-\_\-handler}{\pageref{classal_1_1file__handler}}{}
+\item \contentsline{section}{al\-:\-:memory\-\_\-handler}{\pageref{classal_1_1memory__handler}}{}
 \end{DoxyCompactList}
 \item \contentsline{section}{al\-:\-:logger}{\pageref{classal_1_1logger}}{}
 \item \contentsline{section}{al\-:\-:logger\-\_\-creator}{\pageref{classal_1_1logger__creator}}{}

docs/latex/refman.tex

 \vspace*{1cm}
 {\large \-Generated by Doxygen 1.7.6.1}\\
 \vspace*{0.5cm}
-{\small Sat Nov 10 2012 04:04:57}\\
+{\small Sat Nov 10 2012 14:13:31}\\
 \end{center}
 \end{titlepage}
 \clearemptydoublepage
 \chapter{\-Class \-Documentation}
 \input{classal_1_1cerr__handler}
 \input{classal_1_1end}
+\input{classal_1_1file__handler}
 \input{classal_1_1handler}
 \input{classal_1_1logger}
 \input{classal_1_1logger__creator}
+\input{classal_1_1memory__handler}
 \printindex
 \end{document}

docs/rtf/classal_1_1handler.png

Old
Old image
New
New image

docs/rtf/refman.rtf

Binary file modified.
 0.1 \par
 }}Al}
 {\comment Generated byDoxgyen. }
-{\creatim \yr2012\mo11\dy10\hr4\min4\sec57}
+{\creatim \yr2012\mo11\dy10\hr14\min13\sec31}
 }\pard\plain 
 \sectd\pgnlcrm
 {\footer \s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid {\chpgn}}
 {
 \par
 \pard\plain \s71\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid 
-al::end\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAE \\*MERGEFORMAT}{\fldrslt pagenum}}
+al::end\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAL \\*MERGEFORMAT}{\fldrslt pagenum}}
 \par
-al::handler\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAB \\*MERGEFORMAT}{\fldrslt pagenum}}
+al::handler\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAF \\*MERGEFORMAT}{\fldrslt pagenum}}
 {
 \par
 \pard\plain \s72\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid 
 al::cerr_handler\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAA \\*MERGEFORMAT}{\fldrslt pagenum}}
 \par
+al::file_handler\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAB \\*MERGEFORMAT}{\fldrslt pagenum}}
+\par
+al::memory_handler\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAI \\*MERGEFORMAT}{\fldrslt pagenum}}
+\par
 }\par
-al::logger\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAF \\*MERGEFORMAT}{\fldrslt pagenum}}
+al::logger\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAM \\*MERGEFORMAT}{\fldrslt pagenum}}
 \par
-al::logger_creator\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAL \\*MERGEFORMAT}{\fldrslt pagenum}}
+al::logger_creator\tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAS \\*MERGEFORMAT}{\fldrslt pagenum}}
 \par
 }
 \pard\plain \sect\sbkpage
 A simple handler, it prints all log entries to cerr })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAA \\*MERGEFORMAT}{\fldrslt pagenum}}
 \par
 {\b {\b al::end} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
-A simple empty class that should be used to signal the end of a log entry })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAE \\*MERGEFORMAT}{\fldrslt pagenum}}
+A simple empty class that should be used to signal the end of a log entry })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAL \\*MERGEFORMAT}{\fldrslt pagenum}}
+\par
+{\b {\b al::file_handler} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
+The classic file logger, based on std::ofstream })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAB \\*MERGEFORMAT}{\fldrslt pagenum}}
 \par
 {\b {\b al::handler} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
-An abstract base class for all handler classes })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAB \\*MERGEFORMAT}{\fldrslt pagenum}}
+An abstract base class for all handler classes })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAF \\*MERGEFORMAT}{\fldrslt pagenum}}
 \par
 {\b {\b al::logger} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
-Logger is a class which accepts log messages with the << operator or through a member function called log. It then passes the message off to its predetermined handlers })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAF \\*MERGEFORMAT}{\fldrslt pagenum}}
+Logger is a class which accepts log messages with the << operator or through a member function called log. It then passes the message off to its predetermined handlers })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAM \\*MERGEFORMAT}{\fldrslt pagenum}}
 \par
 {\b {\b al::logger_creator} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
-This class should be used to specify the settings of a logger or loggers and then to generate them })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAL \\*MERGEFORMAT}{\fldrslt pagenum}}
+This class should be used to specify the settings of a logger or loggers and then to generate them })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAS \\*MERGEFORMAT}{\fldrslt pagenum}}
+\par
+{\b {\b al::memory_handler} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
+An in memory handler that flushes its entries to a specified handler on its destruction })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAI \\*MERGEFORMAT}{\fldrslt pagenum}}
 \par
 \par}
 \pard\plain \sect\sbkpage
 al::end Class Reference\par \pard\plain 
 {\tc\tcl2 \v al::end}
 {\xe \v al::end}
-{\bkmkstart AAAAAAAAAE}
-{\bkmkend AAAAAAAAAE}
+{\bkmkstart AAAAAAAAAL}
+{\bkmkend AAAAAAAAAL}
 \par
 {
 {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
 \pard\plain \sect\sbkpage
 \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
 \pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
+al::file_handler Class Reference\par \pard\plain 
+{\tc\tcl2 \v al::file_handler}
+{\xe \v al::file_handler}
+{\bkmkstart AAAAAAAAAB}
+{\bkmkend AAAAAAAAAB}
+\par
+{
+{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
+The classic file logger, based on std::ofstream. }}\par
+{
+{\f2 #include <file_handler.hpp>}}\par
+Inheritance diagram for al::file_handler:{
+\pard\plain 
+\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classal_1_1file__handler.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
+}
+\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
+Public Member Functions\par
+\pard\plain 
+
+{
+\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
+{\b file_handler} (const std::string &file)\par
+\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
+void {\b handle} (level, const std::string &, const std::string &)\par
+}
+{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
+\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
+Detailed Description\par
+\pard\plain 
+{
+\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
+The classic file logger, based on std::ofstream. \par
+}
+
+{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
+{\b file_handler} \par
+}}
+{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
+\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
+Constructor & Destructor Documentation\par
+\pard\plain 
+{\xe \v file_handler\:al::file_handler}
+{\xe \v al::file_handler\:file_handler}
+\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
+{\b 
+{\b file_handler::file_handler} (const std::string & {\i file})}}
+\par
+{\bkmkstart AAAAAAAAAC}
+{\bkmkend AAAAAAAAAC}
+{
+\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
+{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
+{\par
+{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
+Parameters:\par}
+\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 
+\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
+\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
+\pard \widctlpar\intbl\adjustright
+{{\i file} \cell }{The file name for the log file. \cell }
+{\row }
+}
+{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
+Exceptions:\par}
+\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 
+\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
+\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
+\pard \widctlpar\intbl\adjustright
+{{\i std::runtime_error} \cell }{If the file is unable to be opened. \cell }
+{\row }
+}
+}}
+{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
+\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
+Member Function Documentation\par
+\pard\plain 
+{\xe \v handle\:al::file_handler}
+{\xe \v al::file_handler\:handle}
+\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
+{\b 
+void {\b file_handler::handle} (level {\i l}, const std::string & {\i name}, const std::string & {\i message}){\f2  [virtual]}}}
+\par
+{\bkmkstart AAAAAAAAAD}
+{\bkmkend AAAAAAAAAD}
+{
+\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
+{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
+Prints the message to the log file in csv form.\par
+"level,name,message" \par
+}{
+Implements {\b al::handler} ({\i p.{\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAE \\*MERGEFORMAT}{\fldrslt pagenum}}}).}\par
+}
+{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
+The documentation for this class was generated from the following files:{\par
+\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid 
+src/handlers/file_handler.hpp\par
+\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid 
+src/handlers/file_handler.cpp\par
+}\par \pard\plain 
+
+\pard\plain \sect\sbkpage
+\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
+\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
 al::handler Class Reference\par \pard\plain 
 {\tc\tcl2 \v al::handler}
 {\xe \v al::handler}
-{\bkmkstart AAAAAAAAAB}
-{\bkmkend AAAAAAAAAB}
+{\bkmkstart AAAAAAAAAF}
+{\bkmkend AAAAAAAAAF}
 \par
 {
 {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
 {
 \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
 
-virtual std::string {\b to_string} (level l){\bkmkstart AAAAAAAAAC}
-{\bkmkend AAAAAAAAAC}
+virtual std::string {\b to_string} (level l){\bkmkstart AAAAAAAAAG}
+{\bkmkend AAAAAAAAAG}
 \par
 }
 {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
 {\b 
 virtual void {\b al::handler::handle} (level {\i l}, const std::string & {\i name}, const std::string & {\i message}){\f2  [pure virtual]}}}
 \par
-{\bkmkstart AAAAAAAAAD}
-{\bkmkend AAAAAAAAAD}
+{\bkmkstart AAAAAAAAAE}
+{\bkmkend AAAAAAAAAE}
 {
 \pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
 {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
 {{\i message} \cell }{The actual text of the entry \cell }
 {\row }
 }
-}}
+}{
+Implemented in {\b al::memory_handler} ({\i p.{\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAH \\*MERGEFORMAT}{\fldrslt pagenum}}}), and {\b al::file_handler} ({\i p.{\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAD \\*MERGEFORMAT}{\fldrslt pagenum}}}).}\par
+}
 {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
 The documentation for this class was generated from the following file:{\par
 \pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid 
 al::logger Class Reference\par \pard\plain 
 {\tc\tcl2 \v al::logger}
 {\xe \v al::logger}
-{\bkmkstart AAAAAAAAAF}
-{\bkmkend AAAAAAAAAF}
+{\bkmkstart AAAAAAAAAM}
+{\bkmkend AAAAAAAAAM}
 \par
 {
 {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
 {\b 
 {\b al::logger::logger} (const std::list< std::shared_ptr< {\b handler} >> & {\i handlers}, level {\i ignore}, const std::string & {\i logger_name}){\f2  [inline]}}}
 \par
-{\bkmkstart AAAAAAAAAG}
-{\bkmkend AAAAAAAAAG}
+{\bkmkstart AAAAAAAAAN}
+{\bkmkend AAAAAAAAAN}
 {
 \pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
 {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
 {\b 
 void {\b logger::log} (level {\i l}, const std::string & {\i message})}}
 \par
-{\bkmkstart AAAAAAAAAH}
-{\bkmkend AAAAAAAAAH}
+{\bkmkstart AAAAAAAAAO}
+{\bkmkend AAAAAAAAAO}
 {
 \pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
 {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
 {\b 
 {\b logger} & logger::operator<< (level {\i l})}}
 \par
-{\bkmkstart AAAAAAAAAI}
-{\bkmkend AAAAAAAAAI}
+{\bkmkstart AAAAAAAAAP}
+{\bkmkend AAAAAAAAAP}
 {
 \pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
 {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
 {\b 
 {\b logger} & logger::operator<< (const std::string & {\i input})}}
 \par
-{\bkmkstart AAAAAAAAAJ}
-{\bkmkend AAAAAAAAAJ}
+{\bkmkstart AAAAAAAAAQ}
+{\bkmkend AAAAAAAAAQ}
 {
 \pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
 {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
 {\b 
 {\b logger} & logger::operator<< ({\b end} )}}
 \par
-{\bkmkstart AAAAAAAAAK}
-{\bkmkend AAAAAAAAAK}
+{\bkmkstart AAAAAAAAAR}
+{\bkmkend AAAAAAAAAR}
 {
 \pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
 {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
 al::logger_creator Class Reference\par \pard\plain 
 {\tc\tcl2 \v al::logger_creator}
 {\xe \v al::logger_creator}
-{\bkmkstart AAAAAAAAAL}
-{\bkmkend AAAAAAAAAL}
+{\bkmkstart AAAAAAAAAS}
+{\bkmkend AAAAAAAAAS}
 \par
 {
 {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
 \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
 
 std::list< std::shared_ptr\par
-< {\b handler} > > {\b handler_list}{\bkmkstart AAAAAAAAAM}
-{\bkmkend AAAAAAAAAM}
+< {\b handler} > > {\b handler_list}{\bkmkstart AAAAAAAAAT}
+{\bkmkend AAAAAAAAAT}
 \par
 \pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
 
-level {\b ignore_level}{\bkmkstart AAAAAAAAAN}
-{\bkmkend AAAAAAAAAN}
+level {\b ignore_level}{\bkmkstart AAAAAAAAAU}
+{\bkmkend AAAAAAAAAU}
 \par
 }
 {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
 {\b 
 {\b al::logger_creator::logger_creator} (){\f2  [inline]}}}
 \par
-{\bkmkstart AAAAAAAAAO}
-{\bkmkend AAAAAAAAAO}
+{\bkmkstart AAAAAAAAAV}
+{\bkmkend AAAAAAAAAV}
 {
 \pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
 {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
 {\b 
 {\b logger_creator}& {\b al::logger_creator::add_handler} (const std::shared_ptr< {\b handler} > & {\i new_handler}){\f2  [inline]}}}
 \par
-{\bkmkstart AAAAAAAAAP}
-{\bkmkend AAAAAAAAAP}
+{\bkmkstart AAAAAAAAAW}
+{\bkmkend AAAAAAAAAW}
 {
 \pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
 {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
 {\b 
 {\b logger_creator}& {\b al::logger_creator::set_ignore} (const level & {\i l}){\f2  [inline]}}}
 \par
-{\bkmkstart AAAAAAAAAQ}
-{\bkmkend AAAAAAAAAQ}
+{\bkmkstart AAAAAAAAAX}
+{\bkmkend AAAAAAAAAX}
 {
 \pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
 {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
 {\b 
 {\b logger} {\b al::logger_creator::spawn} (const std::string & {\i name}){\f2  [inline]}}}
 \par
-{\bkmkstart AAAAAAAAAR}
-{\bkmkend AAAAAAAAAR}
+{\bkmkstart AAAAAAAAAY}
+{\bkmkend AAAAAAAAAY}
 {
 \pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
 {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
 The documentation for this class was generated from the following file:{\par
 \pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid 
 src/logger_creator.hpp\par
+}\par \pard\plain 
+
+\pard\plain \sect\sbkpage
+\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
+\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
+al::memory_handler Class Reference\par \pard\plain 
+{\tc\tcl2 \v al::memory_handler}
+{\xe \v al::memory_handler}
+{\bkmkstart AAAAAAAAAI}
+{\bkmkend AAAAAAAAAI}
+\par
+{
+{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
+An in memory handler that flushes its entries to a specified handler on its destruction. }}\par
+{
+{\f2 #include <memory_handler.hpp>}}\par
+Inheritance diagram for al::memory_handler:{
+\pard\plain 
+\par\pard \qc {\field\flddirty {\*\fldinst INCLUDEPICTURE "classal_1_1memory__handler.png" \\d \\*MERGEFORMAT}{\fldrslt IMAGE}}\par
+}
+\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
+Classes\par
+\pard\plain 
+
+{
+\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
+struct {\b log_entry}\par
+}
+\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
+Public Member Functions\par
+\pard\plain 
+
+{
+\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
+{\b memory_handler} (size_t bsize, std::shared_ptr< {\b handler} > exit)\par
+\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
+void {\b handle} (level, const std::string &, const std::string &)\par
+\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
+{\b ~memory_handler} ()\par
+}
+{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
+\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
+Detailed Description\par
+\pard\plain 
+{
+\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
+An in memory handler that flushes its entries to a specified handler on its destruction. \par
+}
+
+{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
+{\b memory_handler} \par
+}}
+{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
+\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
+Constructor & Destructor Documentation\par
+\pard\plain 
+{\xe \v memory_handler\:al::memory_handler}
+{\xe \v al::memory_handler\:memory_handler}
+\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
+{\b 
+{\b memory_handler::memory_handler} (size_t {\i bsize}, std::shared_ptr< {\b handler} > {\i exit})}}
+\par
+{\bkmkstart AAAAAAAAAJ}
+{\bkmkend AAAAAAAAAJ}
+{
+\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
+{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
+{\par
+{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
+Parameters:\par}
+\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid \trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 
+\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
+\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
+\pard \widctlpar\intbl\adjustright
+{{\i bsize} \cell }{The maximum number of entries to store in memory. \cell }
+{\row }
+\trowd \trgaph108\trleft426\tblind426\trbrdrt\brdrs\brdrw10\brdrcf15 \trbrdrl\brdrs\brdrw10\brdrcf15 \trbrdrb\brdrs\brdrw10\brdrcf15 \trbrdrr\brdrs\brdrw10\brdrcf15 \trbrdrh\brdrs\brdrw10\brdrcf15 \trbrdrv\brdrs\brdrw10\brdrcf15 
+\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx2187
+\clvertalt\clbrdrt\brdrs\brdrw10\brdrcf15 \clbrdrl\brdrs\brdrw10\brdrcf15 \clbrdrb\brdrs\brdrw10\brdrcf15 \clbrdrr \brdrs\brdrw10\brdrcf15 \cltxlrtb \cellx8748
+\pard \widctlpar\intbl\adjustright
+{{\i exit} \cell }{The handler which should be invoked on this objects destruction. \cell }
+{\row }
+}
+}}
+{\xe \v ~memory_handler\:al::memory_handler}
+{\xe \v al::memory_handler\:~memory_handler}
+\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
+{\b 
+{\b memory_handler::~memory_handler} ()}}
+\par
+{\bkmkstart AAAAAAAAAK}
+{\bkmkend AAAAAAAAAK}
+{
+\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
+{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
+Passes every entry in the buffer to the specified handler.\par
+If an exception is thrown, it is caught silently and the destructor returns. \par
+}}
+{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
+\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
+Member Function Documentation\par
+\pard\plain 
+{\xe \v handle\:al::memory_handler}
+{\xe \v al::memory_handler\:handle}
+\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
+{\b 
+void {\b memory_handler::handle} (level {\i l}, const std::string & {\i name}, const std::string & {\i message}){\f2  [virtual]}}}
+\par
+{\bkmkstart AAAAAAAAAH}
+{\bkmkend AAAAAAAAAH}
+{
+\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
+{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
+Stores the entry in memory (currently a std::deque). If the number of entries exceeds the expected maximum amount, the oldest is deleted. \par
+}{
+Implements {\b al::handler} ({\i p.{\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAE \\*MERGEFORMAT}{\fldrslt pagenum}}}).}\par
+}
+{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
+The documentation for this class was generated from the following files:{\par
+\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid 
+src/handlers/memory_handler.hpp\par
+\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid 
+src/handlers/memory_handler.cpp\par
 }
 \pard\plain \sect\sbkpage
 \s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid