blob: e32d7d78245354631157831fe6f3247e8193bce4 [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.IDeque&lt; T &gt; Interface 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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">IDeque</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt; Interface Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A linear collection type that supports element insertion and removal at both ends. This double ended queue type will most commonly be implemented with no underlying fixed capacity limit however the interface allows for restricted capacity versions to be implemented all the same.
<a href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.png" usemap="#Apache.Qpid.Proton.Utilities.IDeque_3C_20T_20_3E_map" alt=""/>
<map id="Apache.Qpid.Proton.Utilities.IDeque_3C_20T_20_3E_map" name="Apache.Qpid.Proton.Utilities.IDeque_3C_20T_20_3E_map">
<area href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html" title="A resizable-array implementation of the IDeque interface which has no capacity restrictions...." alt="Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;" shape="rect" coords="712,112,987,136"/>
</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:a401839cd6a9b4f2d0c737c336f5c77ca"><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_1Utilities_1_1IDeque.html#a401839cd6a9b4f2d0c737c336f5c77ca">Enqueue</a> (T value)</td></tr>
<tr class="memdesc:a401839cd6a9b4f2d0c737c336f5c77ca"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a401839cd6a9b4f2d0c737c336f5c77ca">More...</a><br /></td></tr>
<tr class="separator:a401839cd6a9b4f2d0c737c336f5c77ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a846836cb10340b39f57fa3da53b607d8"><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#a846836cb10340b39f57fa3da53b607d8">TryEnqueue</a> (T value)</td></tr>
<tr class="memdesc:a846836cb10340b39f57fa3da53b607d8"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a846836cb10340b39f57fa3da53b607d8">More...</a><br /></td></tr>
<tr class="separator:a846836cb10340b39f57fa3da53b607d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a453eb1db1e09212c808788604c027312"><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_1Utilities_1_1IDeque.html#a453eb1db1e09212c808788604c027312">EnqueueFront</a> (T value)</td></tr>
<tr class="memdesc:a453eb1db1e09212c808788604c027312"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a453eb1db1e09212c808788604c027312">More...</a><br /></td></tr>
<tr class="separator:a453eb1db1e09212c808788604c027312"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3f32709bb14206e52659c4df792616d"><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#ad3f32709bb14206e52659c4df792616d">TryEnqueueFront</a> (T value)</td></tr>
<tr class="memdesc:ad3f32709bb14206e52659c4df792616d"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#ad3f32709bb14206e52659c4df792616d">More...</a><br /></td></tr>
<tr class="separator:ad3f32709bb14206e52659c4df792616d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd0c0e9eb8a699327764a1eea17cc226"><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_1Utilities_1_1IDeque.html#abd0c0e9eb8a699327764a1eea17cc226">EnqueueBack</a> (T value)</td></tr>
<tr class="memdesc:abd0c0e9eb8a699327764a1eea17cc226"><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#abd0c0e9eb8a699327764a1eea17cc226">More...</a><br /></td></tr>
<tr class="separator:abd0c0e9eb8a699327764a1eea17cc226"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42b08ece407b7fec4c3c456ec170172c"><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#a42b08ece407b7fec4c3c456ec170172c">TryEnqueueBack</a> (T value)</td></tr>
<tr class="memdesc:a42b08ece407b7fec4c3c456ec170172c"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a42b08ece407b7fec4c3c456ec170172c">More...</a><br /></td></tr>
<tr class="separator:a42b08ece407b7fec4c3c456ec170172c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fdad89a6539eee8a0f1e9dcf04727ec"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a0fdad89a6539eee8a0f1e9dcf04727ec">Dequeue</a> ()</td></tr>
<tr class="memdesc:a0fdad89a6539eee8a0f1e9dcf04727ec"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a0fdad89a6539eee8a0f1e9dcf04727ec">More...</a><br /></td></tr>
<tr class="separator:a0fdad89a6539eee8a0f1e9dcf04727ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1bf5b49c4e2abc5d1be594e45e38620"><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#aa1bf5b49c4e2abc5d1be594e45e38620">TryDequeue</a> (out T front)</td></tr>
<tr class="memdesc:aa1bf5b49c4e2abc5d1be594e45e38620"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#aa1bf5b49c4e2abc5d1be594e45e38620">More...</a><br /></td></tr>
<tr class="separator:aa1bf5b49c4e2abc5d1be594e45e38620"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a459c8bcf2b68cfe88082d9774f177328"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a459c8bcf2b68cfe88082d9774f177328">Peek</a> ()</td></tr>
<tr class="memdesc:a459c8bcf2b68cfe88082d9774f177328"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a459c8bcf2b68cfe88082d9774f177328">More...</a><br /></td></tr>
<tr class="separator:a459c8bcf2b68cfe88082d9774f177328"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55cfe2e8909d231eb5f3794091b574f4"><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#a55cfe2e8909d231eb5f3794091b574f4">TryPeek</a> (out T front)</td></tr>
<tr class="memdesc:a55cfe2e8909d231eb5f3794091b574f4"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a55cfe2e8909d231eb5f3794091b574f4">More...</a><br /></td></tr>
<tr class="separator:a55cfe2e8909d231eb5f3794091b574f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb8353ad6a69256c2113e7e4d45c8cf3"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#adb8353ad6a69256c2113e7e4d45c8cf3">PeekFront</a> ()</td></tr>
<tr class="memdesc:adb8353ad6a69256c2113e7e4d45c8cf3"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#adb8353ad6a69256c2113e7e4d45c8cf3">More...</a><br /></td></tr>
<tr class="separator:adb8353ad6a69256c2113e7e4d45c8cf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d3a4ad8f384bbb99b1bf8951c312fd0"><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#a3d3a4ad8f384bbb99b1bf8951c312fd0">TryPeekFront</a> (out T front)</td></tr>
<tr class="memdesc:a3d3a4ad8f384bbb99b1bf8951c312fd0"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a3d3a4ad8f384bbb99b1bf8951c312fd0">More...</a><br /></td></tr>
<tr class="separator:a3d3a4ad8f384bbb99b1bf8951c312fd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44ef1ae549a22e0ae2c69d55e9612dbe"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a44ef1ae549a22e0ae2c69d55e9612dbe">PeekBack</a> ()</td></tr>
<tr class="memdesc:a44ef1ae549a22e0ae2c69d55e9612dbe"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a44ef1ae549a22e0ae2c69d55e9612dbe">More...</a><br /></td></tr>
<tr class="separator:a44ef1ae549a22e0ae2c69d55e9612dbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a031e45d95c6b6734b27cfc4159ca26a3"><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#a031e45d95c6b6734b27cfc4159ca26a3">TryPeekBack</a> (out T front)</td></tr>
<tr class="memdesc:a031e45d95c6b6734b27cfc4159ca26a3"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a031e45d95c6b6734b27cfc4159ca26a3">More...</a><br /></td></tr>
<tr class="separator:a031e45d95c6b6734b27cfc4159ca26a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3415339f5530155d481f2c6358695e24"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a3415339f5530155d481f2c6358695e24">DequeueFront</a> ()</td></tr>
<tr class="memdesc:a3415339f5530155d481f2c6358695e24"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a3415339f5530155d481f2c6358695e24">More...</a><br /></td></tr>
<tr class="separator:a3415339f5530155d481f2c6358695e24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93a127fdbd138f1e4df391574c9c111d"><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#a93a127fdbd138f1e4df391574c9c111d">TryDequeueFront</a> (out T front)</td></tr>
<tr class="memdesc:a93a127fdbd138f1e4df391574c9c111d"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a93a127fdbd138f1e4df391574c9c111d">More...</a><br /></td></tr>
<tr class="separator:a93a127fdbd138f1e4df391574c9c111d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad45de3dbba7fb3fed1feaef8418c1a15"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#ad45de3dbba7fb3fed1feaef8418c1a15">DequeueBack</a> ()</td></tr>
<tr class="memdesc:ad45de3dbba7fb3fed1feaef8418c1a15"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#ad45de3dbba7fb3fed1feaef8418c1a15">More...</a><br /></td></tr>
<tr class="separator:ad45de3dbba7fb3fed1feaef8418c1a15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26709c0e1dd259a13577954d9964a5bd"><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#a26709c0e1dd259a13577954d9964a5bd">TryDequeueBack</a> (out T back)</td></tr>
<tr class="memdesc:a26709c0e1dd259a13577954d9964a5bd"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a26709c0e1dd259a13577954d9964a5bd">More...</a><br /></td></tr>
<tr class="separator:a26709c0e1dd259a13577954d9964a5bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06a6aebe1965a7f1948da72219d90467"><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"><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"><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:aa71f5f6fd50dc3e784039c0b5f73d119"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b1a002b94781c9cc77e987e8a390835"><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"><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"><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 linear collection type that supports element insertion and removal at both ends. This double ended queue type will most commonly be implemented with no underlying fixed capacity limit however the interface allows for restricted capacity versions to be implemented all the same. </p>
<p>This interface defines methods to access the elements at both ends of the deque. Methods are provided to insert, remove, and or peek at elements. Each of these methods exists in two forms: one throws an exception if the operation fails, the other returns a boolean value to indicate if the operation succeeded or failed. The try based form of the insert operation is designed specifically for use with capacity-restricted queue implementations; in most implementations, insert operations cannot fail. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>The type that is carried in this collection</td></tr>
</table>
</dd>
</dl>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a06a6aebe1965a7f1948da72219d90467"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06a6aebe1965a7f1948da72219d90467">&#9670;&nbsp;</a></span>Add()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ICollection&lt;T&gt;. <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</a>&lt; T &gt;.Add </td>
<td>(</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>item</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>
</div>
</div>
<a id="a0fdad89a6539eee8a0f1e9dcf04727ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fdad89a6539eee8a0f1e9dcf04727ec">&#9670;&nbsp;</a></span>Dequeue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</a>&lt; T &gt;.Dequeue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a774508ee9d8985097d032c8fa8ed9fb5">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="ad45de3dbba7fb3fed1feaef8418c1a15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad45de3dbba7fb3fed1feaef8418c1a15">&#9670;&nbsp;</a></span>DequeueBack()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</a>&lt; T &gt;.DequeueBack </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a4da57fc24fea878a81d2fc3461f23b5d">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a3415339f5530155d481f2c6358695e24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3415339f5530155d481f2c6358695e24">&#9670;&nbsp;</a></span>DequeueFront()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</a>&lt; T &gt;.DequeueFront </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#aa2d229a9bddf75d57e1d52b677c7985f">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a401839cd6a9b4f2d0c737c336f5c77ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a401839cd6a9b4f2d0c737c336f5c77ca">&#9670;&nbsp;</a></span>Enqueue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</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>
</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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#ac7943d54fd8884206d8fa39244b65b4d">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="abd0c0e9eb8a699327764a1eea17cc226"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd0c0e9eb8a699327764a1eea17cc226">&#9670;&nbsp;</a></span>EnqueueBack()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</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>
</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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a6ba58d358d56e0fc95a848bd6ac989f4">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a453eb1db1e09212c808788604c027312"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a453eb1db1e09212c808788604c027312">&#9670;&nbsp;</a></span>EnqueueFront()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</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>
</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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a8ca2e11262cb5dba7d6f258f46143775">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a459c8bcf2b68cfe88082d9774f177328"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a459c8bcf2b68cfe88082d9774f177328">&#9670;&nbsp;</a></span>Peek()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</a>&lt; T &gt;.Peek </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a0d35e2c56a2ab26f48ca02c64be6842e">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a44ef1ae549a22e0ae2c69d55e9612dbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44ef1ae549a22e0ae2c69d55e9612dbe">&#9670;&nbsp;</a></span>PeekBack()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</a>&lt; T &gt;.PeekBack </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a63fb1d96fd599d4e7a59c913fa1910be">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="adb8353ad6a69256c2113e7e4d45c8cf3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb8353ad6a69256c2113e7e4d45c8cf3">&#9670;&nbsp;</a></span>PeekFront()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</a>&lt; T &gt;.PeekFront </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#acc71a2dbd68e7d0af441aff2bff10e1f">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="aa1bf5b49c4e2abc5d1be594e45e38620"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1bf5b49c4e2abc5d1be594e45e38620">&#9670;&nbsp;</a></span>TryDequeue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</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>
</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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a3f5e28ca4cd77f7834163200a660096a">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a26709c0e1dd259a13577954d9964a5bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26709c0e1dd259a13577954d9964a5bd">&#9670;&nbsp;</a></span>TryDequeueBack()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</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>
</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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a64947b6396d8660d68cd6bc00a5f5312">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a93a127fdbd138f1e4df391574c9c111d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93a127fdbd138f1e4df391574c9c111d">&#9670;&nbsp;</a></span>TryDequeueFront()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</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>
</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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#aafec49d46c0f10c2f85efdd3bf1f98cd">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a846836cb10340b39f57fa3da53b607d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a846836cb10340b39f57fa3da53b607d8">&#9670;&nbsp;</a></span>TryEnqueue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</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>
</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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#af920fcee6abd51871298b0ea707b8e81">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a42b08ece407b7fec4c3c456ec170172c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42b08ece407b7fec4c3c456ec170172c">&#9670;&nbsp;</a></span>TryEnqueueBack()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</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>
</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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a6aef9ea831d28be34c0435d5a1c1c8e4">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="ad3f32709bb14206e52659c4df792616d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3f32709bb14206e52659c4df792616d">&#9670;&nbsp;</a></span>TryEnqueueFront()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</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>
</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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#adc6c33d336f2e2884dad0b965198fc58">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a55cfe2e8909d231eb5f3794091b574f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55cfe2e8909d231eb5f3794091b574f4">&#9670;&nbsp;</a></span>TryPeek()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</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>
</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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a08e4f7d5c98e64438865dc58bd261265">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a031e45d95c6b6734b27cfc4159ca26a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a031e45d95c6b6734b27cfc4159ca26a3">&#9670;&nbsp;</a></span>TryPeekBack()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</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>
</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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#ad3d268a0d33de8fde003feeea756f32e">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<a id="a3d3a4ad8f384bbb99b1bf8951c312fd0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d3a4ad8f384bbb99b1bf8951c312fd0">&#9670;&nbsp;</a></span>TryPeekFront()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</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>
</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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a73b8211b1b701c5d8231f8c7126cffc3">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>.</p>
</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a id="a6b1a002b94781c9cc77e987e8a390835"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b1a002b94781c9cc77e987e8a390835">&#9670;&nbsp;</a></span>Count</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">new int <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</a>&lt; T &gt;.Count</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the current number of elements contained in the double ended Queue. </p>
</div>
</div>
<a id="aa71f5f6fd50dc3e784039c0b5f73d119"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa71f5f6fd50dc3e784039c0b5f73d119">&#9670;&nbsp;</a></span>IsEmpty</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="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html">Apache.Qpid.Proton.Utilities.IDeque</a>&lt; T &gt;.IsEmpty</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>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. </p>
</div>
</div>
<hr/>The documentation for this interface was generated from the following file:<ul>
<li>src/Proton/Utilities/IDeque.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>