blob: 0a30495cd6e93cef5de68d55e916383ef3dae079 [file] [log] [blame]
<!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.Utilities.ArrayDeque&lt; T &gt; Class Template 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_1Utilities.html">Utilities</a></li><li class="navelem"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">ArrayDeque</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A resizable-array implementation of the <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html" title="A linear collection type that supports element insertion and removal at both ends....">IDeque</a> interface which has no capacity restrictions. The backing array will grow as necessary to support usage. This collection is not thread-safe. Null elements are prohibited in this collection.
<a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.png" usemap="#Apache.Qpid.Proton.Utilities.ArrayDeque_3C_20T_20_3E_map" alt=""/>
<map id="Apache.Qpid.Proton.Utilities.ArrayDeque_3C_20T_20_3E_map" name="Apache.Qpid.Proton.Utilities.ArrayDeque_3C_20T_20_3E_map">
<area href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html" title="A linear collection type that supports element insertion and removal at both ends...." alt="Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;" shape="rect" coords="712,56,987,80"/>
</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:a8a782a0e10e2130ef0a05342b333cf04"><td class="memItemLeft" align="right" valign="top"><a id="a8a782a0e10e2130ef0a05342b333cf04"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>ArrayDeque</b> (uint size=DefaultInitialSize)</td></tr>
<tr class="separator:a8a782a0e10e2130ef0a05342b333cf04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add63c401eb91d8ea1796dba02161e31e"><td class="memItemLeft" align="right" valign="top"><a id="add63c401eb91d8ea1796dba02161e31e"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>ArrayDeque</b> (IEnumerable&lt; T &gt; elements)</td></tr>
<tr class="separator:add63c401eb91d8ea1796dba02161e31e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af920fcee6abd51871298b0ea707b8e81"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#af920fcee6abd51871298b0ea707b8e81">TryEnqueue</a> (T value)</td></tr>
<tr class="memdesc:af920fcee6abd51871298b0ea707b8e81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempts to insert the given value onto the back of this queue unless the deque has reached its capacity limit in which case this method would throw an exception. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#af920fcee6abd51871298b0ea707b8e81">More...</a><br /></td></tr>
<tr class="separator:af920fcee6abd51871298b0ea707b8e81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7943d54fd8884206d8fa39244b65b4d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#ac7943d54fd8884206d8fa39244b65b4d">Enqueue</a> (T value)</td></tr>
<tr class="memdesc:ac7943d54fd8884206d8fa39244b65b4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts the given value onto the back of this queue unless the queue has reached its capacity limit in which case this method would throw an exception. Generally it is preferable to call the TryEnqueue method and check the return value to determine if the operation succeeded. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#ac7943d54fd8884206d8fa39244b65b4d">More...</a><br /></td></tr>
<tr class="separator:ac7943d54fd8884206d8fa39244b65b4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f5e28ca4cd77f7834163200a660096a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a3f5e28ca4cd77f7834163200a660096a">TryDequeue</a> (out T front)</td></tr>
<tr class="memdesc:a3f5e28ca4cd77f7834163200a660096a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to remove and return the element at the front of the queue if there is any element to return otherwise the method returns false. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a3f5e28ca4cd77f7834163200a660096a">More...</a><br /></td></tr>
<tr class="separator:a3f5e28ca4cd77f7834163200a660096a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a774508ee9d8985097d032c8fa8ed9fb5"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a774508ee9d8985097d032c8fa8ed9fb5">Dequeue</a> ()</td></tr>
<tr class="memdesc:a774508ee9d8985097d032c8fa8ed9fb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes and returns the element at the front of the queue if the queue is currently not empty, otherwise this method throws an exception to indicate that there is no value in the queue currently. Generally it is preferable to call the TryDequeue method and check the return value to see if the operation succeeded. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a774508ee9d8985097d032c8fa8ed9fb5">More...</a><br /></td></tr>
<tr class="separator:a774508ee9d8985097d032c8fa8ed9fb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc6c33d336f2e2884dad0b965198fc58"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#adc6c33d336f2e2884dad0b965198fc58">TryEnqueueFront</a> (T item)</td></tr>
<tr class="memdesc:adc6c33d336f2e2884dad0b965198fc58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempts to insert the given value onto the front of this queue unless the queue has reached its capacity limit in which case this method would throw an exception. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#adc6c33d336f2e2884dad0b965198fc58">More...</a><br /></td></tr>
<tr class="separator:adc6c33d336f2e2884dad0b965198fc58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ca2e11262cb5dba7d6f258f46143775"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a8ca2e11262cb5dba7d6f258f46143775">EnqueueFront</a> (T item)</td></tr>
<tr class="memdesc:a8ca2e11262cb5dba7d6f258f46143775"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts the given value onto the front of this queue unless the queue has reached its capacity limit in which case this method would throw an exception. Generally it is preferable to call the TryEnqueueFront method and check the return value to determine if the operation succeeded. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a8ca2e11262cb5dba7d6f258f46143775">More...</a><br /></td></tr>
<tr class="separator:a8ca2e11262cb5dba7d6f258f46143775"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6aef9ea831d28be34c0435d5a1c1c8e4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a6aef9ea831d28be34c0435d5a1c1c8e4">TryEnqueueBack</a> (T item)</td></tr>
<tr class="memdesc:a6aef9ea831d28be34c0435d5a1c1c8e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempts to insert the given value onto the back of this queue unless the deque has reached its capacity limit in which case this method would throw an exception. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a6aef9ea831d28be34c0435d5a1c1c8e4">More...</a><br /></td></tr>
<tr class="separator:a6aef9ea831d28be34c0435d5a1c1c8e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ba58d358d56e0fc95a848bd6ac989f4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a6ba58d358d56e0fc95a848bd6ac989f4">EnqueueBack</a> (T item)</td></tr>
<tr class="memdesc:a6ba58d358d56e0fc95a848bd6ac989f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts the given value onto the back of this queue unless the deque has reached its capacity limit in which case this method would throw an exception. Generally it is preferable to call the TryEnqueueBack method and check the return value to determine if the operation succeeded. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a6ba58d358d56e0fc95a848bd6ac989f4">More...</a><br /></td></tr>
<tr class="separator:a6ba58d358d56e0fc95a848bd6ac989f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafec49d46c0f10c2f85efdd3bf1f98cd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#aafec49d46c0f10c2f85efdd3bf1f98cd">TryDequeueFront</a> (out T result)</td></tr>
<tr class="memdesc:aafec49d46c0f10c2f85efdd3bf1f98cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to remove and return the element at the front of the queue if there is any element to return otherwise the method returns false. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#aafec49d46c0f10c2f85efdd3bf1f98cd">More...</a><br /></td></tr>
<tr class="separator:aafec49d46c0f10c2f85efdd3bf1f98cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2d229a9bddf75d57e1d52b677c7985f"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#aa2d229a9bddf75d57e1d52b677c7985f">DequeueFront</a> ()</td></tr>
<tr class="memdesc:aa2d229a9bddf75d57e1d52b677c7985f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes and returns the element at the front of the queue if the queue is currently not empty, otherwise this method throws an exception to indicate that there is no value in the queue currently. Generally it is preferable to call the TryDequeueFront method and check the return value to see if the operation succeeded. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#aa2d229a9bddf75d57e1d52b677c7985f">More...</a><br /></td></tr>
<tr class="separator:aa2d229a9bddf75d57e1d52b677c7985f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64947b6396d8660d68cd6bc00a5f5312"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a64947b6396d8660d68cd6bc00a5f5312">TryDequeueBack</a> (out T result)</td></tr>
<tr class="memdesc:a64947b6396d8660d68cd6bc00a5f5312"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to remove and return the element at the back of the queue if there is any element to return otherwise the method returns false. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a64947b6396d8660d68cd6bc00a5f5312">More...</a><br /></td></tr>
<tr class="separator:a64947b6396d8660d68cd6bc00a5f5312"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4da57fc24fea878a81d2fc3461f23b5d"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a4da57fc24fea878a81d2fc3461f23b5d">DequeueBack</a> ()</td></tr>
<tr class="memdesc:a4da57fc24fea878a81d2fc3461f23b5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes and returns the element at the back of the queue if the queue is currently not empty, otherwise this method throws an exception to indicate that there is no value in the queue currently. Generally it is preferable to call the TryDequeue method and check the return value to see if the operation succeeded. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a4da57fc24fea878a81d2fc3461f23b5d">More...</a><br /></td></tr>
<tr class="separator:a4da57fc24fea878a81d2fc3461f23b5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d35e2c56a2ab26f48ca02c64be6842e"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a0d35e2c56a2ab26f48ca02c64be6842e">Peek</a> ()</td></tr>
<tr class="memdesc:a0d35e2c56a2ab26f48ca02c64be6842e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the element at the front of the queue if the queue is currently not empty, otherwise this method throws an exception to indicate that there is no value in the queue currently. Generally it is preferable to call the TryPeek method and check the return value to see if the operation succeeded. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a0d35e2c56a2ab26f48ca02c64be6842e">More...</a><br /></td></tr>
<tr class="separator:a0d35e2c56a2ab26f48ca02c64be6842e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08e4f7d5c98e64438865dc58bd261265"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a08e4f7d5c98e64438865dc58bd261265">TryPeek</a> (out T front)</td></tr>
<tr class="memdesc:a08e4f7d5c98e64438865dc58bd261265"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to read and return the element at the front of the queue if there is any element to return otherwise the method returns false. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a08e4f7d5c98e64438865dc58bd261265">More...</a><br /></td></tr>
<tr class="separator:a08e4f7d5c98e64438865dc58bd261265"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc71a2dbd68e7d0af441aff2bff10e1f"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#acc71a2dbd68e7d0af441aff2bff10e1f">PeekFront</a> ()</td></tr>
<tr class="memdesc:acc71a2dbd68e7d0af441aff2bff10e1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the element at the front of the queue if the queue is currently not empty, otherwise this method throws an exception to indicate that there is no value in the queue currently. Generally it is preferable to call the TryPeek method and check the return value to see if the operation succeeded. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#acc71a2dbd68e7d0af441aff2bff10e1f">More...</a><br /></td></tr>
<tr class="separator:acc71a2dbd68e7d0af441aff2bff10e1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73b8211b1b701c5d8231f8c7126cffc3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a73b8211b1b701c5d8231f8c7126cffc3">TryPeekFront</a> (out T front)</td></tr>
<tr class="memdesc:a73b8211b1b701c5d8231f8c7126cffc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to read and return the element at the front of the queue if there is any element to return otherwise the method returns false. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a73b8211b1b701c5d8231f8c7126cffc3">More...</a><br /></td></tr>
<tr class="separator:a73b8211b1b701c5d8231f8c7126cffc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63fb1d96fd599d4e7a59c913fa1910be"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a63fb1d96fd599d4e7a59c913fa1910be">PeekBack</a> ()</td></tr>
<tr class="memdesc:a63fb1d96fd599d4e7a59c913fa1910be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the element at the front of the queue if the queue is currently not empty, otherwise this method throws an exception to indicate that there is no value in the queue currently. Generally it is preferable to call the TryPeek method and check the return value to see if the operation succeeded. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a63fb1d96fd599d4e7a59c913fa1910be">More...</a><br /></td></tr>
<tr class="separator:a63fb1d96fd599d4e7a59c913fa1910be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3d268a0d33de8fde003feeea756f32e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#ad3d268a0d33de8fde003feeea756f32e">TryPeekBack</a> (out T back)</td></tr>
<tr class="memdesc:ad3d268a0d33de8fde003feeea756f32e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to read and return the element at the front of the queue if there is any element to return otherwise the method returns false. <a href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#ad3d268a0d33de8fde003feeea756f32e">More...</a><br /></td></tr>
<tr class="separator:ad3d268a0d33de8fde003feeea756f32e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f4e256437576a171ad49d6bf760ad97"><td class="memItemLeft" align="right" valign="top"><a id="a5f4e256437576a171ad49d6bf760ad97"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Clear</b> ()</td></tr>
<tr class="separator:a5f4e256437576a171ad49d6bf760ad97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f1714b2a9c334964362aa0078639751"><td class="memItemLeft" align="right" valign="top"><a id="a8f1714b2a9c334964362aa0078639751"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Contains</b> (T item)</td></tr>
<tr class="separator:a8f1714b2a9c334964362aa0078639751"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedb91c98592abf96c0bf439604665545"><td class="memItemLeft" align="right" valign="top"><a id="aedb91c98592abf96c0bf439604665545"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>CopyTo</b> (T[] array, int index)</td></tr>
<tr class="separator:aedb91c98592abf96c0bf439604665545"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d5b79750434d1670269675ad7069e4b"><td class="memItemLeft" align="right" valign="top"><a id="a1d5b79750434d1670269675ad7069e4b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>CopyTo</b> (Array array, int index)</td></tr>
<tr class="separator:a1d5b79750434d1670269675ad7069e4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fd0656e84de7dc8ab052d79201bb7f8"><td class="memItemLeft" align="right" valign="top"><a id="a0fd0656e84de7dc8ab052d79201bb7f8"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Remove</b> (T item)</td></tr>
<tr class="separator:a0fd0656e84de7dc8ab052d79201bb7f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9594513ea5c24509fabdcc79441a0de1"><td class="memItemLeft" align="right" valign="top"><a id="a9594513ea5c24509fabdcc79441a0de1"></a>
IEnumerator&lt; T &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>GetEnumerator</b> ()</td></tr>
<tr class="separator:a9594513ea5c24509fabdcc79441a0de1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00e1e3bdbdf23bc46629487a68d973d6"><td class="memItemLeft" align="right" valign="top"><a id="a00e1e3bdbdf23bc46629487a68d973d6"></a>
override bool&#160;</td><td class="memItemRight" valign="bottom"><b>Equals</b> (object other)</td></tr>
<tr class="separator:a00e1e3bdbdf23bc46629487a68d973d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5874ad59b939a23f603816fcdf60b8e"><td class="memItemLeft" align="right" valign="top"><a id="ab5874ad59b939a23f603816fcdf60b8e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Equals</b> (IEnumerable&lt; T &gt; other)</td></tr>
<tr class="separator:ab5874ad59b939a23f603816fcdf60b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40a3e4fd455388c202624666c67931bd"><td class="memItemLeft" align="right" valign="top"><a id="a40a3e4fd455388c202624666c67931bd"></a>
override int&#160;</td><td class="memItemRight" valign="bottom"><b>GetHashCode</b> ()</td></tr>
<tr class="separator:a40a3e4fd455388c202624666c67931bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a></td></tr>
<tr class="memitem:a06a6aebe1965a7f1948da72219d90467 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque"><td class="memItemLeft" align="right" valign="top">void ICollection&lt; T &gt;.&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a06a6aebe1965a7f1948da72219d90467">Add</a> (T item)</td></tr>
<tr class="memdesc:a06a6aebe1965a7f1948da72219d90467 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts the given value onto the back of this queue unless the deque has reached its capacity limit in which case this method would throw an exception. Generally it is preferable to call the TryEnqueueBack method and check the return value to determine if the operation succeeded. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a06a6aebe1965a7f1948da72219d90467">More...</a><br /></td></tr>
<tr class="separator:a06a6aebe1965a7f1948da72219d90467 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a6807cf4d3c242e6bc0c6eaf0da8327cf"><td class="memItemLeft" align="right" valign="top"><a id="a6807cf4d3c242e6bc0c6eaf0da8327cf"></a>
readonly object&#160;</td><td class="memItemRight" valign="bottom"><b>sync</b> = new()</td></tr>
<tr class="separator:a6807cf4d3c242e6bc0c6eaf0da8327cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a21fca55088ccefbb31186606dd077d11"><td class="memItemLeft" align="right" valign="top"><a id="a21fca55088ccefbb31186606dd077d11"></a>
const int&#160;</td><td class="memItemRight" valign="bottom"><b>DefaultInitialSize</b> = 16</td></tr>
<tr class="separator:a21fca55088ccefbb31186606dd077d11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14d92bf25f17a518813741c9161db6b5"><td class="memItemLeft" align="right" valign="top"><a id="a14d92bf25f17a518813741c9161db6b5"></a>
const int&#160;</td><td class="memItemRight" valign="bottom"><b>AtLeastOne</b> = 1</td></tr>
<tr class="separator:a14d92bf25f17a518813741c9161db6b5"><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:a62ff5956fed6ffa59b017951ea0e006e"><td class="memItemLeft" align="right" valign="top"><a id="a62ff5956fed6ffa59b017951ea0e006e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsEmpty</b><code> [get]</code></td></tr>
<tr class="separator:a62ff5956fed6ffa59b017951ea0e006e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1029e00182547ec954851b8c9ccd8498"><td class="memItemLeft" align="right" valign="top"><a id="a1029e00182547ec954851b8c9ccd8498"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>Count</b><code> [get]</code></td></tr>
<tr class="separator:a1029e00182547ec954851b8c9ccd8498"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c359b680b3e94536a735040a3fd54eb"><td class="memItemLeft" align="right" valign="top"><a id="a1c359b680b3e94536a735040a3fd54eb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsReadOnly</b><code> [get]</code></td></tr>
<tr class="separator:a1c359b680b3e94536a735040a3fd54eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af85f0a3a676f8f29dfb163ba25df94f6"><td class="memItemLeft" align="right" valign="top"><a id="af85f0a3a676f8f29dfb163ba25df94f6"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsSynchronized</b><code> [get]</code></td></tr>
<tr class="separator:af85f0a3a676f8f29dfb163ba25df94f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5fdf3a1e046380215adb8dd2423af7d"><td class="memItemLeft" align="right" valign="top"><a id="ab5fdf3a1e046380215adb8dd2423af7d"></a>
object&#160;</td><td class="memItemRight" valign="bottom"><b>SyncRoot</b><code> [get]</code></td></tr>
<tr class="separator:ab5fdf3a1e046380215adb8dd2423af7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque"><td colspan="2" onclick="javascript:toggleInherit('properties_interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a></td></tr>
<tr class="memitem:aa71f5f6fd50dc3e784039c0b5f73d119 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque"><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_1Utilities_1_1IDeque.html#aa71f5f6fd50dc3e784039c0b5f73d119">IsEmpty</a><code> [get]</code></td></tr>
<tr class="memdesc:aa71f5f6fd50dc3e784039c0b5f73d119 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the double ended queue is currently empty. This method provides an optimized means of checking for empty in this collection type where otherwise the count property might be used which could require a calculation on each call to determine the current element count. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#aa71f5f6fd50dc3e784039c0b5f73d119">More...</a><br /></td></tr>
<tr class="separator:aa71f5f6fd50dc3e784039c0b5f73d119 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b1a002b94781c9cc77e987e8a390835 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque"><td class="memItemLeft" align="right" valign="top">new int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a6b1a002b94781c9cc77e987e8a390835">Count</a><code> [get]</code></td></tr>
<tr class="memdesc:a6b1a002b94781c9cc77e987e8a390835 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current number of elements contained in the double ended Queue. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a6b1a002b94781c9cc77e987e8a390835">More...</a><br /></td></tr>
<tr class="separator:a6b1a002b94781c9cc77e987e8a390835 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque"><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>A resizable-array implementation of the <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html" title="A linear collection type that supports element insertion and removal at both ends....">IDeque</a> interface which has no capacity restrictions. The backing array will grow as necessary to support usage. This collection is not thread-safe. Null elements are prohibited in this collection. </p>
<h2><a class="anchor" id="autotoc_md2"></a>
0 1 2 3 4 5 6 7 8 9</h2>
<h2><a class="anchor" id="autotoc_md3"></a>
| | | | | | | | | | | Empty head = tail = 0</h2>
<p>H T</p>
<h2><a class="anchor" id="autotoc_md4"></a>
0 1 2 3 4 5 6 7 8 9</h2>
<h2><a class="anchor" id="autotoc_md5"></a>
|x|x|x|x|x| | | | | | Size 5; Head = 0, tail = 5</h2>
<p>H T</p>
<h2><a class="anchor" id="autotoc_md6"></a>
0 1 2 3 4 5 6 7 8 9</h2>
<h2><a class="anchor" id="autotoc_md7"></a>
|x|x|x| | | | | |x|x| Size 5; Head = 8, tail = 3</h2>
<p>T H</p>
<ul>
<li>Head always advances to meat tail even on wrap.</li>
<li>In the inverted case the gap between head and tail is empty elements</li>
</ul>
<p>Following capacity increase when head &gt; tail (or head == tail because of insert when one slot left)</p>
<h2><a class="anchor" id="autotoc_md8"></a>
0 1 2 3 4 5 6 7 8 9</h2>
<h2><a class="anchor" id="autotoc_md9"></a>
|x|x|x| | | | | |x|x| | Size 5; Head = 8, tail = 3</h2>
<p>T H</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>The type that is stored in this double ended queue implementation</td></tr>
</table>
</dd>
</dl>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a774508ee9d8985097d032c8fa8ed9fb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a774508ee9d8985097d032c8fa8ed9fb5">&#9670;&nbsp;</a></span>Dequeue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.Dequeue </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>Removes and returns the element at the front of the queue if the queue is currently not empty, otherwise this method throws an exception to indicate that there is no value in the queue currently. Generally it is preferable to call the TryDequeue method and check the return value to see if the operation succeeded. </p>
<dl class="section return"><dt>Returns</dt><dd>The element at the front of the queue</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">InvalidOperationException</td><td>If the queue is currently empty</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a0fdad89a6539eee8a0f1e9dcf04727ec">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a4da57fc24fea878a81d2fc3461f23b5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4da57fc24fea878a81d2fc3461f23b5d">&#9670;&nbsp;</a></span>DequeueBack()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.DequeueBack </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>Removes and returns the element at the back of the queue if the queue is currently not empty, otherwise this method throws an exception to indicate that there is no value in the queue currently. Generally it is preferable to call the TryDequeue method and check the return value to see if the operation succeeded. </p>
<dl class="section return"><dt>Returns</dt><dd>The element at the back of the queue</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">InvalidOperationException</td><td>If the queue is currently empty</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#ad45de3dbba7fb3fed1feaef8418c1a15">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="aa2d229a9bddf75d57e1d52b677c7985f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2d229a9bddf75d57e1d52b677c7985f">&#9670;&nbsp;</a></span>DequeueFront()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.DequeueFront </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>Removes and returns the element at the front of the queue if the queue is currently not empty, otherwise this method throws an exception to indicate that there is no value in the queue currently. Generally it is preferable to call the TryDequeueFront method and check the return value to see if the operation succeeded. </p>
<dl class="section return"><dt>Returns</dt><dd>The element at the front of the queue</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">InvalidOperationException</td><td>If the queue is currently empty</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a3415339f5530155d481f2c6358695e24">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="ac7943d54fd8884206d8fa39244b65b4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7943d54fd8884206d8fa39244b65b4d">&#9670;&nbsp;</a></span>Enqueue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.Enqueue </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>value</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>Inserts the given value onto the back of this queue unless the queue has reached its capacity limit in which case this method would throw an exception. Generally it is preferable to call the TryEnqueue method and check the return value to determine if the operation succeeded. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">value</td><td>The value to add to the tail of the queue</td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">InvalidOperationException</td><td>If the queue is currently at max capacity</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a401839cd6a9b4f2d0c737c336f5c77ca">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a6ba58d358d56e0fc95a848bd6ac989f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ba58d358d56e0fc95a848bd6ac989f4">&#9670;&nbsp;</a></span>EnqueueBack()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.EnqueueBack </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>value</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>Inserts the given value onto the back of this queue unless the deque has reached its capacity limit in which case this method would throw an exception. Generally it is preferable to call the TryEnqueueBack method and check the return value to determine if the operation succeeded. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">value</td><td>The value to add to the back of the queue</td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">InvalidOperationException</td><td>If the queue is currently at max capacity</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#abd0c0e9eb8a699327764a1eea17cc226">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a8ca2e11262cb5dba7d6f258f46143775"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ca2e11262cb5dba7d6f258f46143775">&#9670;&nbsp;</a></span>EnqueueFront()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.EnqueueFront </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>value</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>Inserts the given value onto the front of this queue unless the queue has reached its capacity limit in which case this method would throw an exception. Generally it is preferable to call the TryEnqueueFront method and check the return value to determine if the operation succeeded. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">value</td><td>The value to add to the front of the queue</td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">InvalidOperationException</td><td>If the queue is currently at max capacity</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a453eb1db1e09212c808788604c027312">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a0d35e2c56a2ab26f48ca02c64be6842e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d35e2c56a2ab26f48ca02c64be6842e">&#9670;&nbsp;</a></span>Peek()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.Peek </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>Returns the element at the front of the queue if the queue is currently not empty, otherwise this method throws an exception to indicate that there is no value in the queue currently. Generally it is preferable to call the TryPeek method and check the return value to see if the operation succeeded. </p>
<dl class="section return"><dt>Returns</dt><dd>The element at the front of the queue</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">InvalidOperationException</td><td>If the queue is currently empty</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a459c8bcf2b68cfe88082d9774f177328">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a63fb1d96fd599d4e7a59c913fa1910be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63fb1d96fd599d4e7a59c913fa1910be">&#9670;&nbsp;</a></span>PeekBack()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.PeekBack </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>Returns the element at the front of the queue if the queue is currently not empty, otherwise this method throws an exception to indicate that there is no value in the queue currently. Generally it is preferable to call the TryPeek method and check the return value to see if the operation succeeded. </p>
<dl class="section return"><dt>Returns</dt><dd>The element at the front of the queue</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">InvalidOperationException</td><td>If the queue is currently empty</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a44ef1ae549a22e0ae2c69d55e9612dbe">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="acc71a2dbd68e7d0af441aff2bff10e1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc71a2dbd68e7d0af441aff2bff10e1f">&#9670;&nbsp;</a></span>PeekFront()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.PeekFront </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>Returns the element at the front of the queue if the queue is currently not empty, otherwise this method throws an exception to indicate that there is no value in the queue currently. Generally it is preferable to call the TryPeek method and check the return value to see if the operation succeeded. </p>
<dl class="section return"><dt>Returns</dt><dd>The element at the front of the queue</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">InvalidOperationException</td><td>If the queue is currently empty</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#adb8353ad6a69256c2113e7e4d45c8cf3">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a3f5e28ca4cd77f7834163200a660096a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f5e28ca4cd77f7834163200a660096a">&#9670;&nbsp;</a></span>TryDequeue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.TryDequeue </td>
<td>(</td>
<td class="paramtype">out T&#160;</td>
<td class="paramname"><em>front</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>Attempt to remove and return the element at the front of the queue if there is any element to return otherwise the method returns false. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">front</td><td>A reference to store the value at the front of the queue</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if a value was removed from the queue and returned.</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#aa1bf5b49c4e2abc5d1be594e45e38620">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a64947b6396d8660d68cd6bc00a5f5312"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64947b6396d8660d68cd6bc00a5f5312">&#9670;&nbsp;</a></span>TryDequeueBack()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.TryDequeueBack </td>
<td>(</td>
<td class="paramtype">out T&#160;</td>
<td class="paramname"><em>back</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>Attempt to remove and return the element at the back of the queue if there is any element to return otherwise the method returns false. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">back</td><td>A reference to store the value at the back of the queue</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if a value was removed from the queue and returned.</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a26709c0e1dd259a13577954d9964a5bd">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="aafec49d46c0f10c2f85efdd3bf1f98cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafec49d46c0f10c2f85efdd3bf1f98cd">&#9670;&nbsp;</a></span>TryDequeueFront()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.TryDequeueFront </td>
<td>(</td>
<td class="paramtype">out T&#160;</td>
<td class="paramname"><em>front</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>Attempt to remove and return the element at the front of the queue if there is any element to return otherwise the method returns false. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">front</td><td>A reference to store the value at the front of the queue</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if a value was removed from the queue and returned.</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a93a127fdbd138f1e4df391574c9c111d">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="af920fcee6abd51871298b0ea707b8e81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af920fcee6abd51871298b0ea707b8e81">&#9670;&nbsp;</a></span>TryEnqueue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.TryEnqueue </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>value</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>Attempts to insert the given value onto the back of this queue unless the deque has reached its capacity limit in which case this method would throw an exception. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">value</td><td>The value to add to the front of the queue</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the value was added to the deque</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a846836cb10340b39f57fa3da53b607d8">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a6aef9ea831d28be34c0435d5a1c1c8e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6aef9ea831d28be34c0435d5a1c1c8e4">&#9670;&nbsp;</a></span>TryEnqueueBack()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.TryEnqueueBack </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>value</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>Attempts to insert the given value onto the back of this queue unless the deque has reached its capacity limit in which case this method would throw an exception. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">value</td><td>The value to add to the front of the queue</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the value was added to the deque</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a42b08ece407b7fec4c3c456ec170172c">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="adc6c33d336f2e2884dad0b965198fc58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc6c33d336f2e2884dad0b965198fc58">&#9670;&nbsp;</a></span>TryEnqueueFront()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.TryEnqueueFront </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>value</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>Attempts to insert the given value onto the front of this queue unless the queue has reached its capacity limit in which case this method would throw an exception. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">value</td><td>The value to add to the front of the queue</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the value was added to the deque</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#ad3f32709bb14206e52659c4df792616d">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a08e4f7d5c98e64438865dc58bd261265"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08e4f7d5c98e64438865dc58bd261265">&#9670;&nbsp;</a></span>TryPeek()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.TryPeek </td>
<td>(</td>
<td class="paramtype">out T&#160;</td>
<td class="paramname"><em>front</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>Attempt to read and return the element at the front of the queue if there is any element to return otherwise the method returns false. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">front</td><td>A reference to store the value at the front of the queue</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if a value was read from the queue and returned.</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a55cfe2e8909d231eb5f3794091b574f4">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="ad3d268a0d33de8fde003feeea756f32e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3d268a0d33de8fde003feeea756f32e">&#9670;&nbsp;</a></span>TryPeekBack()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.TryPeekBack </td>
<td>(</td>
<td class="paramtype">out T&#160;</td>
<td class="paramname"><em>front</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>Attempt to read and return the element at the front of the queue if there is any element to return otherwise the method returns false. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">front</td><td>A reference to store the value at the front of the queue</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if a value was read from the queue and returned.</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a031e45d95c6b6734b27cfc4159ca26a3">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a73b8211b1b701c5d8231f8c7126cffc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73b8211b1b701c5d8231f8c7126cffc3">&#9670;&nbsp;</a></span>TryPeekFront()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html">Apache.Qpid.Proton.Utilities.ArrayDeque</a>&lt; T &gt;.TryPeekFront </td>
<td>(</td>
<td class="paramtype">out T&#160;</td>
<td class="paramname"><em>front</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>Attempt to read and return the element at the front of the queue if there is any element to return otherwise the method returns false. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">front</td><td>A reference to store the value at the front of the queue</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if a value was read from the queue and returned.</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a3d3a4ad8f384bbb99b1bf8951c312fd0">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Proton/Utilities/ArraryDeque.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>