<!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.Decoders.Primitives.IBinaryTypeDecoder Interface 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_1Decoders.html">Decoders</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives.html">Primitives</a></li><li class="navelem"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1IBinaryTypeDecoder.html">IBinaryTypeDecoder</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1IBinaryTypeDecoder-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Apache.Qpid.Proton.Codec.Decoders.Primitives.IBinaryTypeDecoder Interface Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Codec.Decoders.Primitives.IBinaryTypeDecoder:</div>
<div class="dyncontent">
 <div class="center">
  <img src="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1IBinaryTypeDecoder.png" usemap="#Apache.Qpid.Proton.Codec.Decoders.Primitives.IBinaryTypeDecoder_map" alt=""/>
  <map id="Apache.Qpid.Proton.Codec.Decoders.Primitives.IBinaryTypeDecoder_map" name="Apache.Qpid.Proton.Codec.Decoders.Primitives.IBinaryTypeDecoder_map">
<area href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IPrimitiveTypeDecoder.html" title="Defines an interface for an decoder of a primitive types" alt="Apache.Qpid.Proton.Codec.IPrimitiveTypeDecoder" shape="rect" coords="230,56,681,80"/>
<area href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html" title="Defines an interface for an decoder of a specific type." alt="Apache.Qpid.Proton.Codec.ITypeDecoder" shape="rect" coords="0,0,451,24"/>
<area href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder.html" title="Defines an interface for an decoder of a specific type." alt="Apache.Qpid.Proton.Codec.IStreamTypeDecoder" shape="rect" coords="461,0,912,24"/>
<area href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1AbstractBinaryTypeDecoder.html" alt="Apache.Qpid.Proton.Codec.Decoders.Primitives.AbstractBinaryTypeDecoder" shape="rect" coords="230,168,681,192"/>
<area href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1Binary32TypeDecoder.html" alt="Apache.Qpid.Proton.Codec.Decoders.Primitives.Binary32TypeDecoder" shape="rect" coords="0,224,451,248"/>
<area href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1Binary8TypeDecoder.html" alt="Apache.Qpid.Proton.Codec.Decoders.Primitives.Binary8TypeDecoder" shape="rect" coords="461,224,912,248"/>
  </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:aa4df4f8d88e4a791ef79d5df4881db6f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1IBinaryTypeDecoder.html#aa4df4f8d88e4a791ef79d5df4881db6f">ReadSize</a> (<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_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:aa4df4f8d88e4a791ef79d5df4881db6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded size value for the encoded binary payload and returns it. The read is destructive and the type decoder read methods cannot be called after this this unless the IProtonBuffer is reset via a position marker. This method can be useful when the caller intends to manually read the binary payload from the given IProtonBuffer.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1IBinaryTypeDecoder.html#aa4df4f8d88e4a791ef79d5df4881db6f">More...</a><br /></td></tr>
