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++: cpu_scheduling_algorithms/fcfs_scheduling.cpp Source File</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');
@@ -124,7 +124,8 @@ $(function(){initNavTree('df/d47/fcfs__scheduling_8cpp_source.html','../../'); i
<div class="headertitle"><div class="title">fcfs_scheduling.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../df/d47/fcfs__scheduling_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<a href="../../df/d47/fcfs__scheduling_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &lt;algorithm&gt;</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &lt;cassert&gt;</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
@@ -159,7 +160,7 @@ $(function(){initNavTree('df/d47/fcfs__scheduling_8cpp_source.html','../../'); i
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span>}</div>
</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> T, <span class="keyword">typename</span> E&gt;</div>
<div class="foldopen" id="foldopen00063" data-start="{" data-end="};">
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="../../de/d4a/class_compare.html"> 63</a></span><span class="keyword">class </span><a class="code hl_class" href="../../de/d4a/class_compare.html">Compare</a> {</div>
@@ -180,7 +181,7 @@ $(function(){initNavTree('df/d47/fcfs__scheduling_8cpp_source.html','../../'); i
</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span>};</div>
</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> T, <span class="keyword">typename</span> E&gt;</div>
<div class="foldopen" id="foldopen00098" data-start="{" data-end="};">
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="../../dd/dca/class_f_c_f_s.html"> 98</a></span><span class="keyword">class </span><a class="code hl_class" href="../../dd/dca/class_f_c_f_s.html">FCFS</a> {</div>
@@ -208,7 +209,7 @@ $(function(){initNavTree('df/d47/fcfs__scheduling_8cpp_source.html','../../'); i
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> }</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> }</div>
</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span></div>
<div class="foldopen" id="foldopen00155" data-start="{" data-end="}">
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"><a class="line" href="../../dd/dca/class_f_c_f_s.html#aa25dbe30ba9930b5a7c1a6d11758bd91"> 155</a></span> vector&lt;tuple&lt;S, T, E, double, double, double&gt;&gt; <a class="code hl_function" href="../../dd/dca/class_f_c_f_s.html#aa25dbe30ba9930b5a7c1a6d11758bd91">scheduleForFcfs</a>() {</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="comment">// Variable to keep track of time elapsed so far</span></div>
@@ -242,7 +243,7 @@ $(function(){initNavTree('df/d47/fcfs__scheduling_8cpp_source.html','../../'); i
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> }</div>
</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> </div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span></div>
<div class="foldopen" id="foldopen00192" data-start="{" data-end="}">
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="../../dd/dca/class_f_c_f_s.html#abb361a612b18bb189aa6d3c49288b793"> 192</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/dca/class_f_c_f_s.html#abb361a612b18bb189aa6d3c49288b793">printResult</a>() {</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> cout &lt;&lt; <span class="stringliteral">&quot;Status of all the proceses post completion is as follows:&quot;</span></div>
@@ -267,7 +268,7 @@ $(function(){initNavTree('df/d47/fcfs__scheduling_8cpp_source.html','../../'); i
</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span>};</div>
</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> </div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span></div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> S, <span class="keyword">typename</span> T, <span class="keyword">typename</span> E&gt;</div>
<div class="foldopen" id="foldopen00226" data-start="{" data-end="}">
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"><a class="line" href="../../df/d47/fcfs__scheduling_8cpp.html#a8f2b90cb64d63a7080965e66a05ccf86"> 226</a></span>vector&lt;tuple&lt;S, T, E, double, double, double&gt;&gt; <a class="code hl_function" href="../../df/d47/fcfs__scheduling_8cpp.html#a8f2b90cb64d63a7080965e66a05ccf86">get_final_status</a>(</div>
@@ -297,7 +298,7 @@ $(function(){initNavTree('df/d47/fcfs__scheduling_8cpp_source.html','../../'); i
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span>}</div>
</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> </div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span></div>
<div class="foldopen" id="foldopen00257" data-start="{" data-end="}">
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"><a class="line" href="../../df/d47/fcfs__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d"> 257</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../df/d47/fcfs__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>() {</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i{}; i &lt; 1000; i++) {</div>
@@ -326,7 +327,7 @@ $(function(){initNavTree('df/d47/fcfs__scheduling_8cpp_source.html','../../'); i
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> cout &lt;&lt; <span class="stringliteral">&quot;All the tests have successfully passed!&quot;</span> &lt;&lt; <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span>}</div>
</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> </div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span></div>
<div class="foldopen" id="foldopen00288" data-start="{" data-end="}">
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"><a class="line" href="../../df/d47/fcfs__scheduling_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4"> 288</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../df/d47/fcfs__scheduling_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a>() {</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <a class="code hl_function" href="../../df/d47/fcfs__scheduling_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
@@ -336,7 +337,7 @@ $(function(){initNavTree('df/d47/fcfs__scheduling_8cpp_source.html','../../'); i
<div class="ttc" id="aclass_compare_html"><div class="ttname"><a href="../../de/d4a/class_compare.html">Compare</a></div><div class="ttdoc">Comparator class for priority queue.</div><div class="ttdef"><b>Definition</b> <a href="#l00063">fcfs_scheduling.cpp:63</a></div></div>
<div class="ttc" id="aclass_compare_html_afbdf9a44adb49728dc704155d7d1570c"><div class="ttname"><a href="../../de/d4a/class_compare.html#afbdf9a44adb49728dc704155d7d1570c">Compare::operator()</a></div><div class="ttdeci">bool operator()(tuple&lt; S, T, E, double, double, double &gt; &amp;t1, tuple&lt; S, T, E, double, double, double &gt; &amp;t2)</div><div class="ttdoc">A comparator function that checks whether to swap the two tuples or not. to https://www....</div><div class="ttdef"><b>Definition</b> <a href="#l00076">fcfs_scheduling.cpp:76</a></div></div>
<div class="ttc" id="aclass_f_c_f_s_html"><div class="ttname"><a href="../../dd/dca/class_f_c_f_s.html">FCFS</a></div><div class="ttdoc">Class which implements the FCFS scheduling algorithm.</div><div class="ttdef"><b>Definition</b> <a href="#l00098">fcfs_scheduling.cpp:98</a></div></div>
<div class="ttc" id="aclass_f_c_f_s_html_a8fbfe4d85f7576b4a7aade07d29fbd69"><div class="ttname"><a href="../../dd/dca/class_f_c_f_s.html#a8fbfe4d85f7576b4a7aade07d29fbd69">FCFS::addProcess</a></div><div class="ttdeci">void addProcess(S id, T arrival, E burst)</div><div class="ttdoc">Adds the process to the ready queue if it isn't already there.</div><div class="ttdef"><b>Definition</b> <a href="#l00130">fcfs_scheduling.cpp:130</a></div></div>
<div class="ttc" id="aclass_f_c_f_s_html_a8fbfe4d85f7576b4a7aade07d29fbd69"><div class="ttname"><a href="../../dd/dca/class_f_c_f_s.html#a8fbfe4d85f7576b4a7aade07d29fbd69">FCFS::addProcess</a></div><div class="ttdeci">void addProcess(S id, T arrival, E burst)</div><div class="ttdoc">Adds the process to the ready queue if it isn&#39;t already there.</div><div class="ttdef"><b>Definition</b> <a href="#l00130">fcfs_scheduling.cpp:130</a></div></div>
<div class="ttc" id="aclass_f_c_f_s_html_aa25dbe30ba9930b5a7c1a6d11758bd91"><div class="ttname"><a href="../../dd/dca/class_f_c_f_s.html#aa25dbe30ba9930b5a7c1a6d11758bd91">FCFS::scheduleForFcfs</a></div><div class="ttdeci">vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt; scheduleForFcfs()</div><div class="ttdoc">Algorithm for scheduling CPU processes according to the First Come First Serve(FCFS) scheduling algor...</div><div class="ttdef"><b>Definition</b> <a href="#l00155">fcfs_scheduling.cpp:155</a></div></div>
<div class="ttc" id="aclass_f_c_f_s_html_abb361a612b18bb189aa6d3c49288b793"><div class="ttname"><a href="../../dd/dca/class_f_c_f_s.html#abb361a612b18bb189aa6d3c49288b793">FCFS::printResult</a></div><div class="ttdeci">void printResult()</div><div class="ttdoc">Utility function for printing the status of each process after execution.</div><div class="ttdef"><b>Definition</b> <a href="#l00192">fcfs_scheduling.cpp:192</a></div></div>
<div class="ttc" id="aclass_f_c_f_s_html_af2594e22a867b308e027623940193d46"><div class="ttname"><a href="../../dd/dca/class_f_c_f_s.html#af2594e22a867b308e027623940193d46">FCFS::schedule</a></div><div class="ttdeci">priority_queue&lt; tuple&lt; S, T, E, double, double, double &gt;, vector&lt; tuple&lt; S, T, E, double, double, double &gt; &gt;, Compare&lt; S, T, E &gt; &gt; schedule</div><div class="ttdef"><b>Definition</b> <a href="#l00112">fcfs_scheduling.cpp:112</a></div></div>
@@ -351,7 +352,7 @@ $(function(){initNavTree('df/d47/fcfs__scheduling_8cpp_source.html','../../'); i
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_cc8e79ed9d2b7756c78e8d0c87c6c0c7.html">cpu_scheduling_algorithms</a></li><li class="navelem"><a class="el" href="../../df/d47/fcfs__scheduling_8cpp.html">fcfs_scheduling.cpp</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>