Documentation for c26eea874d

This commit is contained in:
realstealthninja
2025-05-19 11:38:33 +00:00
parent c7a9a42397
commit 14583a2f33
2829 changed files with 30266 additions and 21669 deletions

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: data_structures::Stack&lt; T &gt; Class Template Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -60,7 +60,7 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<!-- Generated by Doxygen 1.13.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
@@ -194,7 +194,7 @@ class data_structures::Stack&lt; T &gt;</div><p>Class representation of a stack.
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -208,7 +208,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -222,7 +222,8 @@ template&lt;typename T &gt; </div>
</dl>
<p class="definition">Definition at line <a class="el" href="../../d8/d96/stack__using__array_8cpp_source.html#l00028">28</a> of file <a class="el" href="../../d8/d96/stack__using__array_8cpp_source.html">stack_using_array.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 28</span>: <a class="code hl_variable" href="#a88a10062c0662a385f172669f2f19b86">stackSize</a>(size), <a class="code hl_variable" href="#a71afc94746d47fb2c0c4fa4b612edee6">stackIndex</a>(-1), <a class="code hl_variable" href="#a3f912a0e9bed5b24b206584e3010dce3">stack</a>(<span class="keyword">new</span> T[size]) {}</div>
<div class="fragment"><div class="line"><span class="lineno"> 28</span>: <a class="code hl_variable" href="#a88a10062c0662a385f172669f2f19b86">stackSize</a>(<a class="code hl_class" href="../../d2/dc8/classdata__structures_1_1_stack.html">size</a>), <a class="code hl_variable" href="#a71afc94746d47fb2c0c4fa4b612edee6">stackIndex</a>(-1), <a class="code hl_variable" href="#a3f912a0e9bed5b24b206584e3010dce3">stack</a>(<span class="keyword">new</span> <a class="code hl_class" href="../../d2/dc8/classdata__structures_1_1_stack.html">T</a>[<a class="code hl_class" href="../../d2/dc8/classdata__structures_1_1_stack.html">size</a>]) {}</div>
<div class="ttc" id="aclassdata__structures_1_1_stack_html"><div class="ttname"><a href="../../d2/dc8/classdata__structures_1_1_stack.html">data_structures::Stack</a></div><div class="ttdoc">Class representation of a stack.</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d96/stack__using__array_8cpp_source.html#l00016">stack_using_array.cpp:16</a></div></div>
<div class="ttc" id="aclassdata__structures_1_1_stack_html_a3f912a0e9bed5b24b206584e3010dce3"><div class="ttname"><a href="#a3f912a0e9bed5b24b206584e3010dce3">data_structures::Stack::stack</a></div><div class="ttdeci">std::unique_ptr&lt; T[]&gt; stack</div><div class="ttdoc">Smart pointer to the stack array.</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d96/stack__using__array_8cpp_source.html#l00018">stack_using_array.cpp:18</a></div></div>
<div class="ttc" id="aclassdata__structures_1_1_stack_html_a71afc94746d47fb2c0c4fa4b612edee6"><div class="ttname"><a href="#a71afc94746d47fb2c0c4fa4b612edee6">data_structures::Stack::stackIndex</a></div><div class="ttdeci">int stackIndex</div><div class="ttdoc">Index pointing to the top element of the stack.</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d96/stack__using__array_8cpp_source.html#l00020">stack_using_array.cpp:20</a></div></div>
<div class="ttc" id="aclassdata__structures_1_1_stack_html_a88a10062c0662a385f172669f2f19b86"><div class="ttname"><a href="#a88a10062c0662a385f172669f2f19b86">data_structures::Stack::stackSize</a></div><div class="ttdeci">int stackSize</div><div class="ttdoc">Maximum size of the stack.</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d96/stack__using__array_8cpp_source.html#l00019">stack_using_array.cpp:19</a></div></div>
@@ -236,7 +237,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -250,7 +251,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -267,12 +268,11 @@ template&lt;typename T &gt; </div>
<p class="definition">Definition at line <a class="el" href="../../d8/d96/stack__using__array_8cpp_source.html#l00097">97</a> of file <a class="el" href="../../d8/d96/stack__using__array_8cpp_source.html">stack_using_array.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 97</span> {</div>
<div class="line"><span class="lineno"> 98</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="#a04e2e7cb58b2de6d3a15053bfaaf6080">empty</a>()) {</div>
<div class="line"><span class="lineno"> 99</span> <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;Stack underflow&quot;</span>);</div>
<div class="line"><span class="lineno"> 99</span> <span class="keywordflow">throw</span> <a class="code hl_class" href="../../d2/dc8/classdata__structures_1_1_stack.html">std::out_of_range</a>(<span class="stringliteral">&quot;Stack underflow&quot;</span>);</div>
<div class="line"><span class="lineno"> 100</span> }</div>
<div class="line"><span class="lineno"> 101</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>[0];</div>
<div class="line"><span class="lineno"> 101</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="#a3f912a0e9bed5b24b206584e3010dce3">stack</a>[0];</div>
<div class="line"><span class="lineno"> 102</span> }</div>
<div class="ttc" id="aclassdata__structures_1_1_stack_html_a04e2e7cb58b2de6d3a15053bfaaf6080"><div class="ttname"><a href="#a04e2e7cb58b2de6d3a15053bfaaf6080">data_structures::Stack::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Checks if the stack is empty.</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d96/stack__using__array_8cpp_source.html#l00041">stack_using_array.cpp:41</a></div></div>
<div class="ttc" id="aclassstack_html"><div class="ttname"><a href="../../d1/dc2/classstack.html">stack</a></div><div class="ttdoc">for std::invalid_argument</div><div class="ttdef"><b>Definition</b> <a href="../../df/d47/stack_8hpp_source.html#l00019">stack.hpp:19</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -282,7 +282,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -296,7 +296,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -315,7 +315,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -329,7 +329,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -348,7 +348,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -362,7 +362,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -379,9 +379,9 @@ template&lt;typename T &gt; </div>
<p class="definition">Definition at line <a class="el" href="../../d8/d96/stack__using__array_8cpp_source.html#l00062">62</a> of file <a class="el" href="../../d8/d96/stack__using__array_8cpp_source.html">stack_using_array.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 62</span> {</div>
<div class="line"><span class="lineno"> 63</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="#a04e2e7cb58b2de6d3a15053bfaaf6080">empty</a>()) {</div>
<div class="line"><span class="lineno"> 64</span> <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;Stack underflow&quot;</span>);</div>
<div class="line"><span class="lineno"> 64</span> <span class="keywordflow">throw</span> <a class="code hl_class" href="../../d2/dc8/classdata__structures_1_1_stack.html">std::out_of_range</a>(<span class="stringliteral">&quot;Stack underflow&quot;</span>);</div>
<div class="line"><span class="lineno"> 65</span> }</div>
<div class="line"><span class="lineno"> 66</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>[<a class="code hl_variable" href="#a71afc94746d47fb2c0c4fa4b612edee6">stackIndex</a>--];</div>
<div class="line"><span class="lineno"> 66</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="#a3f912a0e9bed5b24b206584e3010dce3">stack</a>[<a class="code hl_variable" href="#a71afc94746d47fb2c0c4fa4b612edee6">stackIndex</a>--];</div>
<div class="line"><span class="lineno"> 67</span> }</div>
</div><!-- fragment -->
</div>
@@ -392,7 +392,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -406,7 +406,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -422,9 +422,9 @@ template&lt;typename T &gt; </div>
<p class="definition">Definition at line <a class="el" href="../../d8/d96/stack__using__array_8cpp_source.html#l00048">48</a> of file <a class="el" href="../../d8/d96/stack__using__array_8cpp_source.html">stack_using_array.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 48</span> {</div>
<div class="line"><span class="lineno"> 49</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="#aa753346c8ee5f21d4f4482398fe6d5c1">full</a>()) {</div>
<div class="line"><span class="lineno"> 50</span> <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;Stack overflow&quot;</span>);</div>
<div class="line"><span class="lineno"> 50</span> <span class="keywordflow">throw</span> <a class="code hl_class" href="../../d2/dc8/classdata__structures_1_1_stack.html">std::out_of_range</a>(<span class="stringliteral">&quot;Stack overflow&quot;</span>);</div>
<div class="line"><span class="lineno"> 51</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><span class="lineno"> 52</span> <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>[++<a class="code hl_variable" href="#a71afc94746d47fb2c0c4fa4b612edee6">stackIndex</a>] = element;</div>
<div class="line"><span class="lineno"> 52</span> <a class="code hl_variable" href="#a3f912a0e9bed5b24b206584e3010dce3">stack</a>[++<a class="code hl_variable" href="#a71afc94746d47fb2c0c4fa4b612edee6">stackIndex</a>] = <a class="code hl_class" href="../../d2/dc8/classdata__structures_1_1_stack.html">element</a>;</div>
<div class="line"><span class="lineno"> 53</span> }</div>
<div class="line"><span class="lineno"> 54</span> }</div>
<div class="ttc" id="aclassdata__structures_1_1_stack_html_aa753346c8ee5f21d4f4482398fe6d5c1"><div class="ttname"><a href="#aa753346c8ee5f21d4f4482398fe6d5c1">data_structures::Stack::full</a></div><div class="ttdeci">bool full() const</div><div class="ttdoc">Checks if the stack is full.</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d96/stack__using__array_8cpp_source.html#l00035">stack_using_array.cpp:35</a></div></div>
@@ -437,7 +437,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -451,7 +451,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -460,8 +460,8 @@ template&lt;typename T &gt; </div>
<p class="definition">Definition at line <a class="el" href="../../d8/d96/stack__using__array_8cpp_source.html#l00072">72</a> of file <a class="el" href="../../d8/d96/stack__using__array_8cpp_source.html">stack_using_array.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 72</span> {</div>
<div class="line"><span class="lineno"> 73</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt;= <a class="code hl_variable" href="#a71afc94746d47fb2c0c4fa4b612edee6">stackIndex</a>; i++) {</div>
<div class="line"><span class="lineno"> 74</span> std::cout &lt;&lt; <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>[i] &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 73</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> <a class="code hl_class" href="../../d2/dc8/classdata__structures_1_1_stack.html">i</a> = 0; <a class="code hl_class" href="../../d2/dc8/classdata__structures_1_1_stack.html">i</a> &lt;= <a class="code hl_variable" href="#a71afc94746d47fb2c0c4fa4b612edee6">stackIndex</a>; <a class="code hl_class" href="../../d2/dc8/classdata__structures_1_1_stack.html">i</a>++) {</div>
<div class="line"><span class="lineno"> 74</span> <a class="code hl_class" href="../../d2/dc8/classdata__structures_1_1_stack.html">std::cout</a> &lt;&lt; <a class="code hl_variable" href="#a3f912a0e9bed5b24b206584e3010dce3">stack</a>[<a class="code hl_class" href="../../d2/dc8/classdata__structures_1_1_stack.html">i</a>] &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 75</span> }</div>
<div class="line"><span class="lineno"> 76</span> }</div>
</div><!-- fragment -->
@@ -473,7 +473,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -487,7 +487,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -504,9 +504,9 @@ template&lt;typename T &gt; </div>
<p class="definition">Definition at line <a class="el" href="../../d8/d96/stack__using__array_8cpp_source.html#l00084">84</a> of file <a class="el" href="../../d8/d96/stack__using__array_8cpp_source.html">stack_using_array.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 84</span> {</div>
<div class="line"><span class="lineno"> 85</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="#a04e2e7cb58b2de6d3a15053bfaaf6080">empty</a>()) {</div>
<div class="line"><span class="lineno"> 86</span> <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;Stack underflow&quot;</span>);</div>
<div class="line"><span class="lineno"> 86</span> <span class="keywordflow">throw</span> <a class="code hl_class" href="../../d2/dc8/classdata__structures_1_1_stack.html">std::out_of_range</a>(<span class="stringliteral">&quot;Stack underflow&quot;</span>);</div>
<div class="line"><span class="lineno"> 87</span> }</div>
<div class="line"><span class="lineno"> 88</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>[<a class="code hl_variable" href="#a71afc94746d47fb2c0c4fa4b612edee6">stackIndex</a>];</div>
<div class="line"><span class="lineno"> 88</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="#a3f912a0e9bed5b24b206584e3010dce3">stack</a>[<a class="code hl_variable" href="#a71afc94746d47fb2c0c4fa4b612edee6">stackIndex</a>];</div>
<div class="line"><span class="lineno"> 89</span> }</div>
</div><!-- fragment -->
</div>
@@ -518,7 +518,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -529,7 +529,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -546,7 +546,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -557,7 +557,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -574,7 +574,7 @@ template&lt;typename T &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
template&lt;typename T&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@@ -585,7 +585,7 @@ template&lt;typename T &gt; </div>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
<span class="mlabels"><span class="mlabel private">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
@@ -605,7 +605,7 @@ template&lt;typename T &gt; </div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d5/d3c/namespacedata__structures.html">data_structures</a></li><li class="navelem"><a class="el" href="../../d2/dc8/classdata__structures_1_1_stack.html">Stack</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>