<!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.Primitives.UnsignedIntegerTypeEncoder 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_1Primitives.html">Primitives</a></li><li class="navelem"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1Primitives_1_1UnsignedIntegerTypeEncoder.html">UnsignedIntegerTypeEncoder</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1Primitives_1_1UnsignedIntegerTypeEncoder-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Apache.Qpid.Proton.Codec.Encoders.Primitives.UnsignedIntegerTypeEncoder Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Type encoder that handles writing UnsignedInteger types  
 <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1Primitives_1_1UnsignedIntegerTypeEncoder.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Codec.Encoders.Primitives.UnsignedIntegerTypeEncoder:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1Primitives_1_1UnsignedIntegerTypeEncoder.png" usemap="#Apache.Qpid.Proton.Codec.Encoders.Primitives.UnsignedIntegerTypeEncoder_map" alt=""/>
  <map id="Apache.Qpid.Proton.Codec.Encoders.Primitives.UnsignedIntegerTypeEncoder_map" name="Apache.Qpid.Proton.Codec.Encoders.Primitives.UnsignedIntegerTypeEncoder_map">
<area href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder.html" alt="Apache.Qpid.Proton.Codec.Encoders.AbstractPrimitiveTypeEncoder&lt; uint &gt;" shape="rect" coords="0,0,456,24"/>
  </map>
</div></div>
<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:a4d61ad6a4aece209c570403a015521f3"><td class="memItemLeft" align="right" valign="top"><a id="a4d61ad6a4aece209c570403a015521f3"></a>
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="separator:a4d61ad6a4aece209c570403a015521f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3259ef62bd258ca1b094a651766587f6"><td class="memItemLeft" align="right" valign="top"><a id="a3259ef62bd258ca1b094a651766587f6"></a>
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="separator:a3259ef62bd258ca1b094a651766587f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e8fbd92319d657950b6ff1f73ae8bb0"><td class="memItemLeft" align="right" valign="top"><a id="a5e8fbd92319d657950b6ff1f73ae8bb0"></a>
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="separator:a5e8fbd92319d657950b6ff1f73ae8bb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder')"><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_1AbstractPrimitiveTypeEncoder.html">Apache.Qpid.Proton.Codec.Encoders.AbstractPrimitiveTypeEncoder&lt; uint &gt;</a></td></tr>
<tr class="memitem:a655055325e7c7613efdb8782bada3d50 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td class="memItemLeft" align="right" valign="top">abstract 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:a655055325e7c7613efdb8782bada3d50 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><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_1AbstractPrimitiveTypeEncoder.html#a655055325e7c7613efdb8782bada3d50">More...</a><br /></td></tr>
<tr class="separator:a655055325e7c7613efdb8782bada3d50 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7b04146f128ccce401bf319b525e163 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td class="memItemLeft" align="right" valign="top">abstract 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:aa7b04146f128ccce401bf319b525e163 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><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_1AbstractPrimitiveTypeEncoder.html#aa7b04146f128ccce401bf319b525e163">More...</a><br /></td></tr>
<tr class="separator:aa7b04146f128ccce401bf319b525e163 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33024678fe4811f0819da1d0bf7e5a0a inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td class="memItemLeft" align="right" valign="top">virtual 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:a33024678fe4811f0819da1d0bf7e5a0a inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><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_1AbstractPrimitiveTypeEncoder.html#a33024678fe4811f0819da1d0bf7e5a0a">More...</a><br /></td></tr>
<tr class="separator:a33024678fe4811f0819da1d0bf7e5a0a inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><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 pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder')"><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_1AbstractPrimitiveTypeEncoder.html">Apache.Qpid.Proton.Codec.Encoders.AbstractPrimitiveTypeEncoder&lt; uint &gt;</a></td></tr>
<tr class="memitem:a88eb0e8d073e4d931c714c80426fd013 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td class="memItemLeft" align="right" valign="top"><a id="a88eb0e8d073e4d931c714c80426fd013"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>WriteAsArray8</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="separator:a88eb0e8d073e4d931c714c80426fd013 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b941719510d464bd564a1b1d0aa6b6b inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td class="memItemLeft" align="right" valign="top"><a id="a2b941719510d464bd564a1b1d0aa6b6b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>WriteAsArray32</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="separator:a2b941719510d464bd564a1b1d0aa6b6b inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td colspan="2" onclick="javascript:toggleInherit('properties_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder.html">Apache.Qpid.Proton.Codec.Encoders.AbstractPrimitiveTypeEncoder&lt; uint &gt;</a></td></tr>
<tr class="memitem:ac32e0b3bcc49f54d9973bc6e919636f8 inherit properties_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td class="memItemLeft" align="right" valign="top"><a id="ac32e0b3bcc49f54d9973bc6e919636f8"></a>
virtual Type&#160;</td><td class="memItemRight" valign="bottom"><b>EncodesType</b><code> [get]</code></td></tr>
<tr class="separator:ac32e0b3bcc49f54d9973bc6e919636f8 inherit properties_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad720a358270edcd6ba3fc52da0132225 inherit properties_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><td class="memItemLeft" align="right" valign="top"><a id="ad720a358270edcd6ba3fc52da0132225"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsArrayType</b><code> [get]</code></td></tr>
<tr class="separator:ad720a358270edcd6ba3fc52da0132225 inherit properties_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractPrimitiveTypeEncoder"><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>Type encoder that handles writing UnsignedInteger types </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Proton/Codec/Encoders/Primitives/UnsignedIntegerTypeEncoder.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>
