<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Proton DotNet: Apache.Qpid.Proton.Codec.Encoders.Messaging.RejectedTypeEncoder Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Proton DotNet
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceApache.html">Apache</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid.html">Qpid</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton.html">Proton</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Codec.html">Codec</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders.html">Encoders</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1Messaging.html">Messaging</a></li><li class="navelem"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1Messaging_1_1RejectedTypeEncoder.html">RejectedTypeEncoder</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1Messaging_1_1RejectedTypeEncoder-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Apache.Qpid.Proton.Codec.Encoders.Messaging.RejectedTypeEncoder Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Codec.Encoders.Messaging.RejectedTypeEncoder:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1Messaging_1_1RejectedTypeEncoder.png" usemap="#Apache.Qpid.Proton.Codec.Encoders.Messaging.RejectedTypeEncoder_map" alt=""/>
  <map id="Apache.Qpid.Proton.Codec.Encoders.Messaging.RejectedTypeEncoder_map" name="Apache.Qpid.Proton.Codec.Encoders.Messaging.RejectedTypeEncoder_map">
<area href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html" alt="Apache.Qpid.Proton.Codec.Encoders.AbstractDescribedListTypeEncoder&lt; Rejected &gt;" shape="rect" coords="0,0,504,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aa7574a6ac2873805566c5a06f21092ff"><td class="memItemLeft" align="right" valign="top"><a id="aa7574a6ac2873805566c5a06f21092ff"></a>
override <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Codec.html#a3c20d2d05f5f52d8828e0d0ef1bea07a">EncodingCodes</a>&#160;</td><td class="memItemRight" valign="bottom"><b>GetListEncoding</b> (<a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Messaging_1_1Rejected.html">Rejected</a> value)</td></tr>
<tr class="separator:aa7574a6ac2873805566c5a06f21092ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa309b168f0b756c30329b045effbf149"><td class="memItemLeft" align="right" valign="top"><a id="aa309b168f0b756c30329b045effbf149"></a>
override int&#160;</td><td class="memItemRight" valign="bottom"><b>GetElementCount</b> (<a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Messaging_1_1Rejected.html">Rejected</a> value)</td></tr>
<tr class="separator:aa309b168f0b756c30329b045effbf149"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1365540e0e610f17ac222b788bea56f"><td class="memItemLeft" align="right" valign="top"><a id="aa1365540e0e610f17ac222b788bea56f"></a>
override void&#160;</td><td class="memItemRight" valign="bottom"><b>WriteElement</b> (<a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Messaging_1_1Rejected.html">Rejected</a> source, int index, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IEncoderState.html">IEncoderState</a> state)</td></tr>
<tr class="separator:aa1365540e0e610f17ac222b788bea56f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html">Apache.Qpid.Proton.Codec.Encoders.AbstractDescribedListTypeEncoder&lt; Rejected &gt;</a></td></tr>
<tr class="memitem:a98fcccac985f4975d094758ea24e00c0 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Codec.html#a3c20d2d05f5f52d8828e0d0ef1bea07a">EncodingCodes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#a98fcccac985f4975d094758ea24e00c0">GetListEncoding</a> (T value)</td></tr>
<tr class="memdesc:a98fcccac985f4975d094758ea24e00c0 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine the list type the given value can be encoded to based on the number of bytes that would be needed to hold the encoded form of the resulting list entries.  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#a98fcccac985f4975d094758ea24e00c0">More...</a><br /></td></tr>
<tr class="separator:a98fcccac985f4975d094758ea24e00c0 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a302b57ef49e67ac42e292f222175f058 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top">abstract void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#a302b57ef49e67ac42e292f222175f058">WriteElement</a> (T source, int index, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IEncoderState.html">IEncoderState</a> state)</td></tr>
<tr class="memdesc:a302b57ef49e67ac42e292f222175f058 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instructs the encoder to write the element identified with the given index  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#a302b57ef49e67ac42e292f222175f058">More...</a><br /></td></tr>
<tr class="separator:a302b57ef49e67ac42e292f222175f058 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae687e7aaf36b22147c8c89487d36cc23 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top">abstract int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#ae687e7aaf36b22147c8c89487d36cc23">GetElementCount</a> (T value)</td></tr>
<tr class="memdesc:ae687e7aaf36b22147c8c89487d36cc23 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of elements that will result when this type is encoded into an AMQP List type.  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#ae687e7aaf36b22147c8c89487d36cc23">More...</a><br /></td></tr>
<tr class="separator:ae687e7aaf36b22147c8c89487d36cc23 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4a6b83b7d8b26142a352b2399fa16ec inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#ad4a6b83b7d8b26142a352b2399fa16ec">GetMinElementCount</a> ()</td></tr>
<tr class="memdesc:ad4a6b83b7d8b26142a352b2399fa16ec inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the minimum number of elements that this AMQP type must provide in order to be considered a valid type.  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#ad4a6b83b7d8b26142a352b2399fa16ec">More...</a><br /></td></tr>
<tr class="separator:ad4a6b83b7d8b26142a352b2399fa16ec inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a1245bbd92557bc19313f0414dcc4c418"><td class="memItemLeft" align="right" valign="top"><a id="a1245bbd92557bc19313f0414dcc4c418"></a>
override <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><b>DescriptorSymbol</b><code> [get]</code></td></tr>
<tr class="separator:a1245bbd92557bc19313f0414dcc4c418"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32241876519370216adae1f19a515dd9"><td class="memItemLeft" align="right" valign="top"><a id="a32241876519370216adae1f19a515dd9"></a>
override ulong&#160;</td><td class="memItemRight" valign="bottom"><b>DescriptorCode</b><code> [get]</code></td></tr>
<tr class="separator:a32241876519370216adae1f19a515dd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td colspan="2" onclick="javascript:toggleInherit('properties_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html">Apache.Qpid.Proton.Codec.Encoders.AbstractDescribedListTypeEncoder&lt; Rejected &gt;</a></td></tr>
<tr class="memitem:a8306f757287e532925c6851eb1d5ecae inherit properties_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top"><a id="a8306f757287e532925c6851eb1d5ecae"></a>
override Type&#160;</td><td class="memItemRight" valign="bottom"><b>EncodesType</b><code> [get]</code></td></tr>
<tr class="separator:a8306f757287e532925c6851eb1d5ecae inherit properties_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html">Apache.Qpid.Proton.Codec.Encoders.AbstractDescribedListTypeEncoder&lt; Rejected &gt;</a></td></tr>
<tr class="memitem:ac3d6c3e72c959c05826583d0b915d2d2 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top">override void&#160;</td><td class="memItemRight" valign="bottom"><b>WriteType</b> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IEncoderState.html">IEncoderState</a> state, object value)</td></tr>
<tr class="memdesc:ac3d6c3e72c959c05826583d0b915d2d2 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes the given value into the provided buffer.  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#ac3d6c3e72c959c05826583d0b915d2d2">More...</a><br /></td></tr>
<tr class="separator:ac3d6c3e72c959c05826583d0b915d2d2 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50464385670313ff0e5d1b7408eb8660 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top"><a id="a50464385670313ff0e5d1b7408eb8660"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>WriteType</b> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IEncoderState.html">IEncoderState</a> state, T value)</td></tr>
<tr class="separator:a50464385670313ff0e5d1b7408eb8660 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae078e630703edacc08b3bfc9e08f3b2b inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top">override void&#160;</td><td class="memItemRight" valign="bottom"><b>WriteArray</b> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IEncoderState.html">IEncoderState</a> state, Array values)</td></tr>
<tr class="memdesc:ae078e630703edacc08b3bfc9e08f3b2b inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes a full array encoding of the given array elements into the provided buffer.  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#ae078e630703edacc08b3bfc9e08f3b2b">More...</a><br /></td></tr>
<tr class="separator:ae078e630703edacc08b3bfc9e08f3b2b inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf87cc9c10e591c3b0b51999e640cfc9 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top">override void&#160;</td><td class="memItemRight" valign="bottom"><b>WriteRawArray</b> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IEncoderState.html">IEncoderState</a> state, Array values)</td></tr>
<tr class="memdesc:adf87cc9c10e591c3b0b51999e640cfc9 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes only the individual elements of the given array into the provided buffer  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#adf87cc9c10e591c3b0b51999e640cfc9">More...</a><br /></td></tr>
<tr class="separator:adf87cc9c10e591c3b0b51999e640cfc9 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Proton/Codec/Encoders/Messaging/RejectedTypeEncoder.cs</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