<tr class="separator:aa4df4f8d88e4a791ef79d5df4881db6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a006ad6ac10362483719731911bc77db0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1IBinaryTypeDecoder.html#a006ad6ac10362483719731911bc77db0">ReadSize</a> (Stream stream, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamDecoderState.html">IStreamDecoderState</a> state)</td></tr>
<tr class="memdesc:a006ad6ac10362483719731911bc77db0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the encoded size value for the encoded binary payload and returns it. The read is destructive and the type decoder read methods cannot be called after this this unless the Stream is reset via a position marker. This method can be useful when the caller intends to manually read the binary payload from the given stream.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1IBinaryTypeDecoder.html#a006ad6ac10362483719731911bc77db0">More...</a><br /></td></tr>
<tr class="separator:a006ad6ac10362483719731911bc77db0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html">Apache.Qpid.Proton.Codec.ITypeDecoder</a></td></tr>
<tr class="memitem:a24360aeb06219892be48b737fef2284e inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="memItemLeft" align="right" valign="top">object&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html#a24360aeb06219892be48b737fef2284e">ReadValue</a> (<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_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a24360aeb06219892be48b737fef2284e inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads this decoders managed type from the given buffer and returns it.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html#a24360aeb06219892be48b737fef2284e">More...</a><br /></td></tr>
<tr class="separator:a24360aeb06219892be48b737fef2284e inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13eb3dc3f4ef928c33adfcef4e16032a inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html#a13eb3dc3f4ef928c33adfcef4e16032a">SkipValue</a> (<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_1IDecoderState.html">IDecoderState</a> state)</td></tr>
<tr class="memdesc:a13eb3dc3f4ef928c33adfcef4e16032a inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Skips the value that this decoder is handling by skipping the encoded bytes in the provided buffer instance.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html#a13eb3dc3f4ef928c33adfcef4e16032a">More...</a><br /></td></tr>
<tr class="separator:a13eb3dc3f4ef928c33adfcef4e16032a inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac73571255b2b779bdc4bddf4d399e5d2 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="memItemLeft" align="right" valign="top">Array&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html#ac73571255b2b779bdc4bddf4d399e5d2">ReadArrayElements</a> (<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_1IDecoderState.html">IDecoderState</a> state, int count)</td></tr>
<tr class="memdesc:ac73571255b2b779bdc4bddf4d399e5d2 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a series of this type that have been encoded into the body of an Array type. When encoded into an array the values are encoded in series following the identifier for the type, this method is given a count of the number of instances that are encoded and should read each in succession and returning them in a new array.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html#ac73571255b2b779bdc4bddf4d399e5d2">More...</a><br /></td></tr>
<tr class="separator:ac73571255b2b779bdc4bddf4d399e5d2 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder.html">Apache.Qpid.Proton.Codec.IStreamTypeDecoder</a></td></tr>
<tr class="memitem:a3cd44742be1422ecd74a5a455727a31b inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td class="memItemLeft" align="right" valign="top">object&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder.html#a3cd44742be1422ecd74a5a455727a31b">ReadValue</a> (Stream stream, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamDecoderState.html">IStreamDecoderState</a> state)</td></tr>
<tr class="memdesc:a3cd44742be1422ecd74a5a455727a31b inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads this decoders managed type from the given buffer and returns it.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder.html#a3cd44742be1422ecd74a5a455727a31b">More...</a><br /></td></tr>
<tr class="separator:a3cd44742be1422ecd74a5a455727a31b inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08c37e0fd44aa44225a4710e448ed844 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder.html#a08c37e0fd44aa44225a4710e448ed844">SkipValue</a> (Stream stream, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamDecoderState.html">IStreamDecoderState</a> state)</td></tr>
<tr class="memdesc:a08c37e0fd44aa44225a4710e448ed844 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Skips the value that this decoder is handling by skipping the encoded bytes in the provided buffer instance.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder.html#a08c37e0fd44aa44225a4710e448ed844">More...</a><br /></td></tr>
<tr class="separator:a08c37e0fd44aa44225a4710e448ed844 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7753ca60ebc82757bab0d6b0eec282f inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td class="memItemLeft" align="right" valign="top">Array&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder.html#ab7753ca60ebc82757bab0d6b0eec282f">ReadArrayElements</a> (Stream stream, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamDecoderState.html">IStreamDecoderState</a> state, int count)</td></tr>
<tr class="memdesc:ab7753ca60ebc82757bab0d6b0eec282f inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a series of this type that have been encoded into the body of an Array type. When encoded into an array the values are encoded in series following the identifier for the type, this method is given a count of the number of instances that are encoded and should read each in succession and returning them in a new array.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder.html#ab7753ca60ebc82757bab0d6b0eec282f">More...</a><br /></td></tr>
<tr class="separator:ab7753ca60ebc82757bab0d6b0eec282f inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><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 properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IPrimitiveTypeDecoder"><td colspan="2" onclick="javascript:toggleInherit('properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IPrimitiveTypeDecoder')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IPrimitiveTypeDecoder.html">Apache.Qpid.Proton.Codec.IPrimitiveTypeDecoder</a></td></tr>
<tr class="memitem:a70ff2799daa608d758e2f3beeaa52d6f inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IPrimitiveTypeDecoder"><td class="memItemLeft" align="right" valign="top"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IPrimitiveTypeDecoder.html#a70ff2799daa608d758e2f3beeaa52d6f">EncodingCode</a><code> [get]</code></td></tr>
<tr class="memdesc:a70ff2799daa608d758e2f3beeaa52d6f inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IPrimitiveTypeDecoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the AMQP encoding code byte for the type this decoder handles.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IPrimitiveTypeDecoder.html#a70ff2799daa608d758e2f3beeaa52d6f">More...</a><br /></td></tr>
<tr class="separator:a70ff2799daa608d758e2f3beeaa52d6f inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IPrimitiveTypeDecoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td colspan="2" onclick="javascript:toggleInherit('properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html">Apache.Qpid.Proton.Codec.ITypeDecoder</a></td></tr>
<tr class="memitem:a1e225b8345bc9013952baca1f1001ca2 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="memItemLeft" align="right" valign="top">Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html#a1e225b8345bc9013952baca1f1001ca2">DecodesType</a><code> [get]</code></td></tr>
<tr class="memdesc:a1e225b8345bc9013952baca1f1001ca2 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Type that this decoder can read.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html#a1e225b8345bc9013952baca1f1001ca2">More...</a><br /></td></tr>
<tr class="separator:a1e225b8345bc9013952baca1f1001ca2 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe5d5a6c937634d0908c1b22e320cfeb inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html#afe5d5a6c937634d0908c1b22e320cfeb">IsArrayType</a><code> [get]</code></td></tr>
<tr class="memdesc:afe5d5a6c937634d0908c1b22e320cfeb inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the value that this decoder is going to read is an array type.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder.html#afe5d5a6c937634d0908c1b22e320cfeb">More...</a><br /></td></tr>
<tr class="separator:afe5d5a6c937634d0908c1b22e320cfeb inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1ITypeDecoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td colspan="2" onclick="javascript:toggleInherit('properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder.html">Apache.Qpid.Proton.Codec.IStreamTypeDecoder</a></td></tr>
<tr class="memitem:ab16bfa3ea4ff85b25b66c33255ad42a1 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td class="memItemLeft" align="right" valign="top">Type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder.html#ab16bfa3ea4ff85b25b66c33255ad42a1">DecodesType</a><code> [get]</code></td></tr>
<tr class="memdesc:ab16bfa3ea4ff85b25b66c33255ad42a1 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Type that this decoder can read.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder.html#ab16bfa3ea4ff85b25b66c33255ad42a1">More...</a><br /></td></tr>
<tr class="separator:ab16bfa3ea4ff85b25b66c33255ad42a1 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9f93c7fbc6ad5e341979a26508c668b inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder.html#ac9f93c7fbc6ad5e341979a26508c668b">IsArrayType</a><code> [get]</code></td></tr>
<tr class="memdesc:ac9f93c7fbc6ad5e341979a26508c668b inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the value that this decoder is going to read is an array type.  <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder.html#ac9f93c7fbc6ad5e341979a26508c668b">More...</a><br /></td></tr>
<tr class="separator:ac9f93c7fbc6ad5e341979a26508c668b inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamTypeDecoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aa4df4f8d88e4a791ef79d5df4881db6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4df4f8d88e4a791ef79d5df4881db6f">&#9670;&nbsp;</a></span>ReadSize() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Apache.Qpid.Proton.Codec.Decoders.Primitives.IBinaryTypeDecoder.ReadSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoderState.html">IDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded size value for the encoded binary payload and returns it. The read is destructive and the type decoder read methods cannot be called after this this unless the IProtonBuffer is reset via a position marker. This method can be useful when the caller intends to manually read the binary payload from the given IProtonBuffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>The buffer where the size should be read from</td></tr>
    <tr><td class="paramname">state</td><td>The decoder state that provides support</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the size of the binary payload that is encoded in the given buffer</dd></dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1Binary8TypeDecoder.html#a14de07be2f106faed0748029d5e808e8">Apache.Qpid.Proton.Codec.Decoders.Primitives.Binary8TypeDecoder</a>, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1Binary32TypeDecoder.html#a9461495bb70b8987b446581934b7ca4d">Apache.Qpid.Proton.Codec.Decoders.Primitives.Binary32TypeDecoder</a>, and <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1AbstractBinaryTypeDecoder.html#a7f3fe65126d0cbb0ad0017346501630c">Apache.Qpid.Proton.Codec.Decoders.Primitives.AbstractBinaryTypeDecoder</a>.</p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Apache.Qpid.Proton.Codec.Decoders.Primitives.IBinaryTypeDecoder.ReadSize </td>
          <td>(</td>
          <td class="paramtype">Stream&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamDecoderState.html">IStreamDecoderState</a>&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the encoded size value for the encoded binary payload and returns it. The read is destructive and the type decoder read methods cannot be called after this this unless the Stream is reset via a position marker. This method can be useful when the caller intends to manually read the binary payload from the given stream. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">stream</td><td>The stream where the size should be read from</td></tr>
    <tr><td class="paramname">state</td><td>The decoder state that provides support</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the size of the binary payload that is encoded in the given stream</dd></dl>

<p>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1Binary8TypeDecoder.html#a49121ce0308e012ca892f276108a20e5">Apache.Qpid.Proton.Codec.Decoders.Primitives.Binary8TypeDecoder</a>, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1Binary32TypeDecoder.html#af83aa845c548d0b82472741ecd8b2159">Apache.Qpid.Proton.Codec.Decoders.Primitives.Binary32TypeDecoder</a>, and <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1Primitives_1_1AbstractBinaryTypeDecoder.html#ac562b93d2f319b3b7aaa4e8094139487">Apache.Qpid.Proton.Codec.Decoders.Primitives.AbstractBinaryTypeDecoder</a>.</p>

</div>
</div>
<hr/>The documentation for this interface was generated from the following file:<ul>
<li>src/Proton/Codec/Decoders/Primitives/IBinaryTypeDecoder.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>
