<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.9.1/cppdoc/classignite_1_1transactions_1_1TransactionMetrics.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<!-- Yandex.Metrika counter -->
    <script type="text/javascript" >
      (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
      m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
      (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
    
      ym(72949126, "init", {
           clickmap:true,
           trackLinks:true,
           accurateTrackBounce:true,
           webvisor:true
      });
    </script>
    <noscript><div><img src="https://mc.yandex.ru/watch/72949126" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
    <!-- /Yandex.Metrika counter -->
<script type='text/javascript'>
    window.__lo_site_id = 284467;
    
      (function() {
        var wa = document.createElement('script'); wa.type = 'text/javascript'; wa.async = true;
        wa.src = 'https://d10lpsik1i8c69.cloudfront.net/w.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wa, s);
        })();
      </script>


<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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>&nbsp; Apache Ignite C++: ignite::transactions::TransactionMetrics 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" />

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="ignite_logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">&nbsp; Apache Ignite C++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</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 id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceignite.html">ignite</a></li><li class="navelem"><a class="el" href="namespaceignite_1_1transactions.html">transactions</a></li><li class="navelem"><a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html">TransactionMetrics</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classignite_1_1transactions_1_1TransactionMetrics-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ignite::transactions::TransactionMetrics Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Transaction metrics, shared across all caches.  
 <a href="classignite_1_1transactions_1_1TransactionMetrics.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="transaction__metrics_8h_source.html">transaction_metrics.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aca2beeb1e127fc069778a8ab8fcaa612"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html#aca2beeb1e127fc069778a8ab8fcaa612">TransactionMetrics</a> ()</td></tr>
<tr class="memdesc:aca2beeb1e127fc069778a8ab8fcaa612"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="#aca2beeb1e127fc069778a8ab8fcaa612">More...</a><br /></td></tr>
<tr class="separator:aca2beeb1e127fc069778a8ab8fcaa612"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af701ccbed5af0441b27ed36899fde6cd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html#af701ccbed5af0441b27ed36899fde6cd">TransactionMetrics</a> (const <a class="el" href="classignite_1_1Timestamp.html">Timestamp</a> &amp;commitTime, const <a class="el" href="classignite_1_1Timestamp.html">Timestamp</a> &amp;rollbackTime, int32_t commits, int32_t rollbacks)</td></tr>
<tr class="memdesc:af701ccbed5af0441b27ed36899fde6cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#af701ccbed5af0441b27ed36899fde6cd">More...</a><br /></td></tr>
<tr class="separator:af701ccbed5af0441b27ed36899fde6cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaeba6829ed497b36c2ea4b007e9b43f7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html#aaeba6829ed497b36c2ea4b007e9b43f7">TransactionMetrics</a> (const <a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html">TransactionMetrics</a> &amp;other)</td></tr>
<tr class="memdesc:aaeba6829ed497b36c2ea4b007e9b43f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor.  <a href="#aaeba6829ed497b36c2ea4b007e9b43f7">More...</a><br /></td></tr>
<tr class="separator:aaeba6829ed497b36c2ea4b007e9b43f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a408e153d34e91fd95013d406d82680d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html">TransactionMetrics</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html#a408e153d34e91fd95013d406d82680d0">operator=</a> (const <a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html">TransactionMetrics</a> &amp;other)</td></tr>
<tr class="memdesc:a408e153d34e91fd95013d406d82680d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator.  <a href="#a408e153d34e91fd95013d406d82680d0">More...</a><br /></td></tr>
<tr class="separator:a408e153d34e91fd95013d406d82680d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd00a10969e328302be9824dcacaa94e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classignite_1_1Timestamp.html">Timestamp</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html#afd00a10969e328302be9824dcacaa94e">GetCommitTime</a> () const</td></tr>
<tr class="memdesc:afd00a10969e328302be9824dcacaa94e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get commit time.  <a href="#afd00a10969e328302be9824dcacaa94e">More...</a><br /></td></tr>
<tr class="separator:afd00a10969e328302be9824dcacaa94e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4d4934f055f0493878c937d24d39092"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classignite_1_1Timestamp.html">Timestamp</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html#aa4d4934f055f0493878c937d24d39092">GetRollbackTime</a> () const</td></tr>
<tr class="memdesc:aa4d4934f055f0493878c937d24d39092"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get rollback time.  <a href="#aa4d4934f055f0493878c937d24d39092">More...</a><br /></td></tr>
<tr class="separator:aa4d4934f055f0493878c937d24d39092"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b333c26e166c99d37c0605733a5f112"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html#a9b333c26e166c99d37c0605733a5f112">GetCommits</a> () const</td></tr>
<tr class="memdesc:a9b333c26e166c99d37c0605733a5f112"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the total number of transaction commits.  <a href="#a9b333c26e166c99d37c0605733a5f112">More...</a><br /></td></tr>
<tr class="separator:a9b333c26e166c99d37c0605733a5f112"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0d3b5684ba3747976c48a62db76581d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html#ad0d3b5684ba3747976c48a62db76581d">GetRollbacks</a> () const</td></tr>
<tr class="memdesc:ad0d3b5684ba3747976c48a62db76581d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the total number of transaction rollbacks.  <a href="#ad0d3b5684ba3747976c48a62db76581d">More...</a><br /></td></tr>
<tr class="separator:ad0d3b5684ba3747976c48a62db76581d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48c5ed294b8f66f50c99f95953db5236"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html#a48c5ed294b8f66f50c99f95953db5236">IsValid</a> () const</td></tr>
<tr class="memdesc:a48c5ed294b8f66f50c99f95953db5236"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check wheather the instance is valid.  <a href="#a48c5ed294b8f66f50c99f95953db5236">More...</a><br /></td></tr>
<tr class="separator:a48c5ed294b8f66f50c99f95953db5236"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Transaction metrics, shared across all caches. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aca2beeb1e127fc069778a8ab8fcaa612"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca2beeb1e127fc069778a8ab8fcaa612">&#9670;&nbsp;</a></span>TransactionMetrics() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ignite::transactions::TransactionMetrics::TransactionMetrics </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>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default constructor. </p>
<p>Constructed instance is not valid. </p>

</div>
</div>
<a id="af701ccbed5af0441b27ed36899fde6cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af701ccbed5af0441b27ed36899fde6cd">&#9670;&nbsp;</a></span>TransactionMetrics() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ignite::transactions::TransactionMetrics::TransactionMetrics </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classignite_1_1Timestamp.html">Timestamp</a> &amp;&#160;</td>
          <td class="paramname"><em>commitTime</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classignite_1_1Timestamp.html">Timestamp</a> &amp;&#160;</td>
          <td class="paramname"><em>rollbackTime</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>commits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>rollbacks</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>Constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">commitTime</td><td>The last time transaction was committed. </td></tr>
    <tr><td class="paramname">rollbackTime</td><td>The last time transaction was rolled back. </td></tr>
    <tr><td class="paramname">commits</td><td>The total number of transaction commits. </td></tr>
    <tr><td class="paramname">rollbacks</td><td>The total number of transaction rollbacks. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aaeba6829ed497b36c2ea4b007e9b43f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaeba6829ed497b36c2ea4b007e9b43f7">&#9670;&nbsp;</a></span>TransactionMetrics() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ignite::transactions::TransactionMetrics::TransactionMetrics </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html">TransactionMetrics</a> &amp;&#160;</td>
          <td class="paramname"><em>other</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>Copy constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>Another instance. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a9b333c26e166c99d37c0605733a5f112"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b333c26e166c99d37c0605733a5f112">&#9670;&nbsp;</a></span>GetCommits()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t ignite::transactions::TransactionMetrics::GetCommits </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the total number of transaction commits. </p>
<dl class="section return"><dt>Returns</dt><dd>The total number of transaction commits. </dd></dl>

</div>
</div>
<a id="afd00a10969e328302be9824dcacaa94e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd00a10969e328302be9824dcacaa94e">&#9670;&nbsp;</a></span>GetCommitTime()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classignite_1_1Timestamp.html">Timestamp</a>&amp; ignite::transactions::TransactionMetrics::GetCommitTime </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get commit time. </p>
<dl class="section return"><dt>Returns</dt><dd>The last time transaction was committed. </dd></dl>

</div>
</div>
<a id="ad0d3b5684ba3747976c48a62db76581d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0d3b5684ba3747976c48a62db76581d">&#9670;&nbsp;</a></span>GetRollbacks()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t ignite::transactions::TransactionMetrics::GetRollbacks </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the total number of transaction rollbacks. </p>
<dl class="section return"><dt>Returns</dt><dd>The total number of transaction rollbacks. </dd></dl>

</div>
</div>
<a id="aa4d4934f055f0493878c937d24d39092"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4d4934f055f0493878c937d24d39092">&#9670;&nbsp;</a></span>GetRollbackTime()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classignite_1_1Timestamp.html">Timestamp</a>&amp; ignite::transactions::TransactionMetrics::GetRollbackTime </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get rollback time. </p>
<dl class="section return"><dt>Returns</dt><dd>The last time transaction was rolled back. </dd></dl>

</div>
</div>
<a id="a48c5ed294b8f66f50c99f95953db5236"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48c5ed294b8f66f50c99f95953db5236">&#9670;&nbsp;</a></span>IsValid()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ignite::transactions::TransactionMetrics::IsValid </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check wheather the instance is valid. </p>
<p>Invalid instance can be returned if some of the previous operations have resulted in a failure. For example invalid instance can be returned by not-throwing version of method in case of error. Invalid instances also often can be created using default constructor.</p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the instance contains valid data. </dd></dl>

</div>
</div>
<a id="a408e153d34e91fd95013d406d82680d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a408e153d34e91fd95013d406d82680d0">&#9670;&nbsp;</a></span>operator=()</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="classignite_1_1transactions_1_1TransactionMetrics.html">TransactionMetrics</a>&amp; ignite::transactions::TransactionMetrics::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classignite_1_1transactions_1_1TransactionMetrics.html">TransactionMetrics</a> &amp;&#160;</td>
          <td class="paramname"><em>other</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>Assignment operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>Another instance. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>*this</code>. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="transaction__metrics_8h_source.html">transaction_metrics.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 9 2020 14:26:55 for &nbsp; Apache Ignite C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
