Documentation for 341ed50da8

This commit is contained in:
github-actions
2021-09-03 19:56:17 +00:00
parent 52d0c55145
commit 08e8eb037e
3432 changed files with 71392 additions and 72953 deletions

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('db/d66/struct_item.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,21 +90,20 @@ $(document).ready(function(){initNavTree('db/d66/struct_item.html','../../'); in
</div>
<div class="header">
<div class="headertitle">
<div class="title">Item Member List</div> </div>
<div class="headertitle"><div class="title">Item Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../db/d66/struct_item.html">Item</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>profit</b> (defined in <a class="el" href="../../db/d66/struct_item.html">Item</a>)</td><td class="entry"><a class="el" href="../../db/d66/struct_item.html">Item</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>weight</b> (defined in <a class="el" href="../../db/d66/struct_item.html">Item</a>)</td><td class="entry"><a class="el" href="../../db/d66/struct_item.html">Item</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>weight</b> (defined in <a class="el" href="../../db/d66/struct_item.html">Item</a>)</td><td class="entry"><a class="el" href="../../db/d66/struct_item.html">Item</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: list Struct Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d8/d10/structlist.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -93,8 +93,7 @@ $(document).ready(function(){initNavTree('d8/d10/structlist.html','../../'); ini
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../de/d91/structlist-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">list Struct Reference</div> </div>
<div class="headertitle"><div class="title">list Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
@@ -104,19 +103,19 @@ Collaboration diagram for list:</div>
</div>
<center><span class="legend">[<a target="top" href="../../graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aaab2e33bc1ca6f44e72239bfb58f100c"><td class="memItemLeft" align="right" valign="top"><a id="aaab2e33bc1ca6f44e72239bfb58f100c"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d10/structlist.html#aaab2e33bc1ca6f44e72239bfb58f100c">key</a></td></tr>
<tr class="memitem:aaab2e33bc1ca6f44e72239bfb58f100c"><td class="memItemLeft" align="right" valign="top"><a id="aaab2e33bc1ca6f44e72239bfb58f100c" name="aaab2e33bc1ca6f44e72239bfb58f100c"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>key</b></td></tr>
<tr class="memdesc:aaab2e33bc1ca6f44e72239bfb58f100c"><td class="mdescLeft">&#160;</td><td class="mdescRight">key value for node <br /></td></tr>
<tr class="separator:aaab2e33bc1ca6f44e72239bfb58f100c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1900fe79e875e2838625b2eb60837f8f"><td class="memItemLeft" align="right" valign="top"><a id="a1900fe79e875e2838625b2eb60837f8f"></a>
struct <a class="el" href="../../d8/d10/structlist.html">list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d10/structlist.html#a1900fe79e875e2838625b2eb60837f8f">next</a></td></tr>
<tr class="memitem:a1900fe79e875e2838625b2eb60837f8f"><td class="memItemLeft" align="right" valign="top"><a id="a1900fe79e875e2838625b2eb60837f8f" name="a1900fe79e875e2838625b2eb60837f8f"></a>
struct <a class="el" href="../../d8/d10/structlist.html">list</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
<tr class="memdesc:a1900fe79e875e2838625b2eb60837f8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">pointer to next link in the chain <br /></td></tr>
<tr class="separator:a1900fe79e875e2838625b2eb60837f8f"><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 one-way linked list </p>
<div class="textblock"><p >a one-way linked list </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>search/<a class="el" href="../../d1/df3/hash__search_8cpp.html">hash_search.cpp</a></li>
</ul>
@@ -126,7 +125,7 @@ struct <a class="el" href="../../d8/d10/structlist.html">list</a> *&#160;</td><t
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d8/d10/structlist.html">list</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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: sorting/bubble_sort.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d8/d13/bubble__sort_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -92,8 +92,7 @@ $(document).ready(function(){initNavTree('d8/d13/bubble__sort_8cpp.html','../../
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">bubble_sort.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">bubble_sort.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
@@ -108,29 +107,95 @@ Include dependency graph for bubble_sort.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top"><a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>main</b> ()</td></tr>
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d13/bubble__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><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>Bubble sort algorithm. </p>
<p>The working principle of the Bubble sort algorithm:</p>
<p>Bubble sort algorithm is the bubble sorting algorithm. The most important reason for calling the bubble is that the largest number is thrown at the end of this algorithm. This is all about the logic. In each iteration, the largest number is expired and when iterations are completed, the sorting takes place.</p>
<p>What is Swap?</p>
<p>Swap in the software means that two variables are displaced. An additional variable is required for this operation. x = 5, y = 10. We want x = 10, y = 5. Here we create the most variable to do it.</p>
<p>int z; z = x; x = y; y = z;</p>
<p>The above process is a typical displacement process. When x assigns the value to x, the old value of x is lost. That's why we created a variable z to create the first value of the value of x, and finally, we have assigned to y.</p>
<p>Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)</p>
<p>Bubble Sort Worst Case Performance is O (n²). Why is that? Because if you remember Big O Notation, we were calculating the complexity of the algorithms in the nested loops. The n * (n - 1) product gives us O (n²) performance. In the worst case all the steps of the cycle will occur. Bubble Sort (Avarage Case) Performance. Bubble Sort is not an optimal algorithm. in average, O (n²) performance is taken. Bubble Sort Best Case Performance. O (n). However, you can't get the best status in the code we shared above. This happens on the optimized bubble sort algorithm. It's right down there. </p>
</div></div><!-- contents -->
<div class="textblock"><p >Bubble sort algorithm. </p>
<p >The working principle of the Bubble sort algorithm:</p>
<p >Bubble sort algorithm is the bubble sorting algorithm. The most important reason for calling the bubble is that the largest number is thrown at the end of this algorithm. This is all about the logic. In each iteration, the largest number is expired and when iterations are completed, the sorting takes place.</p>
<p >What is Swap?</p>
<p >Swap in the software means that two variables are displaced. An additional variable is required for this operation. x = 5, y = 10. We want x = 10, y = 5. Here we create the most variable to do it.</p>
<p >int z; z = x; x = y; y = z;</p>
<p >The above process is a typical displacement process. When x assigns the value to x, the old value of x is lost. That's why we created a variable z to create the first value of the value of x, and finally, we have assigned to y.</p>
<p >Bubble Sort Algorithm Analysis (Best Case - Worst Case - Average Case)</p>
<p >Bubble Sort Worst Case Performance is O (n²). Why is that? Because if you remember Big O Notation, we were calculating the complexity of the algorithms in the nested loops. The n * (n - 1) product gives us O (n²) performance. In the worst case all the steps of the cycle will occur. Bubble Sort (Avarage Case) Performance. Bubble Sort is not an optimal algorithm. in average, O (n²) performance is taken. Bubble Sort Best Case Performance. O (n). However, you can't get the best status in the code we shared above. This happens on the optimized bubble sort algorithm. It's right down there. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int main </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> {</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordtype">int</span> n;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">bool</span> swap_check = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter the amount of numbers to sort: &quot;</span>;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; n;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a> numbers;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter &quot;</span> &lt;&lt; n &lt;&lt; <span class="stringliteral">&quot; numbers: &quot;</span>;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">int</span> num;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="comment">// Input</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; n; i++) {</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; num;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> numbers.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(num);</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> }</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="comment">// Bubble Sorting</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; (i &lt; n) &amp;&amp; (swap_check); i++) {</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> swap_check = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; n - 1 - i; j++) {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">if</span> (numbers[j] &gt; numbers[j + 1]) {</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> swap_check = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/swap.html">std::swap</a>(numbers[j],</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> numbers[j + 1]); <span class="comment">// by changing swap location.</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="comment">// I mean, j. If the number is</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="comment">// greater than j + 1, then it</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="comment">// means the location.</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> }</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> }</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> }</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="comment">// Output</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\nSorted Array : &quot;</span>;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; numbers.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++) {</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">if</span> (i != numbers.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() - 1) {</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; numbers[i] &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; numbers[i] &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> }</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> }</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span>}</div>
<div class="ttc" id="abasic_istream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a></div></div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">std::vector::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
<div class="ttc" id="aswap_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/swap.html">std::swap</a></div><div class="ttdeci">T swap(T... args)</div></div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_bb1b521853a9c46347182a9d10420771.html">sorting</a></li><li class="navelem"><a class="el" href="../../d8/d13/bubble__sort_8cpp.html">bubble_sort.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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,4 +0,0 @@
var bubble__sort_8cpp =
[
[ "main", "d8/d13/bubble__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ]
];

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: n_queens_optimized Namespace Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d8/d14/namespacen__queens__optimized.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,22 +90,21 @@ $(document).ready(function(){initNavTree('d8/d14/namespacen__queens__optimized.h
</div>
<div class="header">
<div class="headertitle">
<div class="title">n_queens_optimized Namespace Reference</div> </div>
<div class="headertitle"><div class="title">n_queens_optimized Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Functions for <a href="https://en.wikipedia.org/wiki/Eight_queens_puzzle">Eight Queens</a> puzzle optimized.
<p>Functions for <a href="https://en.wikipedia.org/wiki/Eight_queens_puzzle" target="_blank">Eight Queens</a> puzzle optimized.
<a href="../../d8/d14/namespacen__queens__optimized.html#details">More...</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Functions for <a href="https://en.wikipedia.org/wiki/Eight_queens_puzzle">Eight Queens</a> puzzle optimized. </p>
<div class="textblock"><p >Functions for <a href="https://en.wikipedia.org/wiki/Eight_queens_puzzle" target="_blank">Eight Queens</a> puzzle optimized. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d8/d14/namespacen__queens__optimized.html">n_queens_optimized</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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: strand Namespace Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d8/d1d/namespacestrand.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,22 +90,21 @@ $(document).ready(function(){initNavTree('d8/d1d/namespacestrand.html','../../')
</div>
<div class="header">
<div class="headertitle">
<div class="title">strand Namespace Reference</div> </div>
<div class="headertitle"><div class="title">strand Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Functions for <a href="https://en.wikipedia.org/wiki/Strand_sort">Strand Sort</a> algorithm.
<p>Functions for <a href="https://en.wikipedia.org/wiki/Strand_sort" target="_blank">Strand Sort</a> algorithm.
<a href="../../d8/d1d/namespacestrand.html#details">More...</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Functions for <a href="https://en.wikipedia.org/wiki/Strand_sort">Strand Sort</a> algorithm. </p>
<div class="textblock"><p >Functions for <a href="https://en.wikipedia.org/wiki/Strand_sort" target="_blank">Strand Sort</a> algorithm. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d8/d1d/namespacestrand.html">strand</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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d1/d83/classuint256__t.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,103 +90,102 @@ $(document).ready(function(){initNavTree('d1/d83/classuint256__t.html','../../')
</div>
<div class="header">
<div class="headertitle">
<div class="title">uint256_t Member List</div> </div>
<div class="headertitle"><div class="title">uint256_t Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#afee82fa5052e9d8c946b9205b943cec4">__get_integer_from_string</a>(const std::string &amp;str)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a033d66c965e8d1fbc5bafb59ad60e163">_lez</a>()</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a033d66c965e8d1fbc5bafb59ad60e163">_lez</a>()</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a9ddd133cee83f3a2ab6ed60a7ccbc250">_trz</a>()</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#af69316a7e4c2d17070de98d6a92b1c51">divide</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a8161d52d369e525f4e61129376adfcf1">divide</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>f</b> (defined in <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a>)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#aa4cf08fa6a33f17594b5a842866f39a1">lower</a>() const</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#aa4cf08fa6a33f17594b5a842866f39a1">lower</a>() const</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a28aa5786bbfce1b00398a8d38691bdaa">operator bool</a>() const</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a9e1b39a46ea16bc6587e25e294c6c363">operator T</a>() const</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a9e1b39a46ea16bc6587e25e294c6c363">operator T</a>() const</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#ad5bd38b2d3becca998457af1124d6e8b">operator uint128_t</a>() const</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a028c585069fa53b74c153667ff66352c">operator!</a>()</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a028c585069fa53b74c153667ff66352c">operator!</a>()</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#aae68a7bd17c14a926fb77758b5c8e547">operator!=</a>(const uint256_t &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a89cf7fa466458ee08edd9a809d072bcb">operator!=</a>(const T &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a89cf7fa466458ee08edd9a809d072bcb">operator!=</a>(const T &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#ad4928175eaaaa2b559bc945affe63ad2">operator%</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a7bd9693b88c4df08b1f8d1fd81c597cc">operator%</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a59a697fc2ee38e46506a80ddf405c188">operator%=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a95c3c34b77c6f9623cbded3e577cf7ba">operator%=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a7bd9693b88c4df08b1f8d1fd81c597cc">operator%</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a2cd43a4a92dc825a010a17578b3bdedb">operator%=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a76914bc727eab927a3941ef71275327d">operator%=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a6eadaa829087e07eebafca3981566bb8">operator&amp;</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a9bc6cc460108306a59281ce4ca216839">operator&amp;</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a9bc6cc460108306a59281ce4ca216839">operator&amp;</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#aa0e532832640e9fe273b35c481b18963">operator&amp;&amp;</a>(const uint256_t &amp;b)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a303287d7bc8686dcb47fcb04720ad409">operator&amp;&amp;</a>(const T &amp;b)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#aa8f1a0b696f71eb3a10981ffd3a9df7b">operator&amp;=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a97a35127d5b71fd8cd1954f113f4b59c">operator&amp;=</a>(const T p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a303287d7bc8686dcb47fcb04720ad409">operator&amp;&amp;</a>(const T &amp;b)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a357cdfee6a79e0484cd1e07511eb9f2d">operator&amp;=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#afa79020c27caea31236d04ecaa0e5ef5">operator&amp;=</a>(const T p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a7ac99dea14428200f0101452293e2b3b">operator()</a>()</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#aaca9288fd28fc07e1386f1586bd51616">operator*</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#aaca9288fd28fc07e1386f1586bd51616">operator*</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#aa9e585b186e71d7cbe9c1d7387c38967">operator*</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a4c84702c149b17c2e162eac3137fcac5">operator*=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#ab9e5da2ffc16c77fc8ecb101db903b29">operator*=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a20dc3a017b1a740c4bafd3f146a90b0f">operator+</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#af2193ff0d0e93143fb71f4847df16028">operator*=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a4645040fe68ff01d83400f173fd2bb21">operator*=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a20dc3a017b1a740c4bafd3f146a90b0f">operator+</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#af18e2e3d7ed635c4056062bc906fef75">operator+</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a7db1d4e2c2d2149fa40064b7dd66e89e">operator++</a>()</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#af0ad4080bb5ddc16b54a7e87911005c9">operator++</a>()</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a7bbe36e2ebd52df5efab118897b3050c">operator++</a>(int)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#af984e2ad69cc95b52a360aba2260c576">operator+=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#ac71efa9f4d6b8e211bbc57023408c185">operator+=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a88978d00fa6a624c50c2737dc2c294b4">operator-</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a5363ec0f36de1a8a9c985907db4e95d1">operator+=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#ac75a46fe3625caf10e07db1eb75a1d6e">operator+=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a88978d00fa6a624c50c2737dc2c294b4">operator-</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#ab909ef62a0c85121e7d743c016fb723d">operator-</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a406c951a07d8173685dbe384c6ab6a06">operator-</a>()</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a7db2a2c972751ea40a07240bad8821da">operator--</a>()</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a28d26847f9b19a4f86c187791cb0db13">operator--</a>(int p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a406c951a07d8173685dbe384c6ab6a06">operator-</a>()</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a9f6f3e39783c893473315bada864a183">operator--</a>()</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a28d26847f9b19a4f86c187791cb0db13">operator--</a>(int p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#acd3970c633eb2c597874e2712392f0c7">operator-=</a>(const T p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#acae473393b42428a2eb27fb918f395dc">operator-=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a5e84ed2a2f99cee81ede4a0107702a45">operator-=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#acac9901ab133caa57d058a377d873bf6">operator/</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a4fdeb4d4bf8cca4ee99b8487e59831df">operator/</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a00d18c74d5cbf3c087665172079e67dd">operator/=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a9ca3427fbc9bf1aaf35caf3096868172">operator/=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a4fdeb4d4bf8cca4ee99b8487e59831df">operator/</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#ac1b36e64de42f3622e7d6ec5efa273d4">operator/=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#abc793979ec70bb8e5cf177d83649a259">operator/=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#afe9f4828d73dd51a080585dd0b99af96">operator&lt;</a>(const uint256_t &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#ac6bdcf64653af8173987bf7217e99056">operator&lt;</a>(const T &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#ac6bdcf64653af8173987bf7217e99056">operator&lt;</a>(const T &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a4831263abc4430c363fdabce6e6e96d5">operator&lt;&lt;</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a67eb551c5c3a516bcfcded5a026ce735">operator&lt;&lt;</a>(std::ostream &amp;op, uint256_t p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#acd41a6bd322252c01aa1e223039db281">operator&lt;&lt;=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a19c88f8f2736750822b82ef9a7096d88">operator&lt;=</a>(const uint256_t &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a91badfd31be84b12cbb6d85ebc04d13a">operator&lt;&lt;</a></td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a0d96ce2d022dc30c2f303ab0698f52f5">operator&lt;&lt;=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a19c88f8f2736750822b82ef9a7096d88">operator&lt;=</a>(const uint256_t &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a2029e9777f999bffef6004429b4f19f2">operator&lt;=</a>(const T &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#ad5ba734dc60992a6907f2d3462db370a">operator=</a>(const uint256_t &amp;p)=default</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#ababad4c4dd412bcfd248914d7e17d9ea">operator=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a0590a8b45c2f7b31670606782614545e">operator=</a>(const std::string &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#adcef109e6a0f4b122bc9f892e2184642">operator=</a>(uint256_t &amp;&amp;p)=default</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a90ce75bec5b525de55bbf92c564a2261">operator==</a>(const uint256_t &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a4c6db67d21c4927a45a4e1e7c2357bfc">operator=</a>(const uint256_t &amp;p)=default</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#addff5645f6005e7b50a6ad0731e4f19c">operator=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a86aab081bb7db2771e4a4f30c3eed8e2">operator=</a>(const std::string &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a6c5e025f901f6af4b748f98013350638">operator=</a>(uint256_t &amp;&amp;p)=default</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a90ce75bec5b525de55bbf92c564a2261">operator==</a>(const uint256_t &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a9879f7ec85fc148e1931fcb492ddc484">operator==</a>(const T &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#acadd235e0029ec43d5990d24affaf42d">operator&gt;</a>(const uint256_t &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#acadd235e0029ec43d5990d24affaf42d">operator&gt;</a>(const uint256_t &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#ad74d33215517459c2b33ace7a9c6bc13">operator&gt;</a>(const T &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#adf09395f9113a69a05fed7e25b46c8ad">operator&gt;=</a>(const uint256_t &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#adf09395f9113a69a05fed7e25b46c8ad">operator&gt;=</a>(const uint256_t &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#aff4d49cf84de64301b169ad974f00bad">operator&gt;=</a>(const T &amp;other)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a47a19142e86b7369e18da1fc0a713c51">operator&gt;&gt;</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a27d7755f4d0a18c28e9eb69789922dd3">operator&gt;&gt;=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#acb61fe17d064c61adc02defa651f9a5e">operator^</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a47a19142e86b7369e18da1fc0a713c51">operator&gt;&gt;</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#ad9ce2370b1497efbcc426793048e1f78">operator&gt;&gt;=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#acb61fe17d064c61adc02defa651f9a5e">operator^</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a74d1e1dd8cd2b31e00813ed939943be7">operator^</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#aba42be2ed3bcc8e0678126faff84a65f">operator^=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a7ceeb4bb4c315ae1209802683cb0aef8">operator^=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#acefecc3b1a4044f2be5ab46eea0099bf">operator|</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#ac92ac0b2368990fbbaf3cca3ee8247d7">operator^=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a3dc4d3ab175f5f2a3172eb8d99a60fc3">operator^=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#acefecc3b1a4044f2be5ab46eea0099bf">operator|</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a2d7c8a1a5ecaf3e0dcb4bf6b6cff2da2">operator|</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a712aacd8110aae61ff02dc2ada25aaa6">operator|=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a7119f33b963a450dd251bb1b4cc519fc">operator|=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a41f4bb928c4ee067732503395b65f9d7">operator||</a>(const uint256_t &amp;b)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#af0a6e09fcf1cbf234ed32df6d7265a0b">operator|=</a>(const T &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#aa28ae272e9176557133a10dffa3b94dc">operator|=</a>(const uint256_t &amp;p)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a41f4bb928c4ee067732503395b65f9d7">operator||</a>(const uint256_t &amp;b)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a4886747ffff15cdeb6bc93712629f9e7">operator||</a>(const T &amp;b)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a6eec1f632aebfc44fee8a74c395e10c2">operator~</a>()</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a6eec1f632aebfc44fee8a74c395e10c2">operator~</a>()</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>s</b> (defined in <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a>)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>uint256_t</b>()=default (defined in <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a>)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>uint256_t</b>()=default (defined in <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a>)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#aed0f8c3d5be23644c4bcb2fd2551e1dc">uint256_t</a>(T low)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a1fa3d95584d071add9b46597d3747b39">uint256_t</a>(const std::string &amp;str)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a1fa3d95584d071add9b46597d3747b39">uint256_t</a>(const std::string &amp;str)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a42bf7490b31d8c750a67fd9bb6f2df2e">uint256_t</a>(const uint256_t &amp;num)=default</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a092a766421ba5833452e86a2357d7cfa">uint256_t</a>(uint256_t &amp;&amp;num) noexcept</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a092a766421ba5833452e86a2357d7cfa">uint256_t</a>(uint256_t &amp;&amp;num) noexcept</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a02616a4a46727b4c158b2b90de8c75c3">uint256_t</a>(uint128_t high, uint128_t low)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a2b5f745c05d10fa85ba5c409ad92d052">uint256_t</a>(const uint64_t high, const uint64_t low)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a2b5f745c05d10fa85ba5c409ad92d052">uint256_t</a>(const uint64_t high, const uint64_t low)</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#aecb2883133c8c8b9fcfb77ab69b03ab5">upper</a>() const</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a3ff17ab14b2371eb3239107d10947067">~uint256_t</a>()=default</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html#a3ff17ab14b2371eb3239107d10947067">~uint256_t</a>()=default</td><td class="entry"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,39 +90,38 @@ $(document).ready(function(){initNavTree('d4/df4/classmachine__learning_1_1neura
</div>
<div class="header">
<div class="headertitle">
<div class="title">machine_learning::neural_network::NeuralNetwork Member List</div> </div>
<div class="headertitle"><div class="title">machine_learning::neural_network::NeuralNetwork Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#acd397b51fcf8f690b03e406ada8c9d13">__detailed_single_prediction</a>(const std::vector&lt; std::valarray&lt; double &gt;&gt; &amp;X)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4c4ff6b340d0e460d3015ad601a568b6">batch_predict</a>(const std::vector&lt; std::vector&lt; std::valarray&lt; double &gt;&gt;&gt; &amp;X)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a0ee425af6fd83a033c021128b8253f52">evaluate</a>(const std::vector&lt; std::vector&lt; std::valarray&lt; double &gt;&gt;&gt; &amp;X, const std::vector&lt; std::vector&lt; std::valarray&lt; double &gt;&gt;&gt; &amp;Y)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a36494e26ff36d6e15c1022bb9a1ee848">evaluate_from_csv</a>(const std::string &amp;file_name, const bool &amp;last_label, const bool &amp;normalize, const int &amp;slip_lines=1)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a8f8eb4423c57a00b0ab46de226bc6509">fit</a>(const std::vector&lt; std::vector&lt; std::valarray&lt; double &gt;&gt;&gt; &amp;X_, const std::vector&lt; std::vector&lt; std::valarray&lt; double &gt;&gt;&gt; &amp;Y_, const int &amp;epochs=100, const double &amp;learning_rate=0.01, const size_t &amp;batch_size=32, const bool &amp;shuffle=true)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a5172a6791b9bd24f4232bab8d6b81fff">fit_from_csv</a>(const std::string &amp;file_name, const bool &amp;last_label, const int &amp;epochs, const double &amp;learning_rate, const bool &amp;normalize, const int &amp;slip_lines=1, const size_t &amp;batch_size=32, const bool &amp;shuffle=true)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a8d983ebb3225a9901b713a0f05b44aba">get_XY_from_csv</a>(const std::string &amp;file_name, const bool &amp;last_label, const bool &amp;normalize, const int &amp;slip_lines=1)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>layers</b> (defined in <a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a>)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a361a45f3c3d8347d79103bf182d0570b">__detailed_single_prediction</a>(const std::vector&lt; std::valarray&lt; double &gt; &gt; &amp;X)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a88bf9023ab3d4cdb61cf707c7cdfc86b">batch_predict</a>(const std::vector&lt; std::vector&lt; std::valarray&lt; double &gt; &gt; &gt; &amp;X)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#aec648ea4f40bd71123b5f907a681dd8e">evaluate</a>(const std::vector&lt; std::vector&lt; std::valarray&lt; double &gt; &gt; &gt; &amp;X, const std::vector&lt; std::vector&lt; std::valarray&lt; double &gt; &gt; &gt; &amp;Y)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a36494e26ff36d6e15c1022bb9a1ee848">evaluate_from_csv</a>(const std::string &amp;file_name, const bool &amp;last_label, const bool &amp;normalize, const int &amp;slip_lines=1)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a2be1b52bb9f57486f9a436f35c9089c0">fit</a>(const std::vector&lt; std::vector&lt; std::valarray&lt; double &gt; &gt; &gt; &amp;X_, const std::vector&lt; std::vector&lt; std::valarray&lt; double &gt; &gt; &gt; &amp;Y_, const int &amp;epochs=100, const double &amp;learning_rate=0.01, const size_t &amp;batch_size=32, const bool &amp;shuffle=true)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a5172a6791b9bd24f4232bab8d6b81fff">fit_from_csv</a>(const std::string &amp;file_name, const bool &amp;last_label, const int &amp;epochs, const double &amp;learning_rate, const bool &amp;normalize, const int &amp;slip_lines=1, const size_t &amp;batch_size=32, const bool &amp;shuffle=true)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a650c677fd6512665741ddd9b7983275d">get_XY_from_csv</a>(const std::string &amp;file_name, const bool &amp;last_label, const bool &amp;normalize, const int &amp;slip_lines=1)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>layers</b> (defined in <a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a>)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a58ed20abf6ce3744535bd8b5bb9e741b">load_model</a>(const std::string &amp;file_name)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a215d132aa38b9c9aab6716663a751b82">NeuralNetwork</a>(const std::vector&lt; std::pair&lt; int, std::string &gt;&gt; &amp;config, const std::vector&lt; std::vector&lt; std::valarray&lt; double &gt;&gt;&gt; &amp;kernels)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4c4c6f63ab965317f9471518ee931b89">NeuralNetwork</a>(const std::vector&lt; std::pair&lt; int, std::string &gt; &gt; &amp;config, const std::vector&lt; std::vector&lt; std::valarray&lt; double &gt; &gt; &gt; &amp;kernels)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#ae7cf126a3a8f9d20c81b21584d061a08">NeuralNetwork</a>()=default</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a8f984bfd3e32b9b71c33a4f62335c710">NeuralNetwork</a>(const std::vector&lt; std::pair&lt; int, std::string &gt;&gt; &amp;config)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a62151b0398a2536be60d950e10ffe9a8">NeuralNetwork</a>(const std::vector&lt; std::pair&lt; int, std::string &gt; &gt; &amp;config)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a176b955c90ae57d7dbc3c63f27c84c75">NeuralNetwork</a>(const NeuralNetwork &amp;model)=default</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a173bb71780af6953ec2e307a4c74b025">NeuralNetwork</a>(NeuralNetwork &amp;&amp;)=default</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a955088afdb35d1ea38ac41feb21a77b4">operator=</a>(const NeuralNetwork &amp;model)=default</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#afa4a080c9526909ea87a6c0f6cfd6a2f">operator=</a>(NeuralNetwork &amp;&amp;)=default</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a173bb71780af6953ec2e307a4c74b025">NeuralNetwork</a>(NeuralNetwork &amp;&amp;)=default</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a58a9614e4c6d4ca672d3358e99a3404f">operator=</a>(const NeuralNetwork &amp;model)=default</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a2c49bfebf9b859d5ceb26035d3003601">operator=</a>(NeuralNetwork &amp;&amp;)=default</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a4f14e473bb0722c6490b9dc8da5982aa">save_model</a>(const std::string &amp;_file_name)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#ac130322a5abb1ff763b7c1a55405a35e">single_predict</a>(const std::vector&lt; std::valarray&lt; double &gt;&gt; &amp;X)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a3b9eac1824d365dce715fb17c33cb96f">single_predict</a>(const std::vector&lt; std::valarray&lt; double &gt; &gt; &amp;X)</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a61d30113d13304c664057118b92a5931">summary</a>()</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a8973f687738ddd76f93b5562feae4027">~NeuralNetwork</a>()=default</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a8973f687738ddd76f93b5562feae4027">~NeuralNetwork</a>()=default</td><td class="entry"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">machine_learning::neural_network::NeuralNetwork</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: range_queries::perSegTree Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d8/d28/classrange__queries_1_1per_seg_tree.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -96,26 +96,19 @@ $(document).ready(function(){initNavTree('d8/d28/classrange__queries_1_1per_seg_
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="../../da/d66/classrange__queries_1_1per_seg_tree-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">range_queries::perSegTree Class Reference</div> </div>
<div class="headertitle"><div class="title">range_queries::perSegTree Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Range query here is range sum, but the code can be modified to make different queries like range max or min.
<a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for range_queries::perSegTree:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d6/d47/classrange__queries_1_1per_seg_tree__coll__graph.svg" width="100%" height="388"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<center><span class="legend">[<a target="top" href="../../graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac83bcabf5a8db8b0d8d156a4c1bcd4c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3">construct</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int64_t &gt; &amp;<a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a>)</td></tr>
<tr class="memdesc:ac83bcabf5a8db8b0d8d156a4c1bcd4c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed in the pointers vector to have access to the original version if the segment tree is updated. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3">More...</a><br /></td></tr>
@@ -130,40 +123,40 @@ Public Member Functions</h2></td></tr>
<tr class="memdesc:a0fe4e431f3e09c274ecd7d2d58dcb865"><td class="mdescLeft">&#160;</td><td class="mdescRight">Getting the number of versions after updates so far which is equal to the size of the pointers vector. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865">More...</a><br /></td></tr>
<tr class="separator:a0fe4e431f3e09c274ecd7d2d58dcb865"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:acacb937f95a078a236a4a58f9630a045"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">newKid</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt; const &amp;curr)</td></tr>
<tr class="memdesc:acacb937f95a078a236a4a58f9630a045"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creating a new node with the same values of curr node. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">More...</a><br /></td></tr>
<tr class="separator:acacb937f95a078a236a4a58f9630a045"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cec4b77d264521717cf9b0482c45817"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817">newKid</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt; const &amp;curr)</td></tr>
<tr class="memdesc:a0cec4b77d264521717cf9b0482c45817"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creating a new node with the same values of curr node. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817">More...</a><br /></td></tr>
<tr class="separator:a0cec4b77d264521717cf9b0482c45817"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace7f57935b3bb9446f11c239fd89ae79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">lazy</a> (const uint32_t &amp;i, const uint32_t &amp;j, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt; const &amp;curr)</td></tr>
<tr class="memdesc:ace7f57935b3bb9446f11c239fd89ae79"><td class="mdescLeft">&#160;</td><td class="mdescRight">If there is some value to be propagated to the passed node, value is added to the node and the children of the node, if exist, are copied and the propagated value is also added to them. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">More...</a><br /></td></tr>
<tr class="separator:ace7f57935b3bb9446f11c239fd89ae79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67d8371bc998c67d53e8f64db4f52767"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">construct</a> (const uint32_t &amp;i, const uint32_t &amp;j)</td></tr>
<tr class="memdesc:a67d8371bc998c67d53e8f64db4f52767"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum of the given range, set its pointers to the children, and set its value to the sum of the children's values. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">More...</a><br /></td></tr>
<tr class="separator:a67d8371bc998c67d53e8f64db4f52767"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af16c0c87b29119f066041d6e71ab50e0"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">update</a> (const uint32_t &amp;i, const uint32_t &amp;j, const uint32_t &amp;l, const uint32_t &amp;r, const int64_t &amp;value, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt; const &amp;curr)</td></tr>
<tr class="memdesc:af16c0c87b29119f066041d6e71ab50e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Doing range update, checking at every node if it has some value to be propagated. All nodes affected by the update are copied and propagation value is added to the leaf of them. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">More...</a><br /></td></tr>
<tr class="separator:af16c0c87b29119f066041d6e71ab50e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d3f2465a7c5803a1ff16c5378bcc5e4"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4">construct</a> (const uint32_t &amp;i, const uint32_t &amp;j)</td></tr>
<tr class="memdesc:a6d3f2465a7c5803a1ff16c5378bcc5e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum of the given range, set its pointers to the children, and set its value to the sum of the children's values. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4">More...</a><br /></td></tr>
<tr class="separator:a6d3f2465a7c5803a1ff16c5378bcc5e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24487eda25123bc4d112e8430821a6c6"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6">update</a> (const uint32_t &amp;i, const uint32_t &amp;j, const uint32_t &amp;l, const uint32_t &amp;r, const int64_t &amp;value, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt; const &amp;curr)</td></tr>
<tr class="memdesc:a24487eda25123bc4d112e8430821a6c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Doing range update, checking at every node if it has some value to be propagated. All nodes affected by the update are copied and propagation value is added to the leaf of them. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6">More...</a><br /></td></tr>
<tr class="separator:a24487eda25123bc4d112e8430821a6c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8ae4b1835e5e8aec32f68c5059ed4d4"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a> (const uint32_t &amp;i, const uint32_t &amp;j, const uint32_t &amp;l, const uint32_t &amp;r, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt; const &amp;curr)</td></tr>
<tr class="memdesc:ae8ae4b1835e5e8aec32f68c5059ed4d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Querying the range from index l to index r, checking at every node if it has some value to be propagated. Current node's value is returned if its range is completely inside the wanted range, else 0 is returned. <a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">More...</a><br /></td></tr>
<tr class="separator:ae8ae4b1835e5e8aec32f68c5059ed4d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a6f5b36111f90807a9fdf6bbca04f535e"><td class="memItemLeft" align="right" valign="top"><a id="a6f5b36111f90807a9fdf6bbca04f535e"></a>
<tr class="memitem:a6f5b36111f90807a9fdf6bbca04f535e"><td class="memItemLeft" align="right" valign="top"><a id="a6f5b36111f90807a9fdf6bbca04f535e" name="a6f5b36111f90807a9fdf6bbca04f535e"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>n</b> = 0</td></tr>
<tr class="separator:a6f5b36111f90807a9fdf6bbca04f535e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1eac9cf0613dfc8e2b0195009dd5c9d5"><td class="memItemLeft" align="right" valign="top"><a id="a1eac9cf0613dfc8e2b0195009dd5c9d5"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a> {}</td></tr>
<tr class="memitem:a1eac9cf0613dfc8e2b0195009dd5c9d5"><td class="memItemLeft" align="right" valign="top"><a id="a1eac9cf0613dfc8e2b0195009dd5c9d5" name="a1eac9cf0613dfc8e2b0195009dd5c9d5"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ptrs</b> {}</td></tr>
<tr class="memdesc:a1eac9cf0613dfc8e2b0195009dd5c9d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of elements/leaf nodes in the segment tree <br /></td></tr>
<tr class="separator:a1eac9cf0613dfc8e2b0195009dd5c9d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ff495d2f389b4aaa54449c26c6078f3"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a> {}</td></tr>
<tr class="separator:a8ff495d2f389b4aaa54449c26c6078f3"><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>Range query here is range sum, but the code can be modified to make different queries like range max or min. </p>
<div class="textblock"><p >Range query here is range sum, but the code can be modified to make different queries like range max or min. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ac83bcabf5a8db8b0d8d156a4c1bcd4c3"></a>
<a id="ac83bcabf5a8db8b0d8d156a4c1bcd4c3" name="ac83bcabf5a8db8b0d8d156a4c1bcd4c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac83bcabf5a8db8b0d8d156a4c1bcd4c3">&#9670;&nbsp;</a></span>construct() <span class="overload">[1/2]</span></h2>
<div class="memitem">
@@ -188,39 +181,30 @@ uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>n</b> = 0</td></t
</div><div class="memdoc">
<p>Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed in the pointers vector to have access to the original version if the segment tree is updated. </p>
<p>public methods that can be used directly from outside the class. They call the private functions that do all the work </p><dl class="params"><dt>Parameters</dt><dd>
<p >public methods that can be used directly from outside the class. They call the private functions that do all the work </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vec</td><td>vector whose values will be used to build the segment tree </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
<div class="fragment"><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; {</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/empty.html">empty</a>()) {</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; }</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; n = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; this-&gt;vec = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a>;</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keyword">auto</span> root = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">construct</a>(0, n - 1);</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(root);</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div>
<div class="fragment"><div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> {</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a>.empty()) {</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> }</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> n = <a class="code hl_variable" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a>.size();</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> this-&gt;vec = <a class="code hl_variable" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a>;</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keyword">auto</span> root = <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4">construct</a>(0, n - 1);</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <a class="code hl_variable" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>.push_back(root);</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> }</div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a1eac9cf0613dfc8e2b0195009dd5c9d5"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">range_queries::perSegTree::ptrs</a></div><div class="ttdeci">std::vector&lt; std::shared_ptr&lt; Node &gt; &gt; ptrs</div><div class="ttdoc">number of elements/leaf nodes in the segment tree</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:54</div></div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a67d8371bc998c67d53e8f64db4f52767"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">range_queries::perSegTree::construct</a></div><div class="ttdeci">std::shared_ptr&lt; Node &gt; construct(const uint32_t &amp;i, const uint32_t &amp;j)</div><div class="ttdoc">Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:106</div></div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a6d3f2465a7c5803a1ff16c5378bcc5e4"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4">range_queries::perSegTree::construct</a></div><div class="ttdeci">std::shared_ptr&lt; Node &gt; construct(const uint32_t &amp;i, const uint32_t &amp;j)</div><div class="ttdoc">Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:106</div></div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a8ff495d2f389b4aaa54449c26c6078f3"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">range_queries::perSegTree::vec</a></div><div class="ttdeci">std::vector&lt; int64_t &gt; vec</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:57</div></div>
<div class="ttc" id="aempty_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/empty.html">std::vector::empty</a></div><div class="ttdeci">T empty(T... args)</div></div>
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">std::vector::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_ac83bcabf5a8db8b0d8d156a4c1bcd4c3_cgraph.svg" width="370" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div><!-- fragment -->
</div>
</div>
</div>
</div>
<a id="a67d8371bc998c67d53e8f64db4f52767"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67d8371bc998c67d53e8f64db4f52767">&#9670;&nbsp;</a></span>construct() <span class="overload">[2/2]</span></h2>
<a id="a6d3f2465a7c5803a1ff16c5378bcc5e4" name="a6d3f2465a7c5803a1ff16c5378bcc5e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d3f2465a7c5803a1ff16c5378bcc5e4">&#9670;&nbsp;</a></span>construct() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -229,7 +213,7 @@ Here is the call graph for this function:</div>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt;<a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a>&gt; range_queries::perSegTree::construct </td>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt; range_queries::perSegTree::construct </td>
<td>(</td>
<td class="paramtype">const uint32_t &amp;&#160;</td>
<td class="paramname"><em>i</em>, </td>
@@ -262,26 +246,32 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to the newly created node </dd></dl>
<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">auto</span> newNode = std::make_shared&lt;Node&gt;(<a class="code" href="../../db/d8b/struct_node.html">Node</a>());</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (i == j) {</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; newNode-&gt;val = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a>[i];</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; uint32_t mid = i + (j - i) / 2;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">auto</span> leftt = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">construct</a>(i, mid);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">auto</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">right</a> = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">construct</a>(mid + 1, j);</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; newNode-&gt;val = leftt-&gt;val + <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">right</a>-&gt;val;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; newNode-&gt;left = leftt;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; newNode-&gt;right = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">right</a>;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> newNode;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div>
<div class="fragment"><div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> {</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">auto</span> newNode = std::make_shared&lt;Node&gt;(<a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a>());</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">if</span> (i == j) {</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> newNode-&gt;val = <a class="code hl_variable" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a>[i];</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> uint32_t mid = i + (j - i) / 2;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">auto</span> leftt = <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4">construct</a>(i, mid);</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">auto</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">right</a> = <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4">construct</a>(mid + 1, j);</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> newNode-&gt;val = leftt-&gt;val + <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">right</a>-&gt;val;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> newNode-&gt;left = leftt;</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> newNode-&gt;right = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">right</a>;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> }</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">return</span> newNode;</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> }</div>
<div class="ttc" id="aleft_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/left.html">std::right</a></div><div class="ttdeci">T right(T... args)</div></div>
<div class="ttc" id="astruct_node_html"><div class="ttname"><a href="../../db/d8b/struct_node.html">Node</a></div><div class="ttdef"><b>Definition:</b> linkedlist_implentation_usingarray.cpp:14</div></div>
</div><!-- fragment -->
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_a6d3f2465a7c5803a1ff16c5378bcc5e4_cgraph.svg" width="195" height="76"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<a id="ace7f57935b3bb9446f11c239fd89ae79"></a>
</div>
</div>
<a id="ace7f57935b3bb9446f11c239fd89ae79" name="ace7f57935b3bb9446f11c239fd89ae79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace7f57935b3bb9446f11c239fd89ae79">&#9670;&nbsp;</a></span>lazy()</h2>
<div class="memitem">
@@ -331,20 +321,20 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; {</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (!curr-&gt;prop) {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; curr-&gt;val += (j - i + 1) * curr-&gt;prop;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; if (i != j) {</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; curr-&gt;left = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">newKid</a>(curr-&gt;left);</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; curr-&gt;right = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">newKid</a>(curr-&gt;right);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; curr-&gt;left-&gt;prop += curr-&gt;prop;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; curr-&gt;right-&gt;prop += curr-&gt;prop;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; curr-&gt;prop = 0;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_acacb937f95a078a236a4a58f9630a045"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">range_queries::perSegTree::newKid</a></div><div class="ttdeci">std::shared_ptr&lt; Node &gt; newKid(std::shared_ptr&lt; Node &gt; const &amp;curr)</div><div class="ttdoc">Creating a new node with the same values of curr node.</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:65</div></div>
<div class="fragment"><div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> {</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">if</span> (!curr-&gt;prop) {</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> }</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> curr-&gt;val += (j - i + 1) * curr-&gt;prop;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> if (i != j) {</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> curr-&gt;left = <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817">newKid</a>(curr-&gt;left);</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> curr-&gt;right = <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817">newKid</a>(curr-&gt;right);</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> curr-&gt;left-&gt;prop += curr-&gt;prop;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> curr-&gt;right-&gt;prop += curr-&gt;prop;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> }</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> curr-&gt;prop = 0;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> }</div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a0cec4b77d264521717cf9b0482c45817"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817">range_queries::perSegTree::newKid</a></div><div class="ttdeci">std::shared_ptr&lt; Node &gt; newKid(std::shared_ptr&lt; Node &gt; const &amp;curr)</div><div class="ttdoc">Creating a new node with the same values of curr node.</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:65</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -354,8 +344,8 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="acacb937f95a078a236a4a58f9630a045"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acacb937f95a078a236a4a58f9630a045">&#9670;&nbsp;</a></span>newKid()</h2>
<a id="a0cec4b77d264521717cf9b0482c45817" name="a0cec4b77d264521717cf9b0482c45817"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cec4b77d264521717cf9b0482c45817">&#9670;&nbsp;</a></span>newKid()</h2>
<div class="memitem">
<div class="memproto">
@@ -364,7 +354,7 @@ Here is the call graph for this function:</div>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt;<a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a>&gt; range_queries::perSegTree::newKid </td>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt; range_queries::perSegTree::newKid </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt; const &amp;&#160;</td>
<td class="paramname"><em>curr</em></td><td>)</td>
@@ -379,25 +369,25 @@ Here is the call graph for this function:</div>
</div><div class="memdoc">
<p>Creating a new node with the same values of curr node. </p>
<p>values of the leaf nodes that the segment tree will be constructed with </p><dl class="params"><dt>Parameters</dt><dd>
<p >values of the leaf nodes that the segment tree will be constructed with </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">curr</td><td>node that would be copied </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the new node </dd></dl>
<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; {</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keyword">auto</span> newNode = std::make_shared&lt;Node&gt;(<a class="code" href="../../db/d8b/struct_node.html">Node</a>());</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; newNode-&gt;left = curr-&gt;left;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; newNode-&gt;right = curr-&gt;right;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; newNode-&gt;prop = curr-&gt;prop;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; newNode-&gt;val = curr-&gt;val;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">return</span> newNode;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div>
<div class="fragment"><div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">auto</span> newNode = std::make_shared&lt;Node&gt;(<a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a>());</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> newNode-&gt;left = curr-&gt;left;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> newNode-&gt;right = curr-&gt;right;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> newNode-&gt;prop = curr-&gt;prop;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> newNode-&gt;val = curr-&gt;val;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">return</span> newNode;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae8ae4b1835e5e8aec32f68c5059ed4d4"></a>
<a id="ae8ae4b1835e5e8aec32f68c5059ed4d4" name="ae8ae4b1835e5e8aec32f68c5059ed4d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8ae4b1835e5e8aec32f68c5059ed4d4">&#9670;&nbsp;</a></span>query() <span class="overload">[1/2]</span></h2>
<div class="memitem">
@@ -461,30 +451,30 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sum of elements whose index x satisfies l&lt;=x&lt;=r </dd></dl>
<div class="fragment"><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; {</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">lazy</a>(i, j, curr);</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">if</span> (j &lt; l || r &lt; i) {</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">if</span> (i &gt;= l &amp;&amp; j &lt;= r) {</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">return</span> curr-&gt;val;</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; uint32_t mid = i + (j - i) / 2;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(i, mid, l, r, curr-&gt;left) +</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(mid + 1, j, l, r, curr-&gt;right);</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
<div class="fragment"><div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> {</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">lazy</a>(i, j, curr);</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="keywordflow">if</span> (j &lt; l || r &lt; i) {</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> }</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">if</span> (i &gt;= l &amp;&amp; j &lt;= r) {</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">return</span> curr-&gt;val;</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> }</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> uint32_t mid = i + (j - i) / 2;</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(i, mid, l, r, curr-&gt;left) +</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(mid + 1, j, l, r, curr-&gt;right);</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> }</div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_ace7f57935b3bb9446f11c239fd89ae79"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">range_queries::perSegTree::lazy</a></div><div class="ttdeci">void lazy(const uint32_t &amp;i, const uint32_t &amp;j, std::shared_ptr&lt; Node &gt; const &amp;curr)</div><div class="ttdoc">If there is some value to be propagated to the passed node, value is added to the node and the childr...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:83</div></div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_ae8ae4b1835e5e8aec32f68c5059ed4d4"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">range_queries::perSegTree::query</a></div><div class="ttdeci">int64_t query(const uint32_t &amp;i, const uint32_t &amp;j, const uint32_t &amp;l, const uint32_t &amp;r, std::shared_ptr&lt; Node &gt; const &amp;curr)</div><div class="ttdoc">Querying the range from index l to index r, checking at every node if it has some value to be propaga...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:171</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.svg" width="659" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_ae8ae4b1835e5e8aec32f68c5059ed4d4_cgraph.svg" width="659" height="76"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="ad484002bcb701820d55f32ea5d525571"></a>
<a id="ad484002bcb701820d55f32ea5d525571" name="ad484002bcb701820d55f32ea5d525571"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad484002bcb701820d55f32ea5d525571">&#9670;&nbsp;</a></span>query() <span class="overload">[2/2]</span></h2>
<div class="memitem">
@@ -534,9 +524,9 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sum of elements whose index x satisfies l&lt;=x&lt;=r </dd></dl>
<div class="fragment"><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(0, n - 1, l, r, <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>[version]);</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; }</div>
<div class="fragment"><div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> {</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(0, n - 1, l, r, <a class="code hl_variable" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>[version]);</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> }</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -546,7 +536,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a0fe4e431f3e09c274ecd7d2d58dcb865"></a>
<a id="a0fe4e431f3e09c274ecd7d2d58dcb865" name="a0fe4e431f3e09c274ecd7d2d58dcb865"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fe4e431f3e09c274ecd7d2d58dcb865">&#9670;&nbsp;</a></span>size()</h2>
<div class="memitem">
@@ -571,20 +561,14 @@ Here is the call graph for this function:</div>
<p>Getting the number of versions after updates so far which is equal to the size of the pointers vector. </p>
<dl class="section return"><dt>Returns</dt><dd>the number of versions </dd></dl>
<div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; {</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_a0fe4e431f3e09c274ecd7d2d58dcb865_cgraph.svg" width="358" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="fragment"><div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> {</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>.size();</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> }</div>
</div><!-- fragment -->
</div>
</div>
</div>
</div>
<a id="af16c0c87b29119f066041d6e71ab50e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af16c0c87b29119f066041d6e71ab50e0">&#9670;&nbsp;</a></span>update() <span class="overload">[1/2]</span></h2>
<a id="a24487eda25123bc4d112e8430821a6c6" name="a24487eda25123bc4d112e8430821a6c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24487eda25123bc4d112e8430821a6c6">&#9670;&nbsp;</a></span>update() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -593,7 +577,7 @@ Here is the call graph for this function:</div>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt;<a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a>&gt; range_queries::perSegTree::update </td>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html">Node</a> &gt; range_queries::perSegTree::update </td>
<td>(</td>
<td class="paramtype">const uint32_t &amp;&#160;</td>
<td class="paramname"><em>i</em>, </td>
@@ -654,36 +638,36 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to the current newly created node </dd></dl>
<div class="fragment"><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; {</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">lazy</a>(i, j, curr);</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">if</span> (i &gt;= l &amp;&amp; j &lt;= r) {</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;Node&gt;</a> newNode = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">newKid</a>(curr);</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; newNode-&gt;prop += value;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">lazy</a>(i, j, newNode);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> newNode;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">if</span> (i &gt; r || j &lt; l) {</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">return</span> curr;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">auto</span> newNode = std::make_shared&lt;Node&gt;(<a class="code" href="../../db/d8b/struct_node.html">Node</a>());</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; uint32_t mid = i + (j - i) / 2;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; newNode-&gt;left = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">update</a>(i, mid, l, r, value, curr-&gt;left);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; newNode-&gt;right = <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">update</a>(mid + 1, j, l, r, value, curr-&gt;right);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; newNode-&gt;val = newNode-&gt;left-&gt;val + newNode-&gt;right-&gt;val;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> newNode;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_af16c0c87b29119f066041d6e71ab50e0"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">range_queries::perSegTree::update</a></div><div class="ttdeci">std::shared_ptr&lt; Node &gt; update(const uint32_t &amp;i, const uint32_t &amp;j, const uint32_t &amp;l, const uint32_t &amp;r, const int64_t &amp;value, std::shared_ptr&lt; Node &gt; const &amp;curr)</div><div class="ttdoc">Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:135</div></div>
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt; Node &gt;</a></div></div>
<div class="fragment"><div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> {</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">lazy</a>(i, j, curr);</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">if</span> (i &gt;= l &amp;&amp; j &lt;= r) {</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;Node&gt;</a> newNode = <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817">newKid</a>(curr);</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> newNode-&gt;prop += value;</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">lazy</a>(i, j, newNode);</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">return</span> newNode;</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> }</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">if</span> (i &gt; r || j &lt; l) {</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">return</span> curr;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> }</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">auto</span> newNode = std::make_shared&lt;Node&gt;(<a class="code hl_class" href="../../db/d8b/struct_node.html">Node</a>());</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> uint32_t mid = i + (j - i) / 2;</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> newNode-&gt;left = <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6">update</a>(i, mid, l, r, value, curr-&gt;left);</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> newNode-&gt;right = <a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6">update</a>(mid + 1, j, l, r, value, curr-&gt;right);</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> newNode-&gt;val = newNode-&gt;left-&gt;val + newNode-&gt;right-&gt;val;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">return</span> newNode;</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> }</div>
<div class="ttc" id="aclassrange__queries_1_1per_seg_tree_html_a24487eda25123bc4d112e8430821a6c6"><div class="ttname"><a href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6">range_queries::perSegTree::update</a></div><div class="ttdeci">std::shared_ptr&lt; Node &gt; update(const uint32_t &amp;i, const uint32_t &amp;j, const uint32_t &amp;l, const uint32_t &amp;r, const int64_t &amp;value, std::shared_ptr&lt; Node &gt; const &amp;curr)</div><div class="ttdoc">Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...</div><div class="ttdef"><b>Definition:</b> persistent_seg_tree_lazy_prop.cpp:135</div></div>
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a></div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_af16c0c87b29119f066041d6e71ab50e0_cgraph.svg" width="659" height="82"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_a24487eda25123bc4d112e8430821a6c6_cgraph.svg" width="659" height="82"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="af87494e6cf012d28c4f5b9d1c15f9c5d"></a>
<a id="af87494e6cf012d28c4f5b9d1c15f9c5d" name="af87494e6cf012d28c4f5b9d1c15f9c5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af87494e6cf012d28c4f5b9d1c15f9c5d">&#9670;&nbsp;</a></span>update() <span class="overload">[2/2]</span></h2>
<div class="memitem">
@@ -733,23 +717,23 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
<div class="fragment"><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">update</a>(</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; 0, n - 1, l, r, value,</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>[<a class="code" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() -</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; 1])); <span class="comment">// saving the root pointer to the new segment tree</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; }</div>
<div class="fragment"><div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> {</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <a class="code hl_variable" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>.push_back(<a class="code hl_function" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6">update</a>(</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> 0, n - 1, l, r, value,</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <a class="code hl_variable" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>[<a class="code hl_variable" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a>.size() -</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> 1])); <span class="comment">// saving the root pointer to the new segment tree</span></div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> }</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.svg" width="100%" height="416"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d8/d28/classrange__queries_1_1per_seg_tree_af87494e6cf012d28c4f5b9d1c15f9c5d_cgraph.svg" width="100%" height="361"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a8ff495d2f389b4aaa54449c26c6078f3"></a>
<a id="a8ff495d2f389b4aaa54449c26c6078f3" name="a8ff495d2f389b4aaa54449c26c6078f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ff495d2f389b4aaa54449c26c6078f3">&#9670;&nbsp;</a></span>vec</h2>
<div class="memitem">
@@ -768,7 +752,7 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>ptrs[i] holds a root pointer to the segment tree after the ith update. ptrs[0] holds a root pointer to the segment tree before any updates </p>
<p >ptrs[i] holds a root pointer to the segment tree after the ith update. ptrs[0] holds a root pointer to the segment tree before any updates </p>
</div>
</div>
@@ -781,7 +765,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dd/d69/namespacerange__queries.html">range_queries</a></li><li class="navelem"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">perSegTree</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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,15 +2,14 @@ var classrange__queries_1_1per_seg_tree =
[
[ "Node", "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html", "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node" ],
[ "construct", "d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3", null ],
[ "construct", "d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767", null ],
[ "construct", "d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4", null ],
[ "lazy", "d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79", null ],
[ "newKid", "d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045", null ],
[ "newKid", "d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817", null ],
[ "query", "d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4", null ],
[ "query", "d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571", null ],
[ "size", "d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865", null ],
[ "update", "d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0", null ],
[ "update", "d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6", null ],
[ "update", "d8/d28/classrange__queries_1_1per_seg_tree.html#af87494e6cf012d28c4f5b9d1c15f9c5d", null ],
[ "n", "d8/d28/classrange__queries_1_1per_seg_tree.html#a6f5b36111f90807a9fdf6bbca04f535e", null ],
[ "ptrs", "d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5", null ],
[ "vec", "d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3", null ]
];

View File

@@ -1,4 +0,0 @@
<map id="range_queries::perSegTree::size" name="range_queries::perSegTree::size">
<area shape="rect" id="node1" title="Getting the number of versions after updates so far which is equal to the size of the pointers vector..." alt="" coords="5,5,189,47"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="237,13,352,39"/>
</map>

View File

@@ -1 +0,0 @@
64b7d840ebf115cd1c86482ef9919fbb

View File

@@ -1,38 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
-->
<!-- Title: range_queries::perSegTree::size Pages: 1 -->
<svg width="268pt" height="39pt"
viewBox="0.00 0.00 268.00 39.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 35)">
<title>range_queries::perSegTree::size</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 264,-35 264,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Getting the number of versions after updates so far which is equal to the size of the pointers vector...">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 138,-30.5 138,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="69" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::size</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="174,-6 174,-25 260,-25 260,-6 174,-6"/>
<text text-anchor="middle" x="217" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M138.3,-15.5C146.86,-15.5 155.5,-15.5 163.76,-15.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="163.98,-19 173.98,-15.5 163.98,-12 163.98,-19"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -1,5 +1,5 @@
<map id="range_queries::perSegTree::update" name="range_queries::perSegTree::update">
<area shape="rect" id="node1" title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ..." alt="" coords="5,35,189,76"/>
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="237,5,421,47"/>
<area shape="rect" id="node3" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" title="Creating a new node with the same values of curr node." alt="" coords="469,35,653,76"/>
<area shape="rect" id="node3" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" title="Creating a new node with the same values of curr node." alt="" coords="469,35,653,76"/>
</map>

View File

@@ -0,0 +1 @@
302542c93146e4aee5cf20210b42fefd

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: range_queries::perSegTree::update Pages: 1 -->
<svg width="494pt" height="61pt"
@@ -19,6 +19,12 @@
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M38.68,-30.66C31.36,-40.06 41.47,-49 69,-49 85.77,-49 96.08,-45.68 99.92,-40.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="103.39,-40.44 99.32,-30.66 96.41,-40.84 103.39,-40.44"/>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
@@ -38,7 +44,7 @@
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="black" points="348,-0.5 348,-30.5 486,-30.5 486,-0.5 348,-0.5"/>
<text text-anchor="start" x="356" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="417" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -0,0 +1,3 @@
<map id="range_queries::perSegTree::construct" name="range_queries::perSegTree::construct">
<area shape="rect" id="node1" title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum..." alt="" coords="5,29,189,71"/>
</map>

View File

@@ -0,0 +1 @@
d97481e3a2f63392b8a4db2ac8ee052e

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: range_queries::perSegTree::construct Pages: 1 -->
<svg width="146pt" height="57pt"
viewBox="0.00 0.00 146.00 57.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 53)">
<title>range_queries::perSegTree::construct</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-53 142,-53 142,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Constructing the segment tree with the early passed vector. Every call creates a node to hold the sum...">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 138,-30.5 138,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="69" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::construct</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M44.95,-30.66C39.15,-40.06 47.17,-49 69,-49 82.3,-49 90.48,-45.68 93.52,-40.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="97,-40.49 93.05,-30.66 90.01,-40.81 97,-40.49"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,5 +0,0 @@
<map id="range_queries::perSegTree::construct" name="range_queries::perSegTree::construct">
<area shape="rect" id="node1" title="Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed i..." alt="" coords="5,23,189,65"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/empty.html#" title=" " alt="" coords="237,5,364,32"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="243,56,358,83"/>
</map>

View File

@@ -1 +0,0 @@
f6af35e5643dc80c6e849b32fc8bca95

View File

@@ -1,53 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
-->
<!-- Title: range_queries::perSegTree::construct Pages: 1 -->
<svg width="277pt" height="66pt"
viewBox="0.00 0.00 277.00 66.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 62)">
<title>range_queries::perSegTree::construct</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 273,-62 273,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Constructing the segment tree with the values in the passed vector. Returned root pointer is pushed i...">
<polygon fill="#bfbfbf" stroke="black" points="0,-14 0,-44 138,-44 138,-14 0,-14"/>
<text text-anchor="start" x="8" y="-32" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="69" y="-21" font-family="Helvetica,sans-Serif" font-size="10.00">::construct</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/empty.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="174,-38.5 174,-57.5 269,-57.5 269,-38.5 174,-38.5"/>
<text text-anchor="middle" x="221.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::empty</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M138.2,-37.61C146.72,-38.69 155.36,-39.78 163.67,-40.83"/>
<polygon fill="midnightblue" stroke="midnightblue" points="163.27,-44.3 173.63,-42.08 164.15,-37.36 163.27,-44.3"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="178.5,-0.5 178.5,-19.5 264.5,-19.5 264.5,-0.5 178.5,-0.5"/>
<text text-anchor="middle" x="221.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M138.2,-20.39C148.36,-19.11 158.7,-17.8 168.45,-16.57"/>
<polygon fill="midnightblue" stroke="midnightblue" points="168.89,-20.04 178.38,-15.32 168.02,-13.1 168.89,-20.04"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,4 +1,4 @@
<map id="range_queries::perSegTree::lazy" name="range_queries::perSegTree::lazy">
<area shape="rect" id="node1" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="5,5,189,47"/>
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" title="Creating a new node with the same values of curr node." alt="" coords="237,5,421,47"/>
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" title="Creating a new node with the same values of curr node." alt="" coords="237,5,421,47"/>
</map>

View File

@@ -1 +1 @@
9221a56cc63db5e990cdb9212a1b91cf
a15e48c921cd599d106f191cc53ec493

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: range_queries::perSegTree::lazy Pages: 1 -->
<svg width="320pt" height="39pt"
@@ -22,7 +22,7 @@
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="black" points="174,-0.5 174,-30.5 312,-30.5 312,-0.5 174,-0.5"/>
<text text-anchor="start" x="182" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="243" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -1,6 +1,6 @@
<map id="range_queries::perSegTree::query" name="range_queries::perSegTree::query">
<area shape="rect" id="node1" title="Querying the range from index l to index r, getting the sum of the elements whose index x satisfies l..." alt="" coords="5,5,189,47"/>
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4" title="Querying the range from index l to index r, checking at every node if it has some value to be propaga..." alt="" coords="237,5,421,47"/>
<area shape="rect" id="node3" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="469,5,653,47"/>
<area shape="rect" id="node4" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" title="Creating a new node with the same values of curr node." alt="" coords="701,5,885,47"/>
<area shape="rect" id="node1" title="Querying the range from index l to index r, getting the sum of the elements whose index x satisfies l..." alt="" coords="5,29,189,71"/>
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4" title="Querying the range from index l to index r, checking at every node if it has some value to be propaga..." alt="" coords="237,29,421,71"/>
<area shape="rect" id="node3" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="469,29,653,71"/>
<area shape="rect" id="node4" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" title="Creating a new node with the same values of curr node." alt="" coords="701,29,885,71"/>
</map>

View File

@@ -1 +1 @@
41f88526f3297a3706e8df6ae36fdbca
2c7ed22290c0b06d4ae7098ac37c5b1c

View File

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: range_queries::perSegTree::query Pages: 1 -->
<!--zoomable 39 -->
<!--zoomable 57 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.edge:hover path { stroke: red; }
@@ -47,14 +47,14 @@ if (edges && edges.length) {
<script type="text/javascript">
var viewWidth = 668;
var viewHeight = 39;
var sectionId = 'dynsection-4';
var viewHeight = 57;
var sectionId = 'dynsection-3';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>range_queries::perSegTree::query</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 664,-35 664,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-53 664,-53 664,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
@@ -81,6 +81,12 @@ var sectionId = 'dynsection-4';
<path fill="none" stroke="midnightblue" d="M138.47,-15.5C146.73,-15.5 155.22,-15.5 163.6,-15.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="163.76,-19 173.76,-15.5 163.76,-12 163.76,-19"/>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge4" class="edge">
<title>Node2&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M212.68,-30.66C205.36,-40.06 215.47,-49 243,-49 259.77,-49 270.08,-45.68 273.92,-40.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="277.39,-40.44 273.32,-30.66 270.41,-40.84 277.39,-40.44"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
@@ -100,7 +106,7 @@ var sectionId = 'dynsection-4';
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="black" points="522,-0.5 522,-30.5 660,-30.5 660,-0.5 522,-0.5"/>
<text text-anchor="start" x="530" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="591" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View File

@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: range_queries::perSegTree::query Pages: 1 -->
<svg width="668pt" height="39pt"
viewBox="0.00 0.00 668.00 39.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 35)">
<svg width="668pt" height="57pt"
viewBox="0.00 0.00 668.00 57.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 53)">
<title>range_queries::perSegTree::query</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 664,-35 664,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-53 664,-53 664,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
@@ -35,6 +35,12 @@
<path fill="none" stroke="midnightblue" d="M138.47,-15.5C146.73,-15.5 155.22,-15.5 163.6,-15.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="163.76,-19 173.76,-15.5 163.76,-12 163.76,-19"/>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge4" class="edge">
<title>Node2&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M212.68,-30.66C205.36,-40.06 215.47,-49 243,-49 259.77,-49 270.08,-45.68 273.92,-40.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="277.39,-40.44 273.32,-30.66 270.41,-40.84 277.39,-40.44"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
@@ -54,7 +60,7 @@
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="black" points="522,-0.5 522,-30.5 660,-30.5 660,-0.5 522,-0.5"/>
<text text-anchor="start" x="530" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="591" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -1,5 +1,5 @@
<map id="range_queries::perSegTree::query" name="range_queries::perSegTree::query">
<area shape="rect" id="node1" title="Querying the range from index l to index r, checking at every node if it has some value to be propaga..." alt="" coords="5,5,189,47"/>
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="237,5,421,47"/>
<area shape="rect" id="node3" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" title="Creating a new node with the same values of curr node." alt="" coords="469,5,653,47"/>
<area shape="rect" id="node1" title="Querying the range from index l to index r, checking at every node if it has some value to be propaga..." alt="" coords="5,29,189,71"/>
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="237,29,421,71"/>
<area shape="rect" id="node3" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" title="Creating a new node with the same values of curr node." alt="" coords="469,29,653,71"/>
</map>

View File

@@ -1 +1 @@
c0bdb3aefa0e273418866ca9dc4da61b
3a8464998d0964c8cc0afacc36d3f8d5

View File

@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: range_queries::perSegTree::query Pages: 1 -->
<svg width="494pt" height="39pt"
viewBox="0.00 0.00 494.00 39.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 35)">
<svg width="494pt" height="57pt"
viewBox="0.00 0.00 494.00 57.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 53)">
<title>range_queries::perSegTree::query</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 490,-35 490,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-53 490,-53 490,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
@@ -19,6 +19,12 @@
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M38.68,-30.66C31.36,-40.06 41.47,-49 69,-49 85.77,-49 96.08,-45.68 99.92,-40.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="103.39,-40.44 99.32,-30.66 96.41,-40.84 103.39,-40.44"/>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
@@ -38,7 +44,7 @@
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="black" points="348,-0.5 348,-30.5 486,-30.5 486,-0.5 348,-0.5"/>
<text text-anchor="start" x="356" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="417" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@@ -1 +0,0 @@
20f3cace9089d9f1ac5e9b4a630b426f

View File

@@ -1,8 +1,6 @@
<map id="range_queries::perSegTree::update" name="range_queries::perSegTree::update">
<area shape="rect" id="node1" title="Doing range update by passing the left and right indexes of the range as well as the value to be adde..." alt="" coords="5,49,189,90"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="251,5,407,32"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="272,56,387,83"/>
<area shape="rect" id="node4" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0" title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ..." alt="" coords="237,107,421,149"/>
<area shape="rect" id="node5" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="469,78,653,119"/>
<area shape="rect" id="node6" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" title="Creating a new node with the same values of curr node." alt="" coords="701,107,885,149"/>
<area shape="rect" id="node1" title="Doing range update by passing the left and right indexes of the range as well as the value to be adde..." alt="" coords="5,35,189,76"/>
<area shape="rect" id="node2" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6" title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ..." alt="" coords="237,35,421,76"/>
<area shape="rect" id="node3" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" title="If there is some value to be propagated to the passed node, value is added to the node and the childr..." alt="" coords="469,5,653,47"/>
<area shape="rect" id="node4" href="$d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" title="Creating a new node with the same values of curr node." alt="" coords="701,35,885,76"/>
</map>

View File

@@ -1 +1 @@
05716a7714ec381e9f9997bd4a8a6976
abd3f34dac2dc5491795c48ed131b6c7

View File

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: range_queries::perSegTree::update Pages: 1 -->
<!--zoomable 116 -->
<!--zoomable 61 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.edge:hover path { stroke: red; }
@@ -47,105 +47,81 @@ if (edges && edges.length) {
<script type="text/javascript">
var viewWidth = 668;
var viewHeight = 116;
var sectionId = 'dynsection-7';
var viewHeight = 61;
var sectionId = 'dynsection-5';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>range_queries::perSegTree::update</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-111.5 664,-111.5 664,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-57 664,-57 664,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Doing range update by passing the left and right indexes of the range as well as the value to be adde...">
<polygon fill="#bfbfbf" stroke="black" points="0,-44.5 0,-74.5 138,-74.5 138,-44.5 0,-44.5"/>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="69" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 138,-30.5 138,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="69" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="184.5,-88 184.5,-107 301.5,-107 301.5,-88 184.5,-88"/>
<text text-anchor="middle" x="243" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M137.98,-74.52C155.01,-78.28 173.03,-82.26 189.19,-85.83"/>
<polygon fill="midnightblue" stroke="midnightblue" points="188.48,-89.26 199,-88 189.99,-82.42 188.48,-89.26"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="200,-50 200,-69 286,-69 286,-50 200,-50"/>
<text text-anchor="middle" x="243" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M138.47,-59.5C155.46,-59.5 173.39,-59.5 189.48,-59.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="189.75,-63 199.75,-59.5 189.75,-56 189.75,-63"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0" target="_top" xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6" target="_top" xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
<polygon fill="white" stroke="black" points="174,-0.5 174,-30.5 312,-30.5 312,-0.5 174,-0.5"/>
<text text-anchor="start" x="182" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="243" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M128.71,-44.48C143.02,-40.82 158.46,-36.87 173.19,-33.1"/>
<polygon fill="midnightblue" stroke="midnightblue" points="174.44,-36.4 183.26,-30.53 172.71,-29.61 174.44,-36.4"/>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M138.47,-15.5C146.73,-15.5 155.22,-15.5 163.6,-15.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="163.76,-19 173.76,-15.5 163.76,-12 163.76,-19"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<!-- Node2&#45;&gt;Node2 -->
<g id="edge5" class="edge">
<title>Node2&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M212.68,-30.66C205.36,-40.06 215.47,-49 243,-49 259.77,-49 270.08,-45.68 273.92,-40.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="277.39,-40.44 273.32,-30.66 270.41,-40.84 277.39,-40.44"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<polygon fill="white" stroke="black" points="348,-22.5 348,-52.5 486,-52.5 486,-22.5 348,-22.5"/>
<text text-anchor="start" x="356" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="417" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node4&#45;&gt;Node5</title>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M312.47,-24.26C320.73,-25.31 329.22,-26.4 337.6,-27.47"/>
<polygon fill="midnightblue" stroke="midnightblue" points="337.4,-30.97 347.76,-28.77 338.29,-24.03 337.4,-30.97"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="black" points="522,-0.5 522,-30.5 660,-30.5 660,-0.5 522,-0.5"/>
<text text-anchor="start" x="530" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="591" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node6 -->
<g id="edge6" class="edge">
<title>Node4&#45;&gt;Node6</title>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge4" class="edge">
<title>Node2&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M312.25,-14C324.16,-13.79 336.44,-13.61 348,-13.5 409.33,-12.91 424.67,-12.91 486,-13.5 494.31,-13.58 502.99,-13.7 511.64,-13.83"/>
<polygon fill="midnightblue" stroke="midnightblue" points="511.7,-17.33 521.75,-14 511.81,-10.33 511.7,-17.33"/>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node5&#45;&gt;Node6</title>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M486.47,-28.74C494.73,-27.69 503.22,-26.6 511.6,-25.53"/>
<polygon fill="midnightblue" stroke="midnightblue" points="512.29,-28.97 521.76,-24.23 511.4,-22.03 512.29,-28.97"/>
</g>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@@ -1,105 +1,81 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: range_queries::perSegTree::update Pages: 1 -->
<svg width="668pt" height="116pt"
viewBox="0.00 0.00 668.00 115.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 111.5)">
<svg width="668pt" height="61pt"
viewBox="0.00 0.00 668.00 61.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 57)">
<title>range_queries::perSegTree::update</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-111.5 664,-111.5 664,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-57 664,-57 664,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Doing range update by passing the left and right indexes of the range as well as the value to be adde...">
<polygon fill="#bfbfbf" stroke="black" points="0,-44.5 0,-74.5 138,-74.5 138,-44.5 0,-44.5"/>
<text text-anchor="start" x="8" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="69" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 138,-30.5 138,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="69" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="184.5,-88 184.5,-107 301.5,-107 301.5,-88 184.5,-88"/>
<text text-anchor="middle" x="243" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M137.98,-74.52C155.01,-78.28 173.03,-82.26 189.19,-85.83"/>
<polygon fill="midnightblue" stroke="midnightblue" points="188.48,-89.26 199,-88 189.99,-82.42 188.48,-89.26"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="200,-50 200,-69 286,-69 286,-50 200,-50"/>
<text text-anchor="middle" x="243" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M138.47,-59.5C155.46,-59.5 173.39,-59.5 189.48,-59.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="189.75,-63 199.75,-59.5 189.75,-56 189.75,-63"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0" target="_top" xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
<g id="a_node2"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6" target="_top" xlink:title="Doing range update, checking at every node if it has some value to be propagated. All nodes affected ...">
<polygon fill="white" stroke="black" points="174,-0.5 174,-30.5 312,-30.5 312,-0.5 174,-0.5"/>
<text text-anchor="start" x="182" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="243" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::update</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M128.71,-44.48C143.02,-40.82 158.46,-36.87 173.19,-33.1"/>
<polygon fill="midnightblue" stroke="midnightblue" points="174.44,-36.4 183.26,-30.53 172.71,-29.61 174.44,-36.4"/>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M138.47,-15.5C146.73,-15.5 155.22,-15.5 163.6,-15.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="163.76,-19 173.76,-15.5 163.76,-12 163.76,-19"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<!-- Node2&#45;&gt;Node2 -->
<g id="edge5" class="edge">
<title>Node2&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M212.68,-30.66C205.36,-40.06 215.47,-49 243,-49 259.77,-49 270.08,-45.68 273.92,-40.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="277.39,-40.44 273.32,-30.66 270.41,-40.84 277.39,-40.44"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79" target="_top" xlink:title="If there is some value to be propagated to the passed node, value is added to the node and the childr...">
<polygon fill="white" stroke="black" points="348,-22.5 348,-52.5 486,-52.5 486,-22.5 348,-22.5"/>
<text text-anchor="start" x="356" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="417" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">::lazy</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node4&#45;&gt;Node5</title>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M312.47,-24.26C320.73,-25.31 329.22,-26.4 337.6,-27.47"/>
<polygon fill="midnightblue" stroke="midnightblue" points="337.4,-30.97 347.76,-28.77 338.29,-24.03 337.4,-30.97"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817" target="_top" xlink:title="Creating a new node with the same values of curr node.">
<polygon fill="white" stroke="black" points="522,-0.5 522,-30.5 660,-30.5 660,-0.5 522,-0.5"/>
<text text-anchor="start" x="530" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="591" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::newKid</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node6 -->
<g id="edge6" class="edge">
<title>Node4&#45;&gt;Node6</title>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge4" class="edge">
<title>Node2&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M312.25,-14C324.16,-13.79 336.44,-13.61 348,-13.5 409.33,-12.91 424.67,-12.91 486,-13.5 494.31,-13.58 502.99,-13.7 511.64,-13.83"/>
<polygon fill="midnightblue" stroke="midnightblue" points="511.7,-17.33 521.75,-14 511.81,-10.33 511.7,-17.33"/>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node5&#45;&gt;Node6</title>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M486.47,-28.74C494.73,-27.69 503.22,-26.6 511.6,-25.53"/>
<polygon fill="midnightblue" stroke="midnightblue" points="512.29,-28.97 521.76,-24.23 511.4,-22.03 512.29,-28.97"/>
</g>

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: cut_rod Namespace Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d8/d36/namespacecut__rod.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,22 +90,21 @@ $(document).ready(function(){initNavTree('d8/d36/namespacecut__rod.html','../../
</div>
<div class="header">
<div class="headertitle">
<div class="title">cut_rod Namespace Reference</div> </div>
<div class="headertitle"><div class="title">cut_rod Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Implementation of cutting a rod problem.
<a href="../../d8/d36/namespacecut__rod.html#details">More...</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implementation of cutting a rod problem. </p>
<div class="textblock"><p >Implementation of cutting a rod problem. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d8/d36/namespacecut__rod.html">cut_rod</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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: data_structures/queue.h Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d8/d38/queue_8h_source.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,98 +90,97 @@ $(document).ready(function(){initNavTree('d8/d38/queue_8h_source.html','../../')
</div>
<div class="header">
<div class="headertitle">
<div class="title">queue.h</div> </div>
<div class="headertitle"><div class="title">queue.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/* This class specifies the basic operation on a queue as a linked list */</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#ifndef DATA_STRUCTURES_QUEUE_H_</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#define DATA_STRUCTURES_QUEUE_H_</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160; </div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;cassert&gt;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">/** Definition of the node */</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> Kind&gt;</div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="keyword">struct </span><a class="code" href="../../d5/da1/structnode.html">node</a> {</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; Kind data;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; <a class="code" href="../../d5/da1/structnode.html">node&lt;Kind&gt;</a> *next;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;};</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">/** Definition of the queue class */</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> Kind&gt;</div>
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html"> 17</a></span>&#160;<span class="keyword">class </span><a class="code" href="../../db/da9/classqueue.html">queue</a> {</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> /** Show queue */</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#a26f48801df462ade003b50739196fa4c"> 20</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../db/da9/classqueue.html#a26f48801df462ade003b50739196fa4c">display</a>() {</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <a class="code" href="../../d5/da1/structnode.html">node&lt;Kind&gt;</a> *current = <a class="code" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a>;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Front --&gt; &quot;</span>;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keywordflow">while</span> (current != NULL) {</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; current-&gt;data &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; current = current-&gt;next;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; }</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Size of queue: &quot;</span> &lt;&lt; size &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; }</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> /** Default constructor*/</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#a21381ee7f95daae0332665914780e970"> 32</a></span>&#160; <a class="code" href="../../db/da9/classqueue.html#a21381ee7f95daae0332665914780e970">queue</a>() {</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a> = NULL;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="../../db/da9/classqueue.html#ae2a7a36270f5d15218a180fa59e5b3a5">queueRear</a> = NULL;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; size = 0;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; }</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="comment"> /** Destructor */</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#ad215eee654953d25150bb25d5ac12b7c"> 39</a></span>&#160; <a class="code" href="../../db/da9/classqueue.html#ad215eee654953d25150bb25d5ac12b7c">~queue</a>() {}</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"> /** Determine whether the queue is empty */</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#ac2fff88dce4d7d2eb7134af382bd1b31"> 42</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../db/da9/classqueue.html#ac2fff88dce4d7d2eb7134af382bd1b31">isEmptyQueue</a>() { <span class="keywordflow">return</span> (<a class="code" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a> == NULL); }</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"> /** Add new item to the queue */</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#a592c0580551ec0d3b4d43e8198d8a377"> 45</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../db/da9/classqueue.html#a592c0580551ec0d3b4d43e8198d8a377">enQueue</a>(Kind item) {</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="../../d5/da1/structnode.html">node&lt;Kind&gt;</a> *newNode;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; newNode = <span class="keyword">new</span> <a class="code" href="../../d5/da1/structnode.html">node&lt;Kind&gt;</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; newNode-&gt;data = item;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; newNode-&gt;next = NULL;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a> == NULL) {</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a> = newNode;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="../../db/da9/classqueue.html#ae2a7a36270f5d15218a180fa59e5b3a5">queueRear</a> = newNode;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="../../db/da9/classqueue.html#ae2a7a36270f5d15218a180fa59e5b3a5">queueRear</a>-&gt;next = newNode;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="../../db/da9/classqueue.html#ae2a7a36270f5d15218a180fa59e5b3a5">queueRear</a> = <a class="code" href="../../db/da9/classqueue.html#ae2a7a36270f5d15218a180fa59e5b3a5">queueRear</a>-&gt;next;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; size++;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> /** Return the first element of the queue */</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#a36d47fdbedc199609818385110d9f922"> 61</a></span>&#160; Kind <a class="code" href="../../db/da9/classqueue.html#a36d47fdbedc199609818385110d9f922">front</a>() {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; assert(<a class="code" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a> != NULL);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a>-&gt;data;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; }</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> /** Remove the top element of the queue */</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#a089d4af5532e0a801f560070da6e1f86"> 67</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../db/da9/classqueue.html#a089d4af5532e0a801f560070da6e1f86">deQueue</a>() {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="../../d5/da1/structnode.html">node&lt;Kind&gt;</a> *temp;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../db/da9/classqueue.html#ac2fff88dce4d7d2eb7134af382bd1b31">isEmptyQueue</a>()) {</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; temp = <a class="code" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a>;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a> = <a class="code" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a>-&gt;next;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">delete</span> temp;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; size--;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Queue is empty !&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"> /** Clear queue */</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#ab2019d91e28c06de325fb3076b93a930"> 80</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="../../db/da9/classqueue.html#ab2019d91e28c06de325fb3076b93a930">clear</a>() { <a class="code" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a> = NULL; }</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5"> 83</a></span>&#160; <a class="code" href="../../d5/da1/structnode.html">node&lt;Kind&gt;</a> *<a class="code" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a>; <span class="comment">/**&lt; Pointer to the front of the queue */</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#ae2a7a36270f5d15218a180fa59e5b3a5"> 84</a></span>&#160; <a class="code" href="../../d5/da1/structnode.html">node&lt;Kind&gt;</a> *<a class="code" href="../../db/da9/classqueue.html#ae2a7a36270f5d15218a180fa59e5b3a5">queueRear</a>; <span class="comment">/**&lt; Pointer to the rear of the queue */</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordtype">int</span> size;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;};</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DATA_STRUCTURES_QUEUE_H_</span></div>
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/* This class specifies the basic operation on a queue as a linked list */</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#ifndef DATA_STRUCTURES_QUEUE_H_</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#define DATA_STRUCTURES_QUEUE_H_</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &lt;cassert&gt;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"></span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">/** Definition of the node */</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> Kind&gt;</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="keyword">struct </span><a class="code hl_class" href="../../d5/da1/structnode.html">node</a> {</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> Kind data;</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node&lt;Kind&gt;</a> *next;</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span>};</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"></span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment">/** Definition of the queue class */</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> Kind&gt;</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html"> 17</a></span><span class="keyword">class </span><a class="code hl_class" href="../../db/da9/classqueue.html">queue</a> {</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> /** Show queue */</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#a26f48801df462ade003b50739196fa4c"> 20</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../db/da9/classqueue.html#a26f48801df462ade003b50739196fa4c">display</a>() {</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node&lt;Kind&gt;</a> *current = <a class="code hl_variable" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a>;</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Front --&gt; &quot;</span>;</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <span class="keywordflow">while</span> (current != NULL) {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; current-&gt;data &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> current = current-&gt;next;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> }</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Size of queue: &quot;</span> &lt;&lt; size &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> }</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment"></span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"> /** Default constructor*/</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#a21381ee7f95daae0332665914780e970"> 32</a></span> <a class="code hl_function" href="../../db/da9/classqueue.html#a21381ee7f95daae0332665914780e970">queue</a>() {</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_variable" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a> = NULL;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <a class="code hl_variable" href="../../db/da9/classqueue.html#ae2a7a36270f5d15218a180fa59e5b3a5">queueRear</a> = NULL;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> size = 0;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> }</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment"></span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment"> /** Destructor */</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#ad215eee654953d25150bb25d5ac12b7c"> 39</a></span> <a class="code hl_function" href="../../db/da9/classqueue.html#ad215eee654953d25150bb25d5ac12b7c">~queue</a>() {}</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="comment"></span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="comment"> /** Determine whether the queue is empty */</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#ac2fff88dce4d7d2eb7134af382bd1b31"> 42</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../db/da9/classqueue.html#ac2fff88dce4d7d2eb7134af382bd1b31">isEmptyQueue</a>() { <span class="keywordflow">return</span> (<a class="code hl_variable" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a> == NULL); }</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="comment"></span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="comment"> /** Add new item to the queue */</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#a592c0580551ec0d3b4d43e8198d8a377"> 45</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../db/da9/classqueue.html#a592c0580551ec0d3b4d43e8198d8a377">enQueue</a>(Kind item) {</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node&lt;Kind&gt;</a> *newNode;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> newNode = <span class="keyword">new</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node&lt;Kind&gt;</a>;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> newNode-&gt;data = item;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> newNode-&gt;next = NULL;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a> == NULL) {</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <a class="code hl_variable" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a> = newNode;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <a class="code hl_variable" href="../../db/da9/classqueue.html#ae2a7a36270f5d15218a180fa59e5b3a5">queueRear</a> = newNode;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <a class="code hl_variable" href="../../db/da9/classqueue.html#ae2a7a36270f5d15218a180fa59e5b3a5">queueRear</a>-&gt;next = newNode;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <a class="code hl_variable" href="../../db/da9/classqueue.html#ae2a7a36270f5d15218a180fa59e5b3a5">queueRear</a> = <a class="code hl_variable" href="../../db/da9/classqueue.html#ae2a7a36270f5d15218a180fa59e5b3a5">queueRear</a>-&gt;next;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> }</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> size++;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> }</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment"></span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="comment"> /** Return the first element of the queue */</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#a36d47fdbedc199609818385110d9f922"> 61</a></span> Kind <a class="code hl_function" href="../../db/da9/classqueue.html#a36d47fdbedc199609818385110d9f922">front</a>() {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> assert(<a class="code hl_variable" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a> != NULL);</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a>-&gt;data;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> }</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="comment"></span> </div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment"> /** Remove the top element of the queue */</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#a089d4af5532e0a801f560070da6e1f86"> 67</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../db/da9/classqueue.html#a089d4af5532e0a801f560070da6e1f86">deQueue</a>() {</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node&lt;Kind&gt;</a> *temp;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="../../db/da9/classqueue.html#ac2fff88dce4d7d2eb7134af382bd1b31">isEmptyQueue</a>()) {</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> temp = <a class="code hl_variable" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a>;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <a class="code hl_variable" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a> = <a class="code hl_variable" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a>-&gt;next;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">delete</span> temp;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> size--;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Queue is empty !&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> }</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> }</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment"></span> </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="comment"> /** Clear queue */</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#ab2019d91e28c06de325fb3076b93a930"> 80</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../db/da9/classqueue.html#ab2019d91e28c06de325fb3076b93a930">clear</a>() { <a class="code hl_variable" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a> = NULL; }</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5"> 83</a></span> <a class="code hl_class" href="../../d5/da1/structnode.html">node&lt;Kind&gt;</a> *<a class="code hl_variable" href="../../db/da9/classqueue.html#ac16ccadebb765e1ddbe415cdce1a17a5">queueFront</a>; <span class="comment">/**&lt; Pointer to the front of the queue */</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="../../db/da9/classqueue.html#ae2a7a36270f5d15218a180fa59e5b3a5"> 84</a></span> <a class="code hl_class" href="../../d5/da1/structnode.html">node&lt;Kind&gt;</a> *<a class="code hl_variable" href="../../db/da9/classqueue.html#ae2a7a36270f5d15218a180fa59e5b3a5">queueRear</a>; <span class="comment">/**&lt; Pointer to the rear of the queue */</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordtype">int</span> size;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span>};</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="preprocessor">#endif </span><span class="comment">// DATA_STRUCTURES_QUEUE_H_</span></div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="aclassqueue_html"><div class="ttname"><a href="../../db/da9/classqueue.html">queue</a></div><div class="ttdef"><b>Definition:</b> queue.h:17</div></div>
<div class="ttc" id="aclassqueue_html_a089d4af5532e0a801f560070da6e1f86"><div class="ttname"><a href="../../db/da9/classqueue.html#a089d4af5532e0a801f560070da6e1f86">queue::deQueue</a></div><div class="ttdeci">void deQueue()</div><div class="ttdef"><b>Definition:</b> queue.h:67</div></div>
@@ -202,7 +201,7 @@ $(document).ready(function(){initNavTree('d8/d38/queue_8h_source.html','../../')
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html">data_structures</a></li><li class="navelem"><b>queue.h</b></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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('dd/d1b/structquery.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,22 +90,21 @@ $(document).ready(function(){initNavTree('dd/d1b/structquery.html','../../'); in
</div>
<div class="header">
<div class="headertitle">
<div class="title">query Member List</div> </div>
<div class="headertitle"><div class="title">query Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../dd/d1b/structquery.html">query</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>i</b> (defined in <a class="el" href="../../dd/d1b/structquery.html">query</a>)</td><td class="entry"><a class="el" href="../../dd/d1b/structquery.html">query</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>l</b> (defined in <a class="el" href="../../dd/d1b/structquery.html">query</a>)</td><td class="entry"><a class="el" href="../../dd/d1b/structquery.html">query</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>l</b> (defined in <a class="el" href="../../dd/d1b/structquery.html">query</a>)</td><td class="entry"><a class="el" href="../../dd/d1b/structquery.html">query</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>r</b> (defined in <a class="el" href="../../dd/d1b/structquery.html">query</a>)</td><td class="entry"><a class="el" href="../../dd/d1b/structquery.html">query</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: math/modular_inverse_fermat_little_theorem.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d8/d53/modular__inverse__fermat__little__theorem_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -92,12 +92,11 @@ $(document).ready(function(){initNavTree('d8/d53/modular__inverse__fermat__littl
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">modular_inverse_fermat_little_theorem.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">modular_inverse_fermat_little_theorem.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>C++ Program to find the modular inverse using <a href="https://en.wikipedia.org/wiki/Fermat%27s_little_theorem">Fermat's Little Theorem</a>
<p>C++ Program to find the modular inverse using <a href="https://en.wikipedia.org/wiki/Fermat%27s_little_theorem" target="_blank">Fermat's Little Theorem</a>
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
@@ -108,7 +107,7 @@ Include dependency graph for modular_inverse_fermat_little_theorem.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a4c6eefd1254eab3e8d34bf02c205e0f4"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#a4c6eefd1254eab3e8d34bf02c205e0f4">binExpo</a> (int64_t a, int64_t b, int64_t m)</td></tr>
<tr class="separator:a4c6eefd1254eab3e8d34bf02c205e0f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -118,8 +117,8 @@ Functions</h2></td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><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>C++ Program to find the modular inverse using <a href="https://en.wikipedia.org/wiki/Fermat%27s_little_theorem">Fermat's Little Theorem</a> </p>
<p>Fermat's Little Theorem state that </p><p class="formulaDsp">
<div class="textblock"><p >C++ Program to find the modular inverse using <a href="https://en.wikipedia.org/wiki/Fermat%27s_little_theorem" target="_blank">Fermat's Little Theorem</a> </p>
<p >Fermat's Little Theorem state that </p><p class="formulaDsp">
\[ϕ(m) = m-1\]
</p>
<p> where \(m\) is a prime number. </p><p class="formulaDsp">
@@ -129,19 +128,19 @@ Functions</h2></td></tr>
\[ a^{ϕ(m)} ≡ 1 \;\text{mod}\; m \]
</p>
<p> (Where '^' denotes the exponent operator)</p>
<p>Here 'ϕ' is Euler's Totient Function. For modular inverse existence 'a' and 'm' must be relatively primes numbers. To apply Fermat's Little Theorem is necessary that 'm' must be a prime number. Generally in many competitive programming competitions 'm' is either 1000000007 (1e9+7) or 998244353.</p>
<p>We considered m as large prime (1e9+7). \(a^{ϕ(m)} ≡ 1 \;\text{mod}\; m\) (Using Euler's Theorem) \(ϕ(m) = m-1\) using Fermat's Little Theorem. \(a^{m-1} ≡ 1 \;\text{mod}\; m\) Now multiplying both side by \(a^{-1}\). </p><p class="formulaDsp">
<p >Here 'ϕ' is Euler's Totient Function. For modular inverse existence 'a' and 'm' must be relatively primes numbers. To apply Fermat's Little Theorem is necessary that 'm' must be a prime number. Generally in many competitive programming competitions 'm' is either 1000000007 (1e9+7) or 998244353.</p>
<p >We considered m as large prime (1e9+7). \(a^{ϕ(m)} ≡ 1 \;\text{mod}\; m\) (Using Euler's Theorem) \(ϕ(m) = m-1\) using Fermat's Little Theorem. \(a^{m-1} ≡ 1 \;\text{mod}\; m\) Now multiplying both side by \(a^{-1}\). </p><p class="formulaDsp">
\begin{eqnarray*} a^{m-1} \cdot a^{-1} &amp;&amp; a^{-1} \;\text{mod}\; m\\ a^{m-2} &amp;&amp; a^{-1} \;\text{mod}\; m \end{eqnarray*}
</p>
<p>We will find the exponent using binary exponentiation. Such that the algorithm works in \(O(\log m)\) time.</p>
<p>Examples: -</p><ul>
<p >We will find the exponent using binary exponentiation. Such that the algorithm works in \(O(\log m)\) time.</p>
<p >Examples: -</p><ul>
<li>a = 3 and m = 7</li>
<li>\(a^{-1} \;\text{mod}\; m\) is equivalent to \(a^{m-2} \;\text{mod}\; m\)</li>
<li>\(3^5 \;\text{mod}\; 7 = 243 \;\text{mod}\; 7 = 5\) <br />
Hence, \(3^{-1} \;\text{mod}\; 7 = 5\) or \(3 \times 5 \;\text{mod}\; 7 = 1 \;\text{mod}\; 7\) (as \(a\times a^{-1} = 1\)) </li>
</ul>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a4c6eefd1254eab3e8d34bf02c205e0f4"></a>
<a id="a4c6eefd1254eab3e8d34bf02c205e0f4" name="a4c6eefd1254eab3e8d34bf02c205e0f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c6eefd1254eab3e8d34bf02c205e0f4">&#9670;&nbsp;</a></span>binExpo()</h2>
<div class="memitem">
@@ -172,24 +171,24 @@ Hence, \(3^{-1} \;\text{mod}\; 7 = 5\) or \(3 \times 5 \;\text{mod}\; 7 = 1 \;\t
</tr>
</table>
</div><div class="memdoc">
<p>Recursive function to calculate exponent in \(O(\log n)\) using binary exponent. </p>
<div class="fragment"><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; a %= m;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; int64_t res = 1;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">while</span> (b &gt; 0) {</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">if</span> (b % 2) {</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; res = res * a % m;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; a = a * a % m;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">// Dividing b by 2 is similar to right shift.</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; b &gt;&gt;= 1;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">return</span> res;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;}</div>
<p >Recursive function to calculate exponent in \(O(\log n)\) using binary exponent. </p>
<div class="fragment"><div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> {</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> a %= m;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> int64_t res = 1;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">while</span> (b &gt; 0) {</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">if</span> (b % 2) {</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> res = res * a % m;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> }</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> a = a * a % m;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="comment">// Dividing b by 2 is similar to right shift.</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> b &gt;&gt;= 1;</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> }</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">return</span> res;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a09660096b134753128952246f4f4e4bd"></a>
<a id="a09660096b134753128952246f4f4e4bd" name="a09660096b134753128952246f4f4e4bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09660096b134753128952246f4f4e4bd">&#9670;&nbsp;</a></span>isPrime()</h2>
<div class="memitem">
@@ -204,23 +203,23 @@ Hence, \(3^{-1} \;\text{mod}\; 7 = 5\) or \(3 \times 5 \;\text{mod}\; 7 = 1 \;\t
</tr>
</table>
</div><div class="memdoc">
<p>Prime check in \(O(\sqrt{m})\) time. </p>
<div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">if</span> (m &lt;= 1) {</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">for</span> (int64_t i = 2; i * i &lt;= m; i++) {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span> (m % i == 0) {</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;}</div>
<p >Prime check in \(O(\sqrt{m})\) time. </p>
<div class="fragment"><div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> {</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">if</span> (m &lt;= 1) {</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">for</span> (int64_t i = 2; i * i &lt;= m; i++) {</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">if</span> (m % i == 0) {</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> }</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> }</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> }</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -235,22 +234,22 @@ Hence, \(3^{-1} \;\text{mod}\; 7 = 5\) or \(3 \times 5 \;\text{mod}\; 7 = 1 \;\t
</tr>
</table>
</div><div class="memdoc">
<p>Main function </p>
<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; {</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; int64_t a, m;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="comment">// Take input of a and m.</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Computing ((a^(-1))%(m)) using Fermat&#39;s Little Theorem&quot;</span>;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Give input &#39;a&#39; and &#39;m&#39; space separated : &quot;</span>;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; a &gt;&gt; m;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#a09660096b134753128952246f4f4e4bd">isPrime</a>(m)) {</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;The modular inverse of a with mod m is (a^(m-2)) : &quot;</span>;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code" href="../../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#a4c6eefd1254eab3e8d34bf02c205e0f4">binExpo</a>(a, m - 2, m) &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;m must be a prime number.&quot;</span>;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;}</div>
<p >Main function </p>
<div class="fragment"><div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> {</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> int64_t a, m;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="comment">// Take input of a and m.</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Computing ((a^(-1))%(m)) using Fermat&#39;s Little Theorem&quot;</span>;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Give input &#39;a&#39; and &#39;m&#39; space separated : &quot;</span>;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; a &gt;&gt; m;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#a09660096b134753128952246f4f4e4bd">isPrime</a>(m)) {</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;The modular inverse of a with mod m is (a^(m-2)) : &quot;</span>;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code hl_function" href="../../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#a4c6eefd1254eab3e8d34bf02c205e0f4">binExpo</a>(a, m - 2, m) &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;m must be a prime number.&quot;</span>;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> }</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span>}</div>
<div class="ttc" id="abasic_istream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a></div></div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
@@ -271,7 +270,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_296d53ceaeaa7e099814a6def439fe8a.html">math</a></li><li class="navelem"><a class="el" href="../../d8/d53/modular__inverse__fermat__little__theorem_8cpp.html">modular_inverse_fermat_little_theorem.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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="136pt" height="104pt"

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d3/dbb/class_cycle_check.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,26 +90,25 @@ $(document).ready(function(){initNavTree('d3/dbb/class_cycle_check.html','../../
</div>
<div class="header">
<div class="headertitle">
<div class="title">CycleCheck Member List</div> </div>
<div class="headertitle"><div class="title">CycleCheck Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>in_stack</b> enum value (defined in <a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a>)</td><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html#a399292a33edf87499daa52b51315aca5">isCyclicBFS</a>(Graph const &amp;graph)</td><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html#a399292a33edf87499daa52b51315aca5">isCyclicBFS</a>(Graph const &amp;graph)</td><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html#ad9a270ffba3a68539b92272c702e3474">isCyclicDFS</a>(Graph const &amp;graph)</td><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html#a2f4485c08b45e7a21a2e86f9c3f01d8b">isCyclicDFSHelper</a>(AdjList const &amp;adjList, std::vector&lt; nodeStates &gt; *state, unsigned int node)</td><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html#a2f4485c08b45e7a21a2e86f9c3f01d8b">isCyclicDFSHelper</a>(AdjList const &amp;adjList, std::vector&lt; nodeStates &gt; *state, unsigned int node)</td><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>nodeStates</b> enum name (defined in <a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a>)</td><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>not_visited</b> enum value (defined in <a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a>)</td><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>not_visited</b> enum value (defined in <a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a>)</td><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>visited</b> enum value (defined in <a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a>)</td><td class="entry"><a class="el" href="../../d3/dbb/class_cycle_check.html">CycleCheck</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: dynamic_programming/kadane2.cpp Pages: 1 -->
<svg width="183pt" height="95pt"

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -1,4 +0,0 @@
<map id="Trie" name="Trie">
<area shape="rect" id="node1" title=" " alt="" coords="55,109,99,136"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/shared_ptr.html" title=" " alt="" coords="5,5,149,47"/>
</map>

View File

@@ -1 +0,0 @@
9239d2e68a8252fd213ea626e1915429

View File

@@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
-->
<!-- Title: Trie Pages: 1 -->
<svg width="116pt" height="106pt"
viewBox="0.00 0.00 116.00 106.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 102)">
<title>Trie</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-102 112,-102 112,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title=" ">
<polygon fill="#bfbfbf" stroke="black" points="37.5,-0.5 37.5,-19.5 70.5,-19.5 70.5,-0.5 37.5,-0.5"/>
<text text-anchor="middle" x="54" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">Trie</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html" xlink:title=" ">
<polygon fill="white" stroke="black" points="0,-67.5 0,-97.5 108,-97.5 108,-67.5 0,-67.5"/>
<text text-anchor="start" x="8" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::shared_ptr&lt; Trie</text>
<text text-anchor="middle" x="54" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TrieNode &gt;</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge">
<title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M54,-57.09C54,-44.21 54,-29.2 54,-19.89"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="50.5,-57.23 54,-67.23 57.5,-57.23 50.5,-57.23"/>
<text text-anchor="middle" x="71" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00"> m_root</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: sorting/radix_sort2.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d8/d61/radix__sort2_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -93,12 +93,11 @@ $(document).ready(function(){initNavTree('d8/d61/radix__sort2_8cpp.html','../../
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">radix_sort2.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">radix_sort2.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Algorithm of <a href="https://en.wikipedia.org/wiki/Radix_sort">Radix sort</a>
<p>Algorithm of <a href="https://en.wikipedia.org/wiki/Radix_sort" target="_blank">Radix sort</a>
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;algorithm&gt;</code><br />
<code>#include &lt;cassert&gt;</code><br />
@@ -111,23 +110,23 @@ Include dependency graph for radix_sort2.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d5/d91/namespacesorting"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d91/namespacesorting.html">sorting</a></td></tr>
<tr class="memitem:d5/d91/namespacesorting"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d91/namespacesorting.html">sorting</a></td></tr>
<tr class="memdesc:d5/d91/namespacesorting"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sorting algorithms. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:da/dda/namespaceradix__sort"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/dda/namespaceradix__sort.html">radix_sort</a></td></tr>
<tr class="memdesc:da/dda/namespaceradix__sort"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions for <a href="https://en.wikipedia.org/wiki/Radix_sort">Radix sort</a> algorithm. <br /></td></tr>
<tr class="memitem:da/dda/namespaceradix__sort"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/dda/namespaceradix__sort.html">radix_sort</a></td></tr>
<tr class="memdesc:da/dda/namespaceradix__sort"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions for <a href="https://en.wikipedia.org/wiki/Radix_sort" target="_blank">Radix sort</a> algorithm. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a302672a25ef4561eb41b4f9ef8e518b2"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d61/radix__sort2_8cpp.html#a302672a25ef4561eb41b4f9ef8e518b2">sorting::radix_sort::step_ith</a> (uint16_t cur_digit, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint64_t &gt; &amp;ar)</td></tr>
<tr class="memdesc:a302672a25ef4561eb41b4f9ef8e518b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to sort vector according to current digit using stable sorting. <a href="../../d8/d61/radix__sort2_8cpp.html#a302672a25ef4561eb41b4f9ef8e518b2">More...</a><br /></td></tr>
<tr class="separator:a302672a25ef4561eb41b4f9ef8e518b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8df9406972cda58c209b30ebae295daa"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d61/radix__sort2_8cpp.html#a8df9406972cda58c209b30ebae295daa">sorting::radix_sort::radix</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint64_t &gt; &amp;ar)</td></tr>
<tr class="memdesc:a8df9406972cda58c209b30ebae295daa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to sort vector digit by digit. <a href="../../d8/d61/radix__sort2_8cpp.html#a8df9406972cda58c209b30ebae295daa">More...</a><br /></td></tr>
<tr class="separator:a8df9406972cda58c209b30ebae295daa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98ead7d43b11505398daf9a894f122f9"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d61/radix__sort2_8cpp.html#a98ead7d43b11505398daf9a894f122f9">sorting::radix_sort::step_ith</a> (uint16_t cur_digit, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint64_t &gt; &amp;ar)</td></tr>
<tr class="memdesc:a98ead7d43b11505398daf9a894f122f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to sort vector according to current digit using stable sorting. <a href="../../d8/d61/radix__sort2_8cpp.html#a98ead7d43b11505398daf9a894f122f9">More...</a><br /></td></tr>
<tr class="separator:a98ead7d43b11505398daf9a894f122f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0cfd94fa3765b53d4ec7893ffaee5f8"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d61/radix__sort2_8cpp.html#ae0cfd94fa3765b53d4ec7893ffaee5f8">sorting::radix_sort::radix</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint64_t &gt; &amp;ar)</td></tr>
<tr class="memdesc:ae0cfd94fa3765b53d4ec7893ffaee5f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to sort vector digit by digit. <a href="../../d8/d61/radix__sort2_8cpp.html#ae0cfd94fa3765b53d4ec7893ffaee5f8">More...</a><br /></td></tr>
<tr class="separator:ae0cfd94fa3765b53d4ec7893ffaee5f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a483bb8ccf42aaf7375a83e91490eda1e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d61/radix__sort2_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a> ()</td></tr>
<tr class="memdesc:a483bb8ccf42aaf7375a83e91490eda1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to test the above algorithm. <a href="../../d8/d61/radix__sort2_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">More...</a><br /></td></tr>
<tr class="separator:a483bb8ccf42aaf7375a83e91490eda1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -136,14 +135,14 @@ Functions</h2></td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><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>Algorithm of <a href="https://en.wikipedia.org/wiki/Radix_sort">Radix sort</a> </p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/Suyashjaiswal">Suyash Jaiswal</a></dd></dl>
<p>Sort the vector of unsigned integers using radix sort i.e. sorting digit by digit using <a href="https://en.wikipedia.org/wiki/Counting_sort">Counting Sort</a> as subroutine. Running time of radix sort is O(d*(n+b)) where b is the base for representing numbers and d in the max digits in input integers and n is number of unsigned integers. consider example for n = 5, aray elements = 432,234,143,332,123 sorting digit by digit sorting according to 1) 1st digit place =&gt; 432, 332, 143, 123, 234</p>
<p>2) 2nd digit place =&gt; 123, 432, 332, 234, 143</p>
<p>3) 3rd digit place =&gt; 123, 143, 234, 332, 432</p>
<p>using count sort at each step, which is stable. stable =&gt; already sorted according to previous digits. </p>
<div class="textblock"><p >Algorithm of <a href="https://en.wikipedia.org/wiki/Radix_sort" target="_blank">Radix sort</a> </p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/Suyashjaiswal" target="_blank">Suyash Jaiswal</a></dd></dl>
<p>Sort the vector of unsigned integers using radix sort i.e. sorting digit by digit using <a href="https://en.wikipedia.org/wiki/Counting_sort" target="_blank">Counting Sort</a> as subroutine. Running time of radix sort is O(d*(n+b)) where b is the base for representing numbers and d in the max digits in input integers and n is number of unsigned integers. consider example for n = 5, aray elements = 432,234,143,332,123 sorting digit by digit sorting according to 1) 1st digit place =&gt; 432, 332, 143, 123, 234</p>
<p >2) 2nd digit place =&gt; 123, 432, 332, 234, 143</p>
<p >3) 3rd digit place =&gt; 123, 143, 234, 332, 432</p>
<p >using count sort at each step, which is stable. stable =&gt; already sorted according to previous digits. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -161,10 +160,10 @@ Functions</h2></td></tr>
<p>Main function. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on exit </dd></dl>
<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="../../d8/d61/radix__sort2_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a>(); <span class="comment">// execute the tests</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> {</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <a class="code hl_function" href="../../d8/d61/radix__sort2_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a>(); <span class="comment">// execute the tests</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span>}</div>
<div class="ttc" id="aradix__sort2_8cpp_html_a483bb8ccf42aaf7375a83e91490eda1e"><div class="ttname"><a href="../../d8/d61/radix__sort2_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a></div><div class="ttdeci">static void tests()</div><div class="ttdoc">Function to test the above algorithm.</div><div class="ttdef"><b>Definition:</b> radix_sort2.cpp:102</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
@@ -175,14 +174,14 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a8df9406972cda58c209b30ebae295daa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8df9406972cda58c209b30ebae295daa">&#9670;&nbsp;</a></span>radix()</h2>
<a id="ae0cfd94fa3765b53d4ec7893ffaee5f8" name="ae0cfd94fa3765b53d4ec7893ffaee5f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0cfd94fa3765b53d4ec7893ffaee5f8">&#9670;&nbsp;</a></span>radix()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;uint64_t&gt; sorting::radix_sort::radix </td>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint64_t &gt; sorting::radix_sort::radix </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint64_t &gt; &amp;&#160;</td>
<td class="paramname"><em>ar</em></td><td>)</td>
@@ -199,44 +198,44 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sorted vector </dd></dl>
<div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; {</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; uint64_t max_ele =</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; *<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/max_element.html">max_element</a>(ar.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), ar.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>()); <span class="comment">// returns the max element.</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint64_t&gt;</a> temp = ar;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; max_ele / i &gt; 0;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; i *= 10) { <span class="comment">// loop breaks when i &gt; max_ele because no further digits</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="comment">// left to makes changes in aray.</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; temp = <a class="code" href="../../d8/d61/radix__sort2_8cpp.html#a302672a25ef4561eb41b4f9ef8e518b2">step_ith</a>(i, temp);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">for</span> (uint64_t i : temp) {</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; i &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">return</span> temp;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> {</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> uint64_t max_ele =</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> *<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/max_element.html">max_element</a>(ar.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), ar.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>()); <span class="comment">// returns the max element.</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint64_t&gt;</a> temp = ar;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; max_ele / i &gt; 0;</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> i *= 10) { <span class="comment">// loop breaks when i &gt; max_ele because no further digits</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="comment">// left to makes changes in aray.</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> temp = <a class="code hl_function" href="../../d8/d61/radix__sort2_8cpp.html#a98ead7d43b11505398daf9a894f122f9">step_ith</a>(i, temp);</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> }</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">for</span> (uint64_t i : temp) {</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; i &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> }</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">return</span> temp;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span>}</div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/begin.html">std::vector::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/end.html">std::vector::end</a></div><div class="ttdeci">T end(T... args)</div></div>
<div class="ttc" id="amax_element_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/max_element.html">std::max_element</a></div><div class="ttdeci">T max_element(T... args)</div></div>
<div class="ttc" id="aradix__sort2_8cpp_html_a302672a25ef4561eb41b4f9ef8e518b2"><div class="ttname"><a href="../../d8/d61/radix__sort2_8cpp.html#a302672a25ef4561eb41b4f9ef8e518b2">sorting::radix_sort::step_ith</a></div><div class="ttdeci">std::vector&lt; uint64_t &gt; step_ith(uint16_t cur_digit, const std::vector&lt; uint64_t &gt; &amp;ar)</div><div class="ttdoc">Function to sort vector according to current digit using stable sorting.</div><div class="ttdef"><b>Definition:</b> radix_sort2.cpp:49</div></div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt; uint64_t &gt;</a></div></div>
<div class="ttc" id="aradix__sort2_8cpp_html_a98ead7d43b11505398daf9a894f122f9"><div class="ttname"><a href="../../d8/d61/radix__sort2_8cpp.html#a98ead7d43b11505398daf9a894f122f9">sorting::radix_sort::step_ith</a></div><div class="ttdeci">std::vector&lt; uint64_t &gt; step_ith(uint16_t cur_digit, const std::vector&lt; uint64_t &gt; &amp;ar)</div><div class="ttdoc">Function to sort vector according to current digit using stable sorting.</div><div class="ttdef"><b>Definition:</b> radix_sort2.cpp:49</div></div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d61/radix__sort2_8cpp_a8df9406972cda58c209b30ebae295daa_cgraph.svg" width="478" height="179"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d61/radix__sort2_8cpp_ae0cfd94fa3765b53d4ec7893ffaee5f8_cgraph.svg" width="478" height="179"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a302672a25ef4561eb41b4f9ef8e518b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a302672a25ef4561eb41b4f9ef8e518b2">&#9670;&nbsp;</a></span>step_ith()</h2>
<a id="a98ead7d43b11505398daf9a894f122f9" name="a98ead7d43b11505398daf9a894f122f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98ead7d43b11505398daf9a894f122f9">&#9670;&nbsp;</a></span>step_ith()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;uint64_t&gt; sorting::radix_sort::step_ith </td>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint64_t &gt; sorting::radix_sort::step_ith </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>cur_digit</em>, </td>
@@ -264,41 +263,41 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a> sorted till ith digit </dd></dl>
<div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; { <span class="comment">// sorting according to current digit.</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordtype">int</span> n = ar.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> position(10, 0);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; n; ++i) {</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; position[(ar[i] / cur_digit) %</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; 10]++; <span class="comment">// counting frequency of 0-9 at cur_digit.</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">int</span> cur = 0;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 10; ++i) {</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordtype">int</span> a = position[i];</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; position[i] = cur; <span class="comment">// assingning starting position of 0-9.</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; cur += a;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint64_t&gt;</a> temp(n);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; n; ++i) {</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; temp[position[(ar[i] / cur_digit) % 10]] =</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; ar[i]; <span class="comment">// storing ar[i] in ar[i]&#39;s cur_digit expected position of</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="comment">// this step.</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; position[(ar[i] / cur_digit) %</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; 10]++; <span class="comment">// incrementing ar[i]&#39;s cur_digit position by 1, as</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// current place used by ar[i].</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> temp;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> { <span class="comment">// sorting according to current digit.</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordtype">int</span> n = ar.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> position(10, 0);</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; n; ++i) {</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> position[(ar[i] / cur_digit) %</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> 10]++; <span class="comment">// counting frequency of 0-9 at cur_digit.</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> }</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> cur = 0;</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 10; ++i) {</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">int</span> a = position[i];</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> position[i] = cur; <span class="comment">// assingning starting position of 0-9.</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> cur += a;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> }</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint64_t&gt;</a> temp(n);</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; n; ++i) {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> temp[position[(ar[i] / cur_digit) % 10]] =</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> ar[i]; <span class="comment">// storing ar[i] in ar[i]&#39;s cur_digit expected position of</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="comment">// this step.</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> position[(ar[i] / cur_digit) %</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> 10]++; <span class="comment">// incrementing ar[i]&#39;s cur_digit position by 1, as</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="comment">// current place used by ar[i].</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> }</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">return</span> temp;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span>}</div>
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d61/radix__sort2_8cpp_a302672a25ef4561eb41b4f9ef8e518b2_cgraph.svg" width="302" height="76"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d61/radix__sort2_8cpp_a98ead7d43b11505398daf9a894f122f9_cgraph.svg" width="302" height="76"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a483bb8ccf42aaf7375a83e91490eda1e"></a>
<a id="a483bb8ccf42aaf7375a83e91490eda1e" name="a483bb8ccf42aaf7375a83e91490eda1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a483bb8ccf42aaf7375a83e91490eda1e">&#9670;&nbsp;</a></span>tests()</h2>
<div class="memitem">
@@ -323,21 +322,21 @@ Here is the call graph for this function:</div>
<p>Function to test the above algorithm. </p>
<dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
<p>Test 1</p>
<p>Test 2</p>
<div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; {<span class="comment"></span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> /// Test 1</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint64_t&gt;</a> ar1 = {432, 234, 143, 332, 123};</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; ar1 = <a class="code" href="../../d8/d61/radix__sort2_8cpp.html#a8df9406972cda58c209b30ebae295daa">sorting::radix_sort::radix</a>(ar1);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a>(ar1.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), ar1.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>()));<span class="comment"></span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> /// Test 2</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint64_t&gt;</a> ar2 = {213, 3214, 123, 111, 112, 142,</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; 133, 132, 32, 12, 113};</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; ar2 = <a class="code" href="../../d8/d61/radix__sort2_8cpp.html#a8df9406972cda58c209b30ebae295daa">sorting::radix_sort::radix</a>(ar2);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a>(ar2.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), ar2.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>()));</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;}</div>
<p >Test 1</p>
<p >Test 2</p>
<div class="fragment"><div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> {<span class="comment"></span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="comment"> /// Test 1</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint64_t&gt;</a> ar1 = {432, 234, 143, 332, 123};</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> ar1 = <a class="code hl_function" href="../../d8/d61/radix__sort2_8cpp.html#ae0cfd94fa3765b53d4ec7893ffaee5f8">sorting::radix_sort::radix</a>(ar1);</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> assert(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a>(ar1.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), ar1.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>()));<span class="comment"></span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment"> /// Test 2</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint64_t&gt;</a> ar2 = {213, 3214, 123, 111, 112, 142,</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> 133, 132, 32, 12, 113};</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> ar2 = <a class="code hl_function" href="../../d8/d61/radix__sort2_8cpp.html#ae0cfd94fa3765b53d4ec7893ffaee5f8">sorting::radix_sort::radix</a>(ar2);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> assert(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a>(ar2.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), ar2.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>()));</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span>}</div>
<div class="ttc" id="ais_sorted_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a></div><div class="ttdeci">T is_sorted(T... args)</div></div>
<div class="ttc" id="aradix__sort2_8cpp_html_a8df9406972cda58c209b30ebae295daa"><div class="ttname"><a href="../../d8/d61/radix__sort2_8cpp.html#a8df9406972cda58c209b30ebae295daa">sorting::radix_sort::radix</a></div><div class="ttdeci">std::vector&lt; uint64_t &gt; radix(const std::vector&lt; uint64_t &gt; &amp;ar)</div><div class="ttdoc">Function to sort vector digit by digit.</div><div class="ttdef"><b>Definition:</b> radix_sort2.cpp:80</div></div>
<div class="ttc" id="aradix__sort2_8cpp_html_ae0cfd94fa3765b53d4ec7893ffaee5f8"><div class="ttname"><a href="../../d8/d61/radix__sort2_8cpp.html#ae0cfd94fa3765b53d4ec7893ffaee5f8">sorting::radix_sort::radix</a></div><div class="ttdeci">std::vector&lt; uint64_t &gt; radix(const std::vector&lt; uint64_t &gt; &amp;ar)</div><div class="ttdoc">Function to sort vector digit by digit.</div><div class="ttdef"><b>Definition:</b> radix_sort2.cpp:80</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -353,7 +352,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_bb1b521853a9c46347182a9d10420771.html">sorting</a></li><li class="navelem"><a class="el" href="../../d8/d61/radix__sort2_8cpp.html">radix_sort2.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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
var radix__sort2_8cpp =
[
[ "main", "d8/d61/radix__sort2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
[ "radix", "d8/d61/radix__sort2_8cpp.html#a8df9406972cda58c209b30ebae295daa", null ],
[ "step_ith", "d8/d61/radix__sort2_8cpp.html#a302672a25ef4561eb41b4f9ef8e518b2", null ],
[ "radix", "d8/d61/radix__sort2_8cpp.html#ae0cfd94fa3765b53d4ec7893ffaee5f8", null ],
[ "step_ith", "d8/d61/radix__sort2_8cpp.html#a98ead7d43b11505398daf9a894f122f9", null ],
[ "tests", "d8/d61/radix__sort2_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e", null ]
];

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: tests Pages: 1 -->
<svg width="175pt" height="104pt"

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1 +0,0 @@
386123063fd7dd63a0e0f91ddae9a0fe

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: sorting::radix_sort::step_ith Pages: 1 -->
<svg width="226pt" height="57pt"

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -2,6 +2,6 @@
<area shape="rect" id="node1" title="Function to sort vector digit by digit." alt="" coords="5,49,133,90"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/begin.html#" title=" " alt="" coords="183,5,307,32"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/end.html#" title=" " alt="" coords="189,56,302,83"/>
<area shape="rect" id="node4" href="$d8/d61/radix__sort2_8cpp.html#a302672a25ef4561eb41b4f9ef8e518b2" title="Function to sort vector according to current digit using stable sorting." alt="" coords="181,131,309,173"/>
<area shape="rect" id="node4" href="$d8/d61/radix__sort2_8cpp.html#a98ead7d43b11505398daf9a894f122f9" title="Function to sort vector according to current digit using stable sorting." alt="" coords="181,131,309,173"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="357,139,472,165"/>
</map>

View File

@@ -0,0 +1 @@
7e4cdebbdac6ffb5b251e519413d6e58

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: sorting::radix_sort::radix Pages: 1 -->
<svg width="358pt" height="134pt"
@@ -58,7 +58,7 @@
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d8/d61/radix__sort2_8cpp.html#a302672a25ef4561eb41b4f9ef8e518b2" target="_top" xlink:title="Function to sort vector according to current digit using stable sorting.">
<g id="a_node4"><a xlink:href="../../d8/d61/radix__sort2_8cpp.html#a98ead7d43b11505398daf9a894f122f9" target="_top" xlink:title="Function to sort vector according to current digit using stable sorting.">
<polygon fill="white" stroke="black" points="132,-0.5 132,-30.5 228,-30.5 228,-0.5 132,-0.5"/>
<text text-anchor="start" x="140" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">sorting::radix_sort</text>
<text text-anchor="middle" x="180" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::step_ith</text>

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="249pt" height="104pt"

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: graph::HKGraph Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d8/d69/classgraph_1_1_h_k_graph.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -94,24 +94,17 @@ $(document).ready(function(){initNavTree('d8/d69/classgraph_1_1_h_k_graph.html',
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="../../dc/dea/classgraph_1_1_h_k_graph-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">graph::HKGraph Class Reference</div> </div>
<div class="headertitle"><div class="title">graph::HKGraph Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Represents Bipartite graph for Hopcroft Karp implementation.
<a href="../../d8/d69/classgraph_1_1_h_k_graph.html#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for graph::HKGraph:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/d82/classgraph_1_1_h_k_graph__coll__graph.svg" width="291" height="260"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="../../graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af02b0c83911070ac6d95fc9905e58aa9"><td class="memItemLeft" align="right" valign="top"><a id="af02b0c83911070ac6d95fc9905e58aa9"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d69/classgraph_1_1_h_k_graph.html#af02b0c83911070ac6d95fc9905e58aa9">HKGraph</a> ()</td></tr>
<tr class="memitem:af02b0c83911070ac6d95fc9905e58aa9"><td class="memItemLeft" align="right" valign="top"><a id="af02b0c83911070ac6d95fc9905e58aa9" name="af02b0c83911070ac6d95fc9905e58aa9"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>HKGraph</b> ()</td></tr>
<tr class="memdesc:af02b0c83911070ac6d95fc9905e58aa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor for initialization. <br /></td></tr>
<tr class="separator:af02b0c83911070ac6d95fc9905e58aa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0da5aa674d3b3e54a38251ee60d7cd64"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a0da5aa674d3b3e54a38251ee60d7cd64">HKGraph</a> (int <a class="el" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a>, int <a class="el" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c">n</a>)</td></tr>
@@ -130,43 +123,43 @@ Public Member Functions</h2></td></tr>
<tr class="memdesc:a9dbda80d02bdc26c3e8ff7330c9be75d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function counts the number of augmenting paths between left and right sides of the Bipartite graph. <a href="../../d8/d69/classgraph_1_1_h_k_graph.html#a9dbda80d02bdc26c3e8ff7330c9be75d">More...</a><br /></td></tr>
<tr class="separator:a9dbda80d02bdc26c3e8ff7330c9be75d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a3d9101e3b4598159005fd028b9b0ff74"><td class="memItemLeft" align="right" valign="top"><a id="a3d9101e3b4598159005fd028b9b0ff74"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a> {}</td></tr>
<tr class="memitem:a3d9101e3b4598159005fd028b9b0ff74"><td class="memItemLeft" align="right" valign="top"><a id="a3d9101e3b4598159005fd028b9b0ff74" name="a3d9101e3b4598159005fd028b9b0ff74"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>m</b> {}</td></tr>
<tr class="memdesc:a3d9101e3b4598159005fd028b9b0ff74"><td class="mdescLeft">&#160;</td><td class="mdescRight">m is the number of vertices on left side of Bipartite <a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> <br /></td></tr>
<tr class="separator:a3d9101e3b4598159005fd028b9b0ff74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f5a9fdbb83ef731d739ba6707e21c3c"><td class="memItemLeft" align="right" valign="top"><a id="a6f5a9fdbb83ef731d739ba6707e21c3c"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c">n</a> {}</td></tr>
<tr class="memitem:a6f5a9fdbb83ef731d739ba6707e21c3c"><td class="memItemLeft" align="right" valign="top"><a id="a6f5a9fdbb83ef731d739ba6707e21c3c" name="a6f5a9fdbb83ef731d739ba6707e21c3c"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>n</b> {}</td></tr>
<tr class="memdesc:a6f5a9fdbb83ef731d739ba6707e21c3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">n is the number of vertices on right side of Bipartite <a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> <br /></td></tr>
<tr class="separator:a6f5a9fdbb83ef731d739ba6707e21c3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6d069bd16d6eafa6e08c7e5f735eda6"><td class="memItemLeft" align="right" valign="top"><a id="ae6d069bd16d6eafa6e08c7e5f735eda6"></a>
<tr class="memitem:ae6d069bd16d6eafa6e08c7e5f735eda6"><td class="memItemLeft" align="right" valign="top"><a id="ae6d069bd16d6eafa6e08c7e5f735eda6" name="ae6d069bd16d6eafa6e08c7e5f735eda6"></a>
const int&#160;</td><td class="memItemRight" valign="bottom"><b>NIL</b> {0}</td></tr>
<tr class="separator:ae6d069bd16d6eafa6e08c7e5f735eda6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44742cb9cfecd1a4493970af9b8bbb15"><td class="memItemLeft" align="right" valign="top"><a id="a44742cb9cfecd1a4493970af9b8bbb15"></a>
<tr class="memitem:a44742cb9cfecd1a4493970af9b8bbb15"><td class="memItemLeft" align="right" valign="top"><a id="a44742cb9cfecd1a4493970af9b8bbb15" name="a44742cb9cfecd1a4493970af9b8bbb15"></a>
const int&#160;</td><td class="memItemRight" valign="bottom"><b>INF</b> {INT_MAX}</td></tr>
<tr class="separator:a44742cb9cfecd1a4493970af9b8bbb15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35893def7a1c5cd60907b4893117796f"><td class="memItemLeft" align="right" valign="top"><a id="a35893def7a1c5cd60907b4893117796f"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list.html">std::list</a>&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f">adj</a></td></tr>
<tr class="memitem:a35893def7a1c5cd60907b4893117796f"><td class="memItemLeft" align="right" valign="top"><a id="a35893def7a1c5cd60907b4893117796f" name="a35893def7a1c5cd60907b4893117796f"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list.html">std::list</a>&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>adj</b></td></tr>
<tr class="memdesc:a35893def7a1c5cd60907b4893117796f"><td class="mdescLeft">&#160;</td><td class="mdescRight">adj[u] stores adjacents of left side and 0 is used for dummy vertex <br /></td></tr>
<tr class="separator:a35893def7a1c5cd60907b4893117796f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86ebff8a70cbfedd05281993d5d1987b"><td class="memItemLeft" align="right" valign="top"><a id="a86ebff8a70cbfedd05281993d5d1987b"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b">pair_u</a></td></tr>
<tr class="memitem:a86ebff8a70cbfedd05281993d5d1987b"><td class="memItemLeft" align="right" valign="top"><a id="a86ebff8a70cbfedd05281993d5d1987b" name="a86ebff8a70cbfedd05281993d5d1987b"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>pair_u</b></td></tr>
<tr class="memdesc:a86ebff8a70cbfedd05281993d5d1987b"><td class="mdescLeft">&#160;</td><td class="mdescRight">value of vertex 'u' ranges from 1 to m <br /></td></tr>
<tr class="separator:a86ebff8a70cbfedd05281993d5d1987b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a976ee239402cc2726a280e781c706d77"><td class="memItemLeft" align="right" valign="top"><a id="a976ee239402cc2726a280e781c706d77"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a></td></tr>
<tr class="memitem:a976ee239402cc2726a280e781c706d77"><td class="memItemLeft" align="right" valign="top"><a id="a976ee239402cc2726a280e781c706d77" name="a976ee239402cc2726a280e781c706d77"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>pair_v</b></td></tr>
<tr class="memdesc:a976ee239402cc2726a280e781c706d77"><td class="mdescLeft">&#160;</td><td class="mdescRight">value of vertex 'v' ranges from 1 to n <br /></td></tr>
<tr class="separator:a976ee239402cc2726a280e781c706d77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a0228bbba3818447fcf6b56128b552a"><td class="memItemLeft" align="right" valign="top"><a id="a6a0228bbba3818447fcf6b56128b552a"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a></td></tr>
<tr class="memitem:a6a0228bbba3818447fcf6b56128b552a"><td class="memItemLeft" align="right" valign="top"><a id="a6a0228bbba3818447fcf6b56128b552a" name="a6a0228bbba3818447fcf6b56128b552a"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dist</b></td></tr>
<tr class="memdesc:a6a0228bbba3818447fcf6b56128b552a"><td class="mdescLeft">&#160;</td><td class="mdescRight">dist represents the distance between vertex 'u' and vertex 'v' <br /></td></tr>
<tr class="separator:a6a0228bbba3818447fcf6b56128b552a"><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>Represents Bipartite graph for Hopcroft Karp implementation. </p>
<div class="textblock"><p >Represents Bipartite graph for Hopcroft Karp implementation. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0da5aa674d3b3e54a38251ee60d7cd64"></a>
<a id="a0da5aa674d3b3e54a38251ee60d7cd64" name="a0da5aa674d3b3e54a38251ee60d7cd64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0da5aa674d3b3e54a38251ee60d7cd64">&#9670;&nbsp;</a></span>HKGraph()</h2>
<div class="memitem">
@@ -200,11 +193,11 @@ const int&#160;</td><td class="memItemRight" valign="bottom"><b>INF</b> {INT_MAX
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; {</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; this-&gt;<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a> = <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a>;</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; this-&gt;<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c">n</a> = <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c">n</a>;</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f">adj</a> = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::list&lt;int&gt;</a> &gt;(<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a> + 1);</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> {</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> this-&gt;<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a> = <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a>;</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> this-&gt;<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c">n</a> = <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c">n</a>;</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f">adj</a> = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::list&lt;int&gt;</a> &gt;(<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a> + 1);</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span>}</div>
<div class="ttc" id="aclassgraph_1_1_h_k_graph_html_a35893def7a1c5cd60907b4893117796f"><div class="ttname"><a href="../../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f">graph::HKGraph::adj</a></div><div class="ttdeci">std::vector&lt; std::list&lt; int &gt; &gt; adj</div><div class="ttdoc">adj[u] stores adjacents of left side and 0 is used for dummy vertex</div><div class="ttdef"><b>Definition:</b> hopcroft_karp.cpp:73</div></div>
<div class="ttc" id="aclassgraph_1_1_h_k_graph_html_a3d9101e3b4598159005fd028b9b0ff74"><div class="ttname"><a href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">graph::HKGraph::m</a></div><div class="ttdeci">int m</div><div class="ttdoc">m is the number of vertices on left side of Bipartite Graph</div><div class="ttdef"><b>Definition:</b> hopcroft_karp.cpp:68</div></div>
<div class="ttc" id="aclassgraph_1_1_h_k_graph_html_a6f5a9fdbb83ef731d739ba6707e21c3c"><div class="ttname"><a href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c">graph::HKGraph::n</a></div><div class="ttdeci">int n</div><div class="ttdoc">n is the number of vertices on right side of Bipartite Graph</div><div class="ttdef"><b>Definition:</b> hopcroft_karp.cpp:69</div></div>
@@ -213,7 +206,7 @@ const int&#160;</td><td class="memItemRight" valign="bottom"><b>INF</b> {INT_MAX
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a3b49011c09cf90a116ab53bef61cd95a"></a>
<a id="a3b49011c09cf90a116ab53bef61cd95a" name="a3b49011c09cf90a116ab53bef61cd95a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b49011c09cf90a116ab53bef61cd95a">&#9670;&nbsp;</a></span>addEdge()</h2>
<div class="memitem">
@@ -247,20 +240,13 @@ const int&#160;</td><td class="memItemRight" valign="bottom"><b>INF</b> {INT_MAX
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;{</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f">adj</a>[u].<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(v); <span class="comment">// Add v to us list.</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;}</div>
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">std::vector::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d69/classgraph_1_1_h_k_graph_a3b49011c09cf90a116ab53bef61cd95a_cgraph.svg" width="395" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="fragment"><div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span>{</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f">adj</a>[u].push_back(v); <span class="comment">// Add v to us list.</span></div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span>}</div>
</div><!-- fragment -->
</div>
</div>
</div>
</div>
<a id="a7491add14d9fc04f679114ca6d6f0f93"></a>
<a id="a7491add14d9fc04f679114ca6d6f0f93" name="a7491add14d9fc04f679114ca6d6f0f93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7491add14d9fc04f679114ca6d6f0f93">&#9670;&nbsp;</a></span>bfs()</h2>
<div class="memitem">
@@ -279,73 +265,66 @@ Here is the call graph for this function:</div>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if there is an augmenting path available </dd>
<dd>
<code>false</code> if there is no augmenting path available </dd></dl>
<div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;{</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue&lt;int&gt;</a> q; <span class="comment">// an integer queue for bfs</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; </div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="comment">// First layer of vertices (set distance as 0)</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> u = 1; u &lt;= <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a>; u++)</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; {</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="comment">// If this is a free vertex, add it to queue</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b">pair_u</a>[u] == NIL){</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[u] = 0; <span class="comment">// u is not matched so distance is 0</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; q.push(u);</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; </div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">else</span>{</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[u] = INF; <span class="comment">// set distance as infinite so that this vertex is considered next time for availibility</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; }</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[NIL] = INF; <span class="comment">// Initialize distance to NIL as infinite</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; </div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="comment">// q is going to contain vertices of left side only.</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">while</span> (!q.empty())</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordtype">int</span> u = q.front(); <span class="comment">// dequeue a vertex</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; q.pop();</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="comment">// If this node is not NIL and can provide a shorter path to NIL then</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[u] &lt; <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[NIL])</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="comment">// Get all the adjacent vertices of the dequeued vertex u</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list.html">std::list&lt;int&gt;::iterator</a> it;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">for</span> (it = <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f">adj</a>[u].<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/begin.html">begin</a>(); it != <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f">adj</a>[u].<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(); ++it)</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordtype">int</span> v = *it;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="comment">// If pair of v is not considered so far i.e. (v, pair_v[v]) is not yet explored edge.</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a>[v]] == INF)</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; {</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a>[v]] = <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[u] + 1; </div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; q.push(<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a>[v]); <span class="comment">// Consider the pair and push it to queue</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; </div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; </div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[NIL] != INF); <span class="comment">// If we could come back to NIL using alternating path of distinct vertices then there is an augmenting path available</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span>{</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue&lt;int&gt;</a> q; <span class="comment">// an integer queue for bfs</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> </div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="comment">// First layer of vertices (set distance as 0)</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> u = 1; u &lt;= <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a>; u++)</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> {</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="comment">// If this is a free vertex, add it to queue</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b">pair_u</a>[u] == NIL){</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> </div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[u] = 0; <span class="comment">// u is not matched so distance is 0</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> q.push(u);</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> }</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> </div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">else</span>{</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[u] = INF; <span class="comment">// set distance as infinite so that this vertex is considered next time for availibility</span></div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> }</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> }</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> </div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[NIL] = INF; <span class="comment">// Initialize distance to NIL as infinite</span></div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> </div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="comment">// q is going to contain vertices of left side only.</span></div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">while</span> (!q.empty())</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> {</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">int</span> u = q.front(); <span class="comment">// dequeue a vertex</span></div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> q.pop();</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="comment">// If this node is not NIL and can provide a shorter path to NIL then</span></div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[u] &lt; <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[NIL])</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> {</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="comment">// Get all the adjacent vertices of the dequeued vertex u</span></div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list.html">std::list&lt;int&gt;::iterator</a> it;</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">for</span> (it = <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f">adj</a>[u].<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/begin.html">begin</a>(); it != <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f">adj</a>[u].end(); ++it)</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> {</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">int</span> v = *it;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> </div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="comment">// If pair of v is not considered so far i.e. (v, pair_v[v]) is not yet explored edge.</span></div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a>[v]] == INF)</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> {</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a>[v]] = <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[u] + 1; </div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> q.push(<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a>[v]); <span class="comment">// Consider the pair and push it to queue</span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> }</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> }</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> }</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> }</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> </div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">return</span> (<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[NIL] != INF); <span class="comment">// If we could come back to NIL using alternating path of distinct vertices then there is an augmenting path available</span></div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span>}</div>
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/iterator/begin.html">std::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
<div class="ttc" id="aclassgraph_1_1_h_k_graph_html_a6a0228bbba3818447fcf6b56128b552a"><div class="ttname"><a href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">graph::HKGraph::dist</a></div><div class="ttdeci">std::vector&lt; int &gt; dist</div><div class="ttdoc">dist represents the distance between vertex 'u' and vertex 'v'</div><div class="ttdef"><b>Definition:</b> hopcroft_karp.cpp:77</div></div>
<div class="ttc" id="aclassgraph_1_1_h_k_graph_html_a86ebff8a70cbfedd05281993d5d1987b"><div class="ttname"><a href="../../d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b">graph::HKGraph::pair_u</a></div><div class="ttdeci">std::vector&lt; int &gt; pair_u</div><div class="ttdoc">value of vertex 'u' ranges from 1 to m</div><div class="ttdef"><b>Definition:</b> hopcroft_karp.cpp:75</div></div>
<div class="ttc" id="aclassgraph_1_1_h_k_graph_html_a976ee239402cc2726a280e781c706d77"><div class="ttname"><a href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">graph::HKGraph::pair_v</a></div><div class="ttdeci">std::vector&lt; int &gt; pair_v</div><div class="ttdoc">value of vertex 'v' ranges from 1 to n</div><div class="ttdef"><b>Definition:</b> hopcroft_karp.cpp:76</div></div>
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/end.html">std::vector::end</a></div><div class="ttdeci">T end(T... args)</div></div>
<div class="ttc" id="alist_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/list.html">std::list</a></div></div>
<div class="ttc" id="aqueue_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue</a></div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d69/classgraph_1_1_h_k_graph_a7491add14d9fc04f679114ca6d6f0f93_cgraph.svg" width="316" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div><!-- fragment -->
</div>
</div>
</div>
</div>
<a id="ae794950cb3407b6b47d3dc986cf714c0"></a>
<a id="ae794950cb3407b6b47d3dc986cf714c0" name="ae794950cb3407b6b47d3dc986cf714c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae794950cb3407b6b47d3dc986cf714c0">&#9670;&nbsp;</a></span>dfs()</h2>
<div class="memitem">
@@ -371,45 +350,45 @@ Here is the call graph for this function:</div>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if there is an augmenting path beginning with free vertex u </dd>
<dd>
<code>false</code> if there is no augmenting path beginning with free vertex u </dd></dl>
<div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;{</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">if</span> (u != NIL)</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; {</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list.html">std::list&lt;int&gt;::iterator</a> it;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">for</span> (it = <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f">adj</a>[u].<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/begin.html">begin</a>(); it != <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f">adj</a>[u].<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(); ++it)</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; {</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; </div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordtype">int</span> v = *it; <span class="comment">// Adjacent vertex of u</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="comment">// Follow the distances set by BFS search</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a>[v]] == <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[u] + 1)</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; {</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="comment">// If dfs for pair of v also return true then new matching possible, store the matching</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0">dfs</a>(<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a>[v]) == <span class="keyword">true</span>)</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; { </div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a>[v] = u;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b">pair_u</a>[u] = v;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; }</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; </div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; </div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[u] = INF; <span class="comment">// If there is no augmenting path beginning with u then set distance to infinite.</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span>{</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">if</span> (u != NIL)</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> {</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list.html">std::list&lt;int&gt;::iterator</a> it;</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">for</span> (it = <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f">adj</a>[u].<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/begin.html">begin</a>(); it != <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f">adj</a>[u].end(); ++it)</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> {</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keywordtype">int</span> v = *it; <span class="comment">// Adjacent vertex of u</span></div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> </div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="comment">// Follow the distances set by BFS search</span></div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a>[v]] == <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[u] + 1)</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> {</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="comment">// If dfs for pair of v also return true then new matching possible, store the matching</span></div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0">dfs</a>(<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a>[v]) == <span class="keyword">true</span>)</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> { </div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a>[v] = u;</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b">pair_u</a>[u] = v;</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> }</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> }</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> }</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> </div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> </div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a>[u] = INF; <span class="comment">// If there is no augmenting path beginning with u then set distance to infinite.</span></div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> }</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span>}</div>
<div class="ttc" id="aclassgraph_1_1_h_k_graph_html_ae794950cb3407b6b47d3dc986cf714c0"><div class="ttname"><a href="../../d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0">graph::HKGraph::dfs</a></div><div class="ttdeci">bool dfs(int u)</div><div class="ttdoc">This functions checks whether an augmenting path is available exists beginning with free vertex u.</div><div class="ttdef"><b>Definition:</b> hopcroft_karp.cpp:191</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph.svg" width="316" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d69/classgraph_1_1_h_k_graph_ae794950cb3407b6b47d3dc986cf714c0_cgraph.svg" width="155" height="62"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a9dbda80d02bdc26c3e8ff7330c9be75d"></a>
<a id="a9dbda80d02bdc26c3e8ff7330c9be75d" name="a9dbda80d02bdc26c3e8ff7330c9be75d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9dbda80d02bdc26c3e8ff7330c9be75d">&#9670;&nbsp;</a></span>hopcroftKarpAlgorithm()</h2>
<div class="memitem">
@@ -426,42 +405,42 @@ Here is the call graph for this function:</div>
<p>This function counts the number of augmenting paths between left and right sides of the Bipartite graph. </p>
<dl class="section return"><dt>Returns</dt><dd>size of maximum matching </dd></dl>
<div class="fragment"><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;{</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="comment">// pair_u[u] stores pair of u in matching on left side of Bipartite Graph.</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="comment">// If u doesn&#39;t have any pair, then pair_u[u] is NIL</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b">pair_u</a> = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a>(<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a> + 1,NIL); </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; </div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="comment">// pair_v[v] stores pair of v in matching on right side of Biparite Graph.</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="comment">// If v doesn&#39;t have any pair, then pair_u[v] is NIL</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a> = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a>(<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c">n</a> + 1,NIL); </div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a> = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a>(<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a> + 1); <span class="comment">// dist[u] stores distance of left side vertices</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = 0; <span class="comment">// Initialize result</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="comment">// Keep updating the result while there is an augmenting path possible.</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">while</span> (<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a7491add14d9fc04f679114ca6d6f0f93">bfs</a>())</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="comment">// Find a free vertex to check for a matching</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> u = 1; u &lt;= <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a>; u++){</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="comment">// If current vertex is free and there is</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="comment">// an augmenting path from current vertex</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="comment">// then increment the result</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b">pair_u</a>[u] == NIL &amp;&amp; <a class="code" href="../../d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0">dfs</a>(u)){</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>++;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span>{</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="comment">// pair_u[u] stores pair of u in matching on left side of Bipartite Graph.</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="comment">// If u doesn&#39;t have any pair, then pair_u[u] is NIL</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b">pair_u</a> = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a>(<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a> + 1,NIL); </div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="comment">// pair_v[v] stores pair of v in matching on right side of Biparite Graph.</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="comment">// If v doesn&#39;t have any pair, then pair_u[v] is NIL</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77">pair_v</a> = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a>(<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c">n</a> + 1,NIL); </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a">dist</a> = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a>(<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a> + 1); <span class="comment">// dist[u] stores distance of left side vertices</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = 0; <span class="comment">// Initialize result</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="comment">// Keep updating the result while there is an augmenting path possible.</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">while</span> (<a class="code hl_function" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a7491add14d9fc04f679114ca6d6f0f93">bfs</a>())</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> {</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="comment">// Find a free vertex to check for a matching</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> u = 1; u &lt;= <a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74">m</a>; u++){</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="comment">// If current vertex is free and there is</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="comment">// an augmenting path from current vertex</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="comment">// then increment the result</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b">pair_u</a>[u] == NIL &amp;&amp; <a class="code hl_function" href="../../d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0">dfs</a>(u)){</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>++;</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> }</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> }</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> }</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span>}</div>
<div class="ttc" id="aclassgraph_1_1_h_k_graph_html_a7491add14d9fc04f679114ca6d6f0f93"><div class="ttname"><a href="../../d8/d69/classgraph_1_1_h_k_graph.html#a7491add14d9fc04f679114ca6d6f0f93">graph::HKGraph::bfs</a></div><div class="ttdeci">bool bfs()</div><div class="ttdoc">This function checks for the possibility of augmented path availability.</div><div class="ttdef"><b>Definition:</b> hopcroft_karp.cpp:133</div></div>
<div class="ttc" id="afibonacci__sum_8cpp_html_aadb40ac4c74a7efc0680b83eeee138aa"><div class="ttname"><a href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">math::fibonacci_sum::result</a></div><div class="ttdeci">uint64_t result(uint64_t n)</div><div class="ttdef"><b>Definition:</b> fibonacci_sum.cpp:76</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph.svg" width="539" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d69/classgraph_1_1_h_k_graph_a9dbda80d02bdc26c3e8ff7330c9be75d_cgraph.svg" width="378" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
@@ -476,7 +455,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../df/dce/namespacegraph.html">graph</a></li><li class="navelem"><a class="el" href="../../d8/d69/classgraph_1_1_h_k_graph.html">HKGraph</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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -8,10 +8,8 @@ var classgraph_1_1_h_k_graph =
[ "hopcroftKarpAlgorithm", "d8/d69/classgraph_1_1_h_k_graph.html#a9dbda80d02bdc26c3e8ff7330c9be75d", null ],
[ "adj", "d8/d69/classgraph_1_1_h_k_graph.html#a35893def7a1c5cd60907b4893117796f", null ],
[ "dist", "d8/d69/classgraph_1_1_h_k_graph.html#a6a0228bbba3818447fcf6b56128b552a", null ],
[ "INF", "d8/d69/classgraph_1_1_h_k_graph.html#a44742cb9cfecd1a4493970af9b8bbb15", null ],
[ "m", "d8/d69/classgraph_1_1_h_k_graph.html#a3d9101e3b4598159005fd028b9b0ff74", null ],
[ "n", "d8/d69/classgraph_1_1_h_k_graph.html#a6f5a9fdbb83ef731d739ba6707e21c3c", null ],
[ "NIL", "d8/d69/classgraph_1_1_h_k_graph.html#ae6d069bd16d6eafa6e08c7e5f735eda6", null ],
[ "pair_u", "d8/d69/classgraph_1_1_h_k_graph.html#a86ebff8a70cbfedd05281993d5d1987b", null ],
[ "pair_v", "d8/d69/classgraph_1_1_h_k_graph.html#a976ee239402cc2726a280e781c706d77", null ]
];

View File

@@ -1,4 +0,0 @@
<map id="graph::HKGraph::addEdge" name="graph::HKGraph::addEdge">
<area shape="rect" id="node1" title="function to add edge from u to v" alt="" coords="5,5,185,32"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="233,5,389,32"/>
</map>

View File

@@ -1 +0,0 @@
15f4467c23533c0c12ca74642c798856

View File

@@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
-->
<!-- Title: graph::HKGraph::addEdge Pages: 1 -->
<svg width="296pt" height="28pt"
viewBox="0.00 0.00 296.00 28.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 24)">
<title>graph::HKGraph::addEdge</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 292,-24 292,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="function to add edge from u to v">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-19.5 135,-19.5 135,-0.5 0,-0.5"/>
<text text-anchor="middle" x="67.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">graph::HKGraph::addEdge</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="171,-0.5 171,-19.5 288,-19.5 288,-0.5 171,-0.5"/>
<text text-anchor="middle" x="229.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M135.43,-10C143.83,-10 152.43,-10 160.84,-10"/>
<polygon fill="midnightblue" stroke="midnightblue" points="160.98,-13.5 170.98,-10 160.98,-6.5 160.98,-13.5"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,4 +0,0 @@
<map id="graph::HKGraph::bfs" name="graph::HKGraph::bfs">
<area shape="rect" id="node1" title="This function checks for the possibility of augmented path availability." alt="" coords="5,5,149,32"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/end.html#" title=" " alt="" coords="197,5,311,32"/>
</map>

View File

@@ -1 +0,0 @@
4a958172f669039dfd4d2318d4dbf48d

View File

@@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
-->
<!-- Title: graph::HKGraph::bfs Pages: 1 -->
<svg width="237pt" height="28pt"
viewBox="0.00 0.00 237.00 28.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 24)">
<title>graph::HKGraph::bfs</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 233,-24 233,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="This function checks for the possibility of augmented path availability.">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-19.5 108,-19.5 108,-0.5 0,-0.5"/>
<text text-anchor="middle" x="54" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">graph::HKGraph::bfs</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/end.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="144,-0.5 144,-19.5 229,-19.5 229,-0.5 144,-0.5"/>
<text text-anchor="middle" x="186.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::end</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M108.08,-10C116.51,-10 125.22,-10 133.62,-10"/>
<polygon fill="midnightblue" stroke="midnightblue" points="133.67,-13.5 143.67,-10 133.67,-6.5 133.67,-13.5"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,6 +1,5 @@
<map id="graph::HKGraph::hopcroftKarpAlgorithm" name="graph::HKGraph::hopcroftKarpAlgorithm">
<area shape="rect" id="node1" title="This function counts the number of augmenting paths between left and right sides of the Bipartite gra..." alt="" coords="5,23,180,65"/>
<area shape="rect" id="node1" title="This function counts the number of augmenting paths between left and right sides of the Bipartite gra..." alt="" coords="5,35,180,77"/>
<area shape="rect" id="node2" href="$d8/d69/classgraph_1_1_h_k_graph.html#a7491add14d9fc04f679114ca6d6f0f93" title="This function checks for the possibility of augmented path availability." alt="" coords="228,5,372,32"/>
<area shape="rect" id="node4" href="$d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0" title="This functions checks whether an augmenting path is available exists beginning with free vertex u." alt="" coords="228,56,372,83"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/end.html#" title=" " alt="" coords="420,31,533,57"/>
<area shape="rect" id="node3" href="$d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0" title="This functions checks whether an augmenting path is available exists beginning with free vertex u." alt="" coords="228,80,372,107"/>
</map>

View File

@@ -1 +1 @@
8ca3a64ad81d15f892e4f1cb1c1f0ef3
02867bed082ac71005dfaa568398f08e

View File

@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: graph::HKGraph::hopcroftKarpAlgorithm Pages: 1 -->
<svg width="404pt" height="66pt"
viewBox="0.00 0.00 404.00 66.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 62)">
<svg width="283pt" height="84pt"
viewBox="0.00 0.00 283.00 84.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 80)">
<title>graph::HKGraph::hopcroftKarpAlgorithm</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 400,-62 400,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-80 279,-80 279,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="This function counts the number of augmenting paths between left and right sides of the Bipartite gra...">
<polygon fill="#bfbfbf" stroke="black" points="0,-14 0,-44 131,-44 131,-14 0,-14"/>
<text text-anchor="start" x="8" y="-32" font-family="Helvetica,sans-Serif" font-size="10.00">graph::HKGraph::hopcroft</text>
<text text-anchor="middle" x="65.5" y="-21" font-family="Helvetica,sans-Serif" font-size="10.00">KarpAlgorithm</text>
<polygon fill="#bfbfbf" stroke="black" points="0,-23 0,-53 131,-53 131,-23 0,-23"/>
<text text-anchor="start" x="8" y="-41" font-family="Helvetica,sans-Serif" font-size="10.00">graph::HKGraph::hopcroft</text>
<text text-anchor="middle" x="65.5" y="-30" font-family="Helvetica,sans-Serif" font-size="10.00">KarpAlgorithm</text>
</a>
</g>
</g>
@@ -23,52 +23,37 @@
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d8/d69/classgraph_1_1_h_k_graph.html#a7491add14d9fc04f679114ca6d6f0f93" target="_top" xlink:title="This function checks for the possibility of augmented path availability.">
<polygon fill="white" stroke="black" points="167,-38.5 167,-57.5 275,-57.5 275,-38.5 167,-38.5"/>
<text text-anchor="middle" x="221" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">graph::HKGraph::bfs</text>
<polygon fill="white" stroke="black" points="167,-56.5 167,-75.5 275,-75.5 275,-56.5 167,-56.5"/>
<text text-anchor="middle" x="221" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">graph::HKGraph::bfs</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M131.15,-37C139.54,-38.04 148.13,-39.1 156.5,-40.14"/>
<polygon fill="midnightblue" stroke="midnightblue" points="156.21,-43.63 166.57,-41.39 157.07,-36.68 156.21,-43.63"/>
<path fill="none" stroke="midnightblue" d="M131.15,-49.79C139.87,-51.38 148.8,-53.01 157.48,-54.59"/>
<polygon fill="midnightblue" stroke="midnightblue" points="157.05,-58.08 167.52,-56.43 158.31,-51.19 157.05,-58.08"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0" target="_top" xlink:title="This functions checks whether an augmenting path is available exists beginning with free vertex u.">
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d8/d69/classgraph_1_1_h_k_graph.html#ae794950cb3407b6b47d3dc986cf714c0" target="_top" xlink:title="This functions checks whether an augmenting path is available exists beginning with free vertex u.">
<polygon fill="white" stroke="black" points="167,-0.5 167,-19.5 275,-19.5 275,-0.5 167,-0.5"/>
<text text-anchor="middle" x="221" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">graph::HKGraph::dfs</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M131.15,-21C139.54,-19.96 148.13,-18.9 156.5,-17.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="157.07,-21.32 166.57,-16.61 156.21,-14.37 157.07,-21.32"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/end.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="311,-19.5 311,-38.5 396,-38.5 396,-19.5 311,-19.5"/>
<text text-anchor="middle" x="353.5" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::end</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M275.08,-40.27C283.51,-39.04 292.22,-37.78 300.62,-36.55"/>
<polygon fill="midnightblue" stroke="midnightblue" points="301.28,-39.99 310.67,-35.09 300.27,-33.07 301.28,-39.99"/>
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M131.15,-26.21C139.87,-24.62 148.8,-22.99 157.48,-21.41"/>
<polygon fill="midnightblue" stroke="midnightblue" points="158.31,-24.81 167.52,-19.57 157.05,-17.92 158.31,-24.81"/>
</g>
<!-- Node4&#45;&gt;Node3 -->
<g id="edge4" class="edge">
<title>Node4&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M275.08,-17.73C283.51,-18.96 292.22,-20.22 300.62,-21.45"/>
<polygon fill="midnightblue" stroke="midnightblue" points="300.27,-24.93 310.67,-22.91 301.28,-18.01 300.27,-24.93"/>
<!-- Node3&#45;&gt;Node3 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M197.26,-19.76C185.72,-28.57 193.63,-38 221,-38 238.96,-38 248.54,-33.94 249.75,-28.65"/>
<polygon fill="midnightblue" stroke="midnightblue" points="252.69,-26.75 244.74,-19.76 246.59,-30.19 252.69,-26.75"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -1,4 +1,3 @@
<map id="graph::HKGraph::dfs" name="graph::HKGraph::dfs">
<area shape="rect" id="node1" title="This functions checks whether an augmenting path is available exists beginning with free vertex u." alt="" coords="5,5,149,32"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/end.html#" title=" " alt="" coords="197,5,311,32"/>
<area shape="rect" id="node1" title="This functions checks whether an augmenting path is available exists beginning with free vertex u." alt="" coords="5,29,149,56"/>
</map>

View File

@@ -1 +1 @@
0a0a39e7d357d82d1aa385bc9971f1dc
fb003c31c21d6fd133a48f9d2b9bb023

View File

@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: graph::HKGraph::dfs Pages: 1 -->
<svg width="237pt" height="28pt"
viewBox="0.00 0.00 237.00 28.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 24)">
<svg width="116pt" height="46pt"
viewBox="0.00 0.00 116.00 46.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 42)">
<title>graph::HKGraph::dfs</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 233,-24 233,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-42 112,-42 112,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
@@ -18,20 +18,11 @@
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/end.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="144,-0.5 144,-19.5 229,-19.5 229,-0.5 144,-0.5"/>
<text text-anchor="middle" x="186.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::end</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<!-- Node1&#45;&gt;Node1 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M108.08,-10C116.51,-10 125.22,-10 133.62,-10"/>
<polygon fill="midnightblue" stroke="midnightblue" points="133.67,-13.5 143.67,-10 133.67,-6.5 133.67,-13.5"/>
<title>Node1&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M37.35,-19.76C29.26,-28.57 34.8,-38 54,-38 66,-38 72.66,-34.31 74,-29.4"/>
<polygon fill="midnightblue" stroke="midnightblue" points="77.24,-28.05 70.65,-19.76 70.62,-30.35 77.24,-28.05"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: geometry/line_segment_intersection.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d8/d6c/line__segment__intersection_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -93,8 +93,7 @@ $(document).ready(function(){initNavTree('d8/d6c/line__segment__intersection_8cp
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">line_segment_intersection.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">line_segment_intersection.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
@@ -109,22 +108,22 @@ Include dependency graph for line_segment_intersection.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/dc8/struct_point.html">Point</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/db4/struct_segment_intersection.html">SegmentIntersection</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d6c/line__segment__intersection_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><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>check whether two line segments intersect each other or not. </p>
<div class="textblock"><p >check whether two line segments intersect each other or not. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -139,20 +138,20 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This is the main function to test whether the algorithm is working well. </p>
<div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="../../d4/db4/struct_segment_intersection.html">SegmentIntersection</a> segment;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="../../d8/dc8/struct_point.html">Point</a> first_point, second_point, third_point, forth_point;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; first_point.x &gt;&gt; first_point.<a class="code" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a>;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; second_point.x &gt;&gt; second_point.<a class="code" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; third_point.x &gt;&gt; third_point.<a class="code" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a>;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; forth_point.x &gt;&gt; forth_point.<a class="code" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a>;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/c/fprintf.html">printf</a>(<span class="stringliteral">&quot;%d&quot;</span>, segment.intersect(first_point, second_point, third_point,</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; forth_point));</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;}</div>
<p >This is the main function to test whether the algorithm is working well. </p>
<div class="fragment"><div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> {</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <a class="code hl_struct" href="../../d4/db4/struct_segment_intersection.html">SegmentIntersection</a> segment;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <a class="code hl_struct" href="../../d8/dc8/struct_point.html">Point</a> first_point, second_point, third_point, forth_point;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; first_point.x &gt;&gt; first_point.<a class="code hl_variable" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a>;</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; second_point.x &gt;&gt; second_point.<a class="code hl_variable" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a>;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; third_point.x &gt;&gt; third_point.<a class="code hl_variable" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a>;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; forth_point.x &gt;&gt; forth_point.<a class="code hl_variable" href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">y</a>;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/c/fprintf.html">printf</a>(<span class="stringliteral">&quot;%d&quot;</span>, segment.intersect(first_point, second_point, third_point,</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> forth_point));</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span>}</div>
<div class="ttc" id="abasic_istream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a></div></div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
@@ -175,7 +174,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_e3380d2178455503f266746fb14246a5.html">geometry</a></li><li class="navelem"><a class="el" href="../../d8/d6c/line__segment__intersection_8cpp.html">line_segment_intersection.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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="136pt" height="28pt"

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: RBtree Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d8/d72/class_r_btree.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -94,8 +94,7 @@ $(document).ready(function(){initNavTree('d8/d72/class_r_btree.html','../../');
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="../../d4/d1e/class_r_btree-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">RBtree Class Reference</div> </div>
<div class="headertitle"><div class="title">RBtree Class Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
@@ -105,48 +104,673 @@ Collaboration diagram for RBtree:</div>
</div>
<center><span class="legend">[<a target="top" href="../../graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a7079253fc09a70388a3c0b975e9fdc08"><td class="memItemLeft" align="right" valign="top"><a id="a7079253fc09a70388a3c0b975e9fdc08"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>insert</b> ()</td></tr>
<tr class="memitem:a7079253fc09a70388a3c0b975e9fdc08"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_r_btree.html#a7079253fc09a70388a3c0b975e9fdc08">insert</a> ()</td></tr>
<tr class="separator:a7079253fc09a70388a3c0b975e9fdc08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65b1a4fad18419a577bcb5d7bdc29512"><td class="memItemLeft" align="right" valign="top"><a id="a65b1a4fad18419a577bcb5d7bdc29512"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>insertfix</b> (<a class="el" href="../../d5/da1/structnode.html">node</a> *)</td></tr>
<tr class="memitem:a65b1a4fad18419a577bcb5d7bdc29512"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_r_btree.html#a65b1a4fad18419a577bcb5d7bdc29512">insertfix</a> (<a class="el" href="../../d5/da1/structnode.html">node</a> *)</td></tr>
<tr class="separator:a65b1a4fad18419a577bcb5d7bdc29512"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85750df7084f843206e83e8a68f5e761"><td class="memItemLeft" align="right" valign="top"><a id="a85750df7084f843206e83e8a68f5e761"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>leftrotate</b> (<a class="el" href="../../d5/da1/structnode.html">node</a> *)</td></tr>
<tr class="memitem:a85750df7084f843206e83e8a68f5e761"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_r_btree.html#a85750df7084f843206e83e8a68f5e761">leftrotate</a> (<a class="el" href="../../d5/da1/structnode.html">node</a> *)</td></tr>
<tr class="separator:a85750df7084f843206e83e8a68f5e761"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1359f8f04ad2046256f5a2b575ad3dd1"><td class="memItemLeft" align="right" valign="top"><a id="a1359f8f04ad2046256f5a2b575ad3dd1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>rightrotate</b> (<a class="el" href="../../d5/da1/structnode.html">node</a> *)</td></tr>
<tr class="memitem:a1359f8f04ad2046256f5a2b575ad3dd1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_r_btree.html#a1359f8f04ad2046256f5a2b575ad3dd1">rightrotate</a> (<a class="el" href="../../d5/da1/structnode.html">node</a> *)</td></tr>
<tr class="separator:a1359f8f04ad2046256f5a2b575ad3dd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a9e8bcf8651413afec219b4b0d51704"><td class="memItemLeft" align="right" valign="top"><a id="a5a9e8bcf8651413afec219b4b0d51704"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>del</b> ()</td></tr>
<tr class="memitem:a5a9e8bcf8651413afec219b4b0d51704"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_r_btree.html#a5a9e8bcf8651413afec219b4b0d51704">del</a> ()</td></tr>
<tr class="separator:a5a9e8bcf8651413afec219b4b0d51704"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b1979fe346534f63fe01358e3e0cdf8"><td class="memItemLeft" align="right" valign="top"><a id="a5b1979fe346534f63fe01358e3e0cdf8"></a>
<a class="el" href="../../d5/da1/structnode.html">node</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>successor</b> (<a class="el" href="../../d5/da1/structnode.html">node</a> *)</td></tr>
<tr class="memitem:a5b1979fe346534f63fe01358e3e0cdf8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d5/da1/structnode.html">node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_r_btree.html#a5b1979fe346534f63fe01358e3e0cdf8">successor</a> (<a class="el" href="../../d5/da1/structnode.html">node</a> *)</td></tr>
<tr class="separator:a5b1979fe346534f63fe01358e3e0cdf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01ade919cc34cb2fa24bc07bc631f440"><td class="memItemLeft" align="right" valign="top"><a id="a01ade919cc34cb2fa24bc07bc631f440"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>delfix</b> (<a class="el" href="../../d5/da1/structnode.html">node</a> *)</td></tr>
<tr class="memitem:a01ade919cc34cb2fa24bc07bc631f440"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_r_btree.html#a01ade919cc34cb2fa24bc07bc631f440">delfix</a> (<a class="el" href="../../d5/da1/structnode.html">node</a> *)</td></tr>
<tr class="separator:a01ade919cc34cb2fa24bc07bc631f440"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94a8072ec181ba69cbe3bfa2976beee8"><td class="memItemLeft" align="right" valign="top"><a id="a94a8072ec181ba69cbe3bfa2976beee8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>disp</b> ()</td></tr>
<tr class="memitem:a94a8072ec181ba69cbe3bfa2976beee8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_r_btree.html#a94a8072ec181ba69cbe3bfa2976beee8">disp</a> ()</td></tr>
<tr class="separator:a94a8072ec181ba69cbe3bfa2976beee8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a860d40eefb48ac948be2dad4d3990535"><td class="memItemLeft" align="right" valign="top"><a id="a860d40eefb48ac948be2dad4d3990535"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>display</b> (<a class="el" href="../../d5/da1/structnode.html">node</a> *)</td></tr>
<tr class="memitem:a860d40eefb48ac948be2dad4d3990535"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_r_btree.html#a860d40eefb48ac948be2dad4d3990535">display</a> (<a class="el" href="../../d5/da1/structnode.html">node</a> *)</td></tr>
<tr class="separator:a860d40eefb48ac948be2dad4d3990535"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf7a8e0285ac25ad885ac92726132e80"><td class="memItemLeft" align="right" valign="top"><a id="acf7a8e0285ac25ad885ac92726132e80"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>search</b> ()</td></tr>
<tr class="memitem:acf7a8e0285ac25ad885ac92726132e80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_r_btree.html#acf7a8e0285ac25ad885ac92726132e80">search</a> ()</td></tr>
<tr class="separator:acf7a8e0285ac25ad885ac92726132e80"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a84627c15a240f1e5821c54802fccf898"><td class="memItemLeft" align="right" valign="top"><a id="a84627c15a240f1e5821c54802fccf898"></a>
<tr class="memitem:a84627c15a240f1e5821c54802fccf898"><td class="memItemLeft" align="right" valign="top"><a id="a84627c15a240f1e5821c54802fccf898" name="a84627c15a240f1e5821c54802fccf898"></a>
<a class="el" href="../../d5/da1/structnode.html">node</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>root</b></td></tr>
<tr class="separator:a84627c15a240f1e5821c54802fccf898"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bea624ca2da11e4569bc1e9cda849b5"><td class="memItemLeft" align="right" valign="top"><a id="a3bea624ca2da11e4569bc1e9cda849b5"></a>
<tr class="memitem:a3bea624ca2da11e4569bc1e9cda849b5"><td class="memItemLeft" align="right" valign="top"><a id="a3bea624ca2da11e4569bc1e9cda849b5" name="a3bea624ca2da11e4569bc1e9cda849b5"></a>
<a class="el" href="../../d5/da1/structnode.html">node</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>q</b></td></tr>
<tr class="separator:a3bea624ca2da11e4569bc1e9cda849b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0f3e97969a8737098cea23d6b66ba981" name="a0f3e97969a8737098cea23d6b66ba981"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f3e97969a8737098cea23d6b66ba981">&#9670;&nbsp;</a></span>RBtree()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RBtree::RBtree </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">
<div class="fragment"><div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> {</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> q = NULL;</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> root = NULL;</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> }</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a5a9e8bcf8651413afec219b4b0d51704" name="a5a9e8bcf8651413afec219b4b0d51704"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a9e8bcf8651413afec219b4b0d51704">&#9670;&nbsp;</a></span>del()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RBtree::del </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span>{</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">if</span> (root == NULL)</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> {</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nEmpty Tree.&quot;</span>;</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> }</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">int</span> x;</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nEnter the key of the node to be deleted: &quot;</span>;</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">cin</a> &gt;&gt; x;</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *p;</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> p = root;</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *y = NULL;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *q = NULL;</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">int</span> found = 0;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">while</span> (p != NULL &amp;&amp; found == 0)</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> {</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">if</span> (p-&gt;key == x)</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> found = 1;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">if</span> (found == 0)</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> {</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">if</span> (p-&gt;key &lt; x)</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> p = p-&gt;right;</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> p = p-&gt;left;</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> }</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> }</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">if</span> (found == 0)</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> {</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nElement Not Found.&quot;</span>;</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> }</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> {</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nDeleted Element: &quot;</span> &lt;&lt; p-&gt;key;</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nColour: &quot;</span>;</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">if</span> (p-&gt;color == <span class="charliteral">&#39;b&#39;</span>)</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;Black\n&quot;</span>;</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;Red\n&quot;</span>;</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> </div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="keywordflow">if</span> (p-&gt;parent != NULL)</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nParent: &quot;</span> &lt;&lt; p-&gt;parent-&gt;key;</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nThere is no parent of the node. &quot;</span>;</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">if</span> (p-&gt;right != NULL)</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nRight Child: &quot;</span> &lt;&lt; p-&gt;right-&gt;key;</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nThere is no right child of the node. &quot;</span>;</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">if</span> (p-&gt;left != NULL)</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nLeft Child: &quot;</span> &lt;&lt; p-&gt;left-&gt;key;</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nThere is no left child of the node. &quot;</span>;</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nNode Deleted.&quot;</span>;</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">if</span> (p-&gt;left == NULL || p-&gt;right == NULL)</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> y = p;</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> y = successor(p);</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">if</span> (y-&gt;left != NULL)</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> q = y-&gt;left;</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> {</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span> (y-&gt;right != NULL)</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> q = y-&gt;right;</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> q = NULL;</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> }</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">if</span> (q != NULL)</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> q-&gt;parent = y-&gt;parent;</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">if</span> (y-&gt;parent == NULL)</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> root = q;</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> {</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">if</span> (y == y-&gt;parent-&gt;left)</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> y-&gt;parent-&gt;left = q;</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> y-&gt;parent-&gt;right = q;</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> }</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">if</span> (y != p)</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> {</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> p-&gt;color = y-&gt;color;</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> p-&gt;key = y-&gt;key;</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> }</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span> (y-&gt;color == <span class="charliteral">&#39;b&#39;</span>)</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> delfix(q);</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> }</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span>}</div>
<div class="ttc" id="abasic_istream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a></div></div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="astructnode_html"><div class="ttname"><a href="../../d5/da1/structnode.html">node</a></div><div class="ttdef"><b>Definition:</b> avltree.cpp:13</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a01ade919cc34cb2fa24bc07bc631f440" name="a01ade919cc34cb2fa24bc07bc631f440"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01ade919cc34cb2fa24bc07bc631f440">&#9670;&nbsp;</a></span>delfix()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RBtree::delfix </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d5/da1/structnode.html">node</a> *&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span>{</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *s;</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keywordflow">while</span> (p != root &amp;&amp; p-&gt;color == <span class="charliteral">&#39;b&#39;</span>)</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> {</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">if</span> (p-&gt;parent-&gt;left == p)</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> {</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> s = p-&gt;parent-&gt;right;</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">if</span> (s-&gt;color == <span class="charliteral">&#39;r&#39;</span>)</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> {</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> s-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> p-&gt;parent-&gt;color = <span class="charliteral">&#39;r&#39;</span>;</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> leftrotate(p-&gt;parent);</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> s = p-&gt;parent-&gt;right;</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> }</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <span class="keywordflow">if</span> (s-&gt;right-&gt;color == <span class="charliteral">&#39;b&#39;</span>&amp;&amp;s-&gt;left-&gt;color == <span class="charliteral">&#39;b&#39;</span>)</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> {</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> s-&gt;color = <span class="charliteral">&#39;r&#39;</span>;</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> p = p-&gt;parent;</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> }</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> {</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">if</span> (s-&gt;right-&gt;color == <span class="charliteral">&#39;b&#39;</span>)</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> {</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> s-&gt;left-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> s-&gt;color = <span class="charliteral">&#39;r&#39;</span>;</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> rightrotate(s);</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> s = p-&gt;parent-&gt;right;</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> }</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> s-&gt;color = p-&gt;parent-&gt;color;</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> p-&gt;parent-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> s-&gt;right-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> leftrotate(p-&gt;parent);</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> p = root;</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> }</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> }</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> {</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> s = p-&gt;parent-&gt;left;</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keywordflow">if</span> (s-&gt;color == <span class="charliteral">&#39;r&#39;</span>)</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> {</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> s-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> p-&gt;parent-&gt;color = <span class="charliteral">&#39;r&#39;</span>;</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> rightrotate(p-&gt;parent);</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> s = p-&gt;parent-&gt;left;</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> }</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">if</span> (s-&gt;left-&gt;color == <span class="charliteral">&#39;b&#39;</span>&amp;&amp;s-&gt;right-&gt;color == <span class="charliteral">&#39;b&#39;</span>)</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> {</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> s-&gt;color = <span class="charliteral">&#39;r&#39;</span>;</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> p = p-&gt;parent;</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> }</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> {</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">if</span> (s-&gt;left-&gt;color == <span class="charliteral">&#39;b&#39;</span>)</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> {</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> s-&gt;right-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> s-&gt;color = <span class="charliteral">&#39;r&#39;</span>;</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> leftrotate(s);</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> s = p-&gt;parent-&gt;left;</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> }</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> s-&gt;color = p-&gt;parent-&gt;color;</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> p-&gt;parent-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> s-&gt;left-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> rightrotate(p-&gt;parent);</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> p = root;</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> }</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> }</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> p-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> root-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> }</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a94a8072ec181ba69cbe3bfa2976beee8" name="a94a8072ec181ba69cbe3bfa2976beee8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94a8072ec181ba69cbe3bfa2976beee8">&#9670;&nbsp;</a></span>disp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RBtree::disp </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span>{</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> display(root);</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a860d40eefb48ac948be2dad4d3990535" name="a860d40eefb48ac948be2dad4d3990535"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a860d40eefb48ac948be2dad4d3990535">&#9670;&nbsp;</a></span>display()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RBtree::display </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d5/da1/structnode.html">node</a> *&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span>{</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">if</span> (root == NULL)</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> {</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nEmpty Tree.&quot;</span>;</div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> }</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> <span class="keywordflow">if</span> (p != NULL)</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> {</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n\t NODE: &quot;</span>;</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n Key: &quot;</span> &lt;&lt; p-&gt;key;</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n Colour: &quot;</span>;</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> <span class="keywordflow">if</span> (p-&gt;color == <span class="charliteral">&#39;b&#39;</span>)</div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;Black&quot;</span>;</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;Red&quot;</span>;</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> <span class="keywordflow">if</span> (p-&gt;parent != NULL)</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n Parent: &quot;</span> &lt;&lt; p-&gt;parent-&gt;key;</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n There is no parent of the node. &quot;</span>;</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> <span class="keywordflow">if</span> (p-&gt;right != NULL)</div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n Right Child: &quot;</span> &lt;&lt; p-&gt;right-&gt;key;</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n There is no right child of the node. &quot;</span>;</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> <span class="keywordflow">if</span> (p-&gt;left != NULL)</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n Left Child: &quot;</span> &lt;&lt; p-&gt;left-&gt;key;</div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n There is no left child of the node. &quot;</span>;</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">if</span> (p-&gt;left)</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> {</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n\nLeft:\n&quot;</span>;</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> display(p-&gt;left);</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> }</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> <span class="comment">/*else</span></div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span><span class="comment"> cout&lt;&lt;&quot;\nNo Left Child.\n&quot;;*/</span></div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">if</span> (p-&gt;right)</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> {</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n\nRight:\n&quot;</span>;</div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> display(p-&gt;right);</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> }</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> <span class="comment">/*else</span></div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span><span class="comment"> cout&lt;&lt;&quot;\nNo Right Child.\n&quot;*/</span></div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> }</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span>}</div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a600eaf353befc174637855795f12d258"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a></div><div class="ttdeci">#define endl</div><div class="ttdef"><b>Definition:</b> matrix_exponentiation.cpp:36</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a7079253fc09a70388a3c0b975e9fdc08" name="a7079253fc09a70388a3c0b975e9fdc08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7079253fc09a70388a3c0b975e9fdc08">&#9670;&nbsp;</a></span>insert()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RBtree::insert </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span>{</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">int</span> z, i = 0;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nEnter key of the node to be inserted: &quot;</span>;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">cin</a> &gt;&gt; z;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *p, *q;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *t = <span class="keyword">new</span> <a class="code hl_typedef" href="../../d1/df3/hash__search_8cpp.html#a8ca8dcb494104d273679e219e53d0555">node</a>;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> t-&gt;key = z;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> t-&gt;left = NULL;</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> t-&gt;right = NULL;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> t-&gt;color = <span class="charliteral">&#39;r&#39;</span>;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> p = root;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> q = NULL;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">if</span> (root == NULL)</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> {</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> root = t;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> t-&gt;parent = NULL;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> }</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> {</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">while</span> (p != NULL)</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> {</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> q = p;</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">if</span> (p-&gt;key &lt; t-&gt;key)</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> p = p-&gt;right;</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> p = p-&gt;left;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> }</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> t-&gt;parent = q;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">if</span> (q-&gt;key &lt; t-&gt;key)</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> q-&gt;right = t;</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> q-&gt;left = t;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> }</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> insertfix(t);</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span>}</div>
<div class="ttc" id="ahash__search_8cpp_html_a8ca8dcb494104d273679e219e53d0555"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#a8ca8dcb494104d273679e219e53d0555">node</a></div><div class="ttdeci">struct list node</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a65b1a4fad18419a577bcb5d7bdc29512" name="a65b1a4fad18419a577bcb5d7bdc29512"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65b1a4fad18419a577bcb5d7bdc29512">&#9670;&nbsp;</a></span>insertfix()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RBtree::insertfix </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d5/da1/structnode.html">node</a> *&#160;</td>
<td class="paramname"><em>t</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span>{</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *u;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">if</span> (root == t)</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> {</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> t-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> }</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">while</span> (t-&gt;parent != NULL &amp;&amp; t-&gt;parent-&gt;color == <span class="charliteral">&#39;r&#39;</span>)</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> {</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *g = t-&gt;parent-&gt;parent;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">if</span> (g-&gt;left == t-&gt;parent)</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> {</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">if</span> (g-&gt;right != NULL)</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> {</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> u = g-&gt;right;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">if</span> (u-&gt;color == <span class="charliteral">&#39;r&#39;</span>)</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> {</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> t-&gt;parent-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> u-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> g-&gt;color = <span class="charliteral">&#39;r&#39;</span>;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> t = g;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> }</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> }</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> {</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">if</span> (t-&gt;parent-&gt;right == t)</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> {</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> t = t-&gt;parent;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> leftrotate(t);</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> }</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> t-&gt;parent-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> g-&gt;color = <span class="charliteral">&#39;r&#39;</span>;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> rightrotate(g);</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> }</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> }</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> {</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">if</span> (g-&gt;left != NULL)</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> {</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> u = g-&gt;left;</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">if</span> (u-&gt;color == <span class="charliteral">&#39;r&#39;</span>)</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> {</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> t-&gt;parent-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> u-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> g-&gt;color = <span class="charliteral">&#39;r&#39;</span>;</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> t = g;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> }</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> }</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> {</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span> (t-&gt;parent-&gt;left == t)</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> {</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> t = t-&gt;parent;</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> rightrotate(t);</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> }</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> t-&gt;parent-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> g-&gt;color = <span class="charliteral">&#39;r&#39;</span>;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> leftrotate(g);</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> }</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> }</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> root-&gt;color = <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> }</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a85750df7084f843206e83e8a68f5e761" name="a85750df7084f843206e83e8a68f5e761"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85750df7084f843206e83e8a68f5e761">&#9670;&nbsp;</a></span>leftrotate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RBtree::leftrotate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d5/da1/structnode.html">node</a> *&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span>{</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> <span class="keywordflow">if</span> (p-&gt;right == NULL)</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> {</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *y = p-&gt;right;</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> <span class="keywordflow">if</span> (y-&gt;left != NULL)</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> {</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> p-&gt;right = y-&gt;left;</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> y-&gt;left-&gt;parent = p;</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> }</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> p-&gt;right = NULL;</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">if</span> (p-&gt;parent != NULL)</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> y-&gt;parent = p-&gt;parent;</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">if</span> (p-&gt;parent == NULL)</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> root = y;</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> {</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">if</span> (p == p-&gt;parent-&gt;left)</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> p-&gt;parent-&gt;left = y;</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> p-&gt;parent-&gt;right = y;</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> }</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> y-&gt;left = p;</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> p-&gt;parent = y;</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> }</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a1359f8f04ad2046256f5a2b575ad3dd1" name="a1359f8f04ad2046256f5a2b575ad3dd1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1359f8f04ad2046256f5a2b575ad3dd1">&#9670;&nbsp;</a></span>rightrotate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RBtree::rightrotate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d5/da1/structnode.html">node</a> *&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span>{</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">if</span> (p-&gt;left == NULL)</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> {</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *y = p-&gt;left;</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">if</span> (y-&gt;right != NULL)</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> {</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> p-&gt;left = y-&gt;right;</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> y-&gt;right-&gt;parent = p;</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> }</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> p-&gt;left = NULL;</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> <span class="keywordflow">if</span> (p-&gt;parent != NULL)</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> y-&gt;parent = p-&gt;parent;</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">if</span> (p-&gt;parent == NULL)</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> root = y;</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> {</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">if</span> (p == p-&gt;parent-&gt;left)</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> p-&gt;parent-&gt;left = y;</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> p-&gt;parent-&gt;right = y;</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> }</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> y-&gt;right = p;</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> p-&gt;parent = y;</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> }</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="acf7a8e0285ac25ad885ac92726132e80" name="acf7a8e0285ac25ad885ac92726132e80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf7a8e0285ac25ad885ac92726132e80">&#9670;&nbsp;</a></span>search()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void RBtree::search </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span>{</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> <span class="keywordflow">if</span> (root == NULL)</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> {</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nEmpty Tree\n&quot;</span>;</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> }</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> <span class="keywordtype">int</span> x;</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n Enter key of the node to be searched: &quot;</span>;</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">cin</a> &gt;&gt; x;</div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *p = root;</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> <span class="keywordtype">int</span> found = 0;</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> <span class="keywordflow">while</span> (p != NULL &amp;&amp; found == 0)</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> {</div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> <span class="keywordflow">if</span> (p-&gt;key == x)</div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> found = 1;</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> <span class="keywordflow">if</span> (found == 0)</div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> {</div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> <span class="keywordflow">if</span> (p-&gt;key &lt; x)</div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> p = p-&gt;right;</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> p = p-&gt;left;</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> }</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> }</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> <span class="keywordflow">if</span> (found == 0)</div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\nElement Not Found.&quot;</span>;</div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> {</div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n\t FOUND NODE: &quot;</span>;</div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n Key: &quot;</span> &lt;&lt; p-&gt;key;</div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n Colour: &quot;</span>;</div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> <span class="keywordflow">if</span> (p-&gt;color == <span class="charliteral">&#39;b&#39;</span>)</div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;Black&quot;</span>;</div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;Red&quot;</span>;</div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> <span class="keywordflow">if</span> (p-&gt;parent != NULL)</div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n Parent: &quot;</span> &lt;&lt; p-&gt;parent-&gt;key;</div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n There is no parent of the node. &quot;</span>;</div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> <span class="keywordflow">if</span> (p-&gt;right != NULL)</div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n Right Child: &quot;</span> &lt;&lt; p-&gt;right-&gt;key;</div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n There is no right child of the node. &quot;</span>;</div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> <span class="keywordflow">if</span> (p-&gt;left != NULL)</div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n Left Child: &quot;</span> &lt;&lt; p-&gt;left-&gt;key;</div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;\n There is no left child of the node. &quot;</span>;</div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> </div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> }</div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span>}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a5b1979fe346534f63fe01358e3e0cdf8" name="a5b1979fe346534f63fe01358e3e0cdf8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b1979fe346534f63fe01358e3e0cdf8">&#9670;&nbsp;</a></span>successor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d5/da1/structnode.html">node</a> * RBtree::successor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d5/da1/structnode.html">node</a> *&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span>{</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> <a class="code hl_class" href="../../d5/da1/structnode.html">node</a> *y = NULL;</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> <span class="keywordflow">if</span> (p-&gt;left != NULL)</div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> {</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> y = p-&gt;left;</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">while</span> (y-&gt;right != NULL)</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> y = y-&gt;right;</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> }</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> {</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> y = p-&gt;right;</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> <span class="keywordflow">while</span> (y-&gt;left != NULL)</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> y = y-&gt;left;</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> }</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> <span class="keywordflow">return</span> y;</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span>}</div>
</div><!-- fragment -->
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>data_structures/rb_tree.cpp</li>
</ul>
@@ -156,7 +780,7 @@ Private Attributes</h2></td></tr>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d8/d72/class_r_btree.html">RBtree</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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,16 +0,0 @@
var class_r_btree =
[
[ "RBtree", "d8/d72/class_r_btree.html#a0f3e97969a8737098cea23d6b66ba981", null ],
[ "del", "d8/d72/class_r_btree.html#a5a9e8bcf8651413afec219b4b0d51704", null ],
[ "delfix", "d8/d72/class_r_btree.html#a01ade919cc34cb2fa24bc07bc631f440", null ],
[ "disp", "d8/d72/class_r_btree.html#a94a8072ec181ba69cbe3bfa2976beee8", null ],
[ "display", "d8/d72/class_r_btree.html#a860d40eefb48ac948be2dad4d3990535", null ],
[ "insert", "d8/d72/class_r_btree.html#a7079253fc09a70388a3c0b975e9fdc08", null ],
[ "insertfix", "d8/d72/class_r_btree.html#a65b1a4fad18419a577bcb5d7bdc29512", null ],
[ "leftrotate", "d8/d72/class_r_btree.html#a85750df7084f843206e83e8a68f5e761", null ],
[ "rightrotate", "d8/d72/class_r_btree.html#a1359f8f04ad2046256f5a2b575ad3dd1", null ],
[ "search", "d8/d72/class_r_btree.html#acf7a8e0285ac25ad885ac92726132e80", null ],
[ "successor", "d8/d72/class_r_btree.html#a5b1979fe346534f63fe01358e3e0cdf8", null ],
[ "q", "d8/d72/class_r_btree.html#a3bea624ca2da11e4569bc1e9cda849b5", null ],
[ "root", "d8/d72/class_r_btree.html#a84627c15a240f1e5821c54802fccf898", null ]
];

View File

@@ -2,8 +2,8 @@
<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 http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: ciphers/morse_code.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<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 magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'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 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d8/d76/morse__code_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -93,12 +93,11 @@ $(document).ready(function(){initNavTree('d8/d76/morse__code_8cpp.html','../../'
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">morse_code.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">morse_code.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Implementation of <a href="https://en.wikipedia.org/wiki/Morse_code">Morse Code</a>.
<p>Implementation of <a href="https://en.wikipedia.org/wiki/Morse_code" target="_blank">Morse Code</a>.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;cassert&gt;</code><br />
<code>#include &lt;iostream&gt;</code><br />
@@ -111,16 +110,16 @@ Include dependency graph for morse_code.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d6/d4e/namespaceciphers"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d4e/namespaceciphers.html">ciphers</a></td></tr>
<tr class="memdesc:d6/d4e/namespaceciphers"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a href="https://en.wikipedia.org/wiki/Base64">Base64 Encoding and Decoding</a> <br /></td></tr>
<tr class="memitem:d6/d4e/namespaceciphers"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d4e/namespaceciphers.html">ciphers</a></td></tr>
<tr class="memdesc:d6/d4e/namespaceciphers"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a href="https://en.wikipedia.org/wiki/Base64" target="_blank">Base64 Encoding and Decoding</a> <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d6/d8d/namespacemorse"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d8d/namespacemorse.html">morse</a></td></tr>
<tr class="memdesc:d6/d8d/namespacemorse"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions for <a href="https://en.wikipedia.org/wiki/Morse_code">Morse Code</a>. <br /></td></tr>
<tr class="memitem:d6/d8d/namespacemorse"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d8d/namespacemorse.html">morse</a></td></tr>
<tr class="memdesc:d6/d8d/namespacemorse"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions for <a href="https://en.wikipedia.org/wiki/Morse_code" target="_blank">Morse Code</a>. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab31773fd11555d21f70d6914138d9535"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d76/morse__code_8cpp.html#ab31773fd11555d21f70d6914138d9535">ciphers::morse::char_to_morse</a> (const char &amp;c)</td></tr>
<tr class="separator:ab31773fd11555d21f70d6914138d9535"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -138,11 +137,11 @@ Functions</h2></td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><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>Implementation of <a href="https://en.wikipedia.org/wiki/Morse_code">Morse Code</a>. </p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/imdeep2905">Deep Raval</a></dd></dl>
<div class="textblock"><p >Implementation of <a href="https://en.wikipedia.org/wiki/Morse_code" target="_blank">Morse Code</a>. </p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/imdeep2905" target="_blank">Deep Raval</a></dd></dl>
<p>Morse code is a method used in telecommunication to encode text characters as standardized sequences of two different signal durations, called dots and dashes or dits and dahs. Morse code is named after Samuel Morse, an inventor of the telegraph. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="ab31773fd11555d21f70d6914138d9535"></a>
<a id="ab31773fd11555d21f70d6914138d9535" name="ab31773fd11555d21f70d6914138d9535"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab31773fd11555d21f70d6914138d9535">&#9670;&nbsp;</a></span>char_to_morse()</h2>
<div class="memitem">
@@ -157,93 +156,93 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Get the morse representation for given character. </p><dl class="params"><dt>Parameters</dt><dd>
<p >Get the morse representation for given character. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">c</td><td>Character </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>morse representation string of character </dd></dl>
<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="comment">// return corresponding morse code</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordflow">switch</span> (c) {</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;a&#39;</span>:</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;.-&quot;</span>;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;b&#39;</span>:</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;-...&quot;</span>;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;c&#39;</span>:</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;-.-.&quot;</span>;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;d&#39;</span>:</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;-..&quot;</span>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;e&#39;</span>:</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;.&quot;</span>;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;f&#39;</span>:</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;..-.&quot;</span>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;g&#39;</span>:</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;--.&quot;</span>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;h&#39;</span>:</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;....&quot;</span>;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;i&#39;</span>:</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;..&quot;</span>;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;j&#39;</span>:</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;.---&quot;</span>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;k&#39;</span>:</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;-.-&quot;</span>;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;l&#39;</span>:</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;.-..&quot;</span>;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;m&#39;</span>:</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;--&quot;</span>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;n&#39;</span>:</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;-.&quot;</span>;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;o&#39;</span>:</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;---&quot;</span>;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;p&#39;</span>:</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;.--.&quot;</span>;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;q&#39;</span>:</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;--.-&quot;</span>;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;r&#39;</span>:</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;.-.&quot;</span>;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;s&#39;</span>:</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;...&quot;</span>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;t&#39;</span>:</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;-&quot;</span>;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;u&#39;</span>:</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;..-&quot;</span>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;v&#39;</span>:</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;...-&quot;</span>;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;w&#39;</span>:</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;.--&quot;</span>;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;x&#39;</span>:</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;-..-&quot;</span>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;y&#39;</span>:</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;-.--&quot;</span>;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;z&#39;</span>:</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;--..&quot;</span>;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;1&#39;</span>:</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;.----&quot;</span>;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;2&#39;</span>:</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;..---&quot;</span>;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;3&#39;</span>:</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;...--&quot;</span>;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;4&#39;</span>:</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;....-&quot;</span>;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;5&#39;</span>:</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;.....&quot;</span>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;6&#39;</span>:</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;-....&quot;</span>;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;7&#39;</span>:</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;--...&quot;</span>;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;8&#39;</span>:</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;---..&quot;</span>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;9&#39;</span>:</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;----.&quot;</span>;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">case</span> <span class="charliteral">&#39;0&#39;</span>:</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;-----&quot;</span>;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;Found invalid character: &quot;</span> &lt;&lt; c &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a>(0);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> {</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="comment">// return corresponding morse code</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">switch</span> (c) {</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;a&#39;</span>:</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.-&quot;</span>;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;b&#39;</span>:</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-...&quot;</span>;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;c&#39;</span>:</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-.-.&quot;</span>;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;d&#39;</span>:</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-..&quot;</span>;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;e&#39;</span>:</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.&quot;</span>;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;f&#39;</span>:</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;..-.&quot;</span>;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;g&#39;</span>:</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;--.&quot;</span>;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;h&#39;</span>:</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;....&quot;</span>;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;i&#39;</span>:</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;..&quot;</span>;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;j&#39;</span>:</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.---&quot;</span>;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;k&#39;</span>:</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-.-&quot;</span>;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;l&#39;</span>:</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.-..&quot;</span>;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;m&#39;</span>:</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;--&quot;</span>;</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;n&#39;</span>:</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-.&quot;</span>;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;o&#39;</span>:</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;---&quot;</span>;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;p&#39;</span>:</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.--.&quot;</span>;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;q&#39;</span>:</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;--.-&quot;</span>;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;r&#39;</span>:</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.-.&quot;</span>;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;s&#39;</span>:</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;...&quot;</span>;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;t&#39;</span>:</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-&quot;</span>;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;u&#39;</span>:</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;..-&quot;</span>;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;v&#39;</span>:</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;...-&quot;</span>;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;w&#39;</span>:</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.--&quot;</span>;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;x&#39;</span>:</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-..-&quot;</span>;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;y&#39;</span>:</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-.--&quot;</span>;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;z&#39;</span>:</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;--..&quot;</span>;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;1&#39;</span>:</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.----&quot;</span>;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;2&#39;</span>:</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;..---&quot;</span>;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;3&#39;</span>:</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;...--&quot;</span>;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;4&#39;</span>:</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;....-&quot;</span>;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;5&#39;</span>:</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.....&quot;</span>;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;6&#39;</span>:</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-....&quot;</span>;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;7&#39;</span>:</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;--...&quot;</span>;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;8&#39;</span>:</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;---..&quot;</span>;</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;9&#39;</span>:</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;----.&quot;</span>;</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;0&#39;</span>:</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-----&quot;</span>;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;Found invalid character: &quot;</span> &lt;&lt; c &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a>(0);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> }</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span>}</div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a></div></div>
<div class="ttc" id="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
<div class="ttc" id="aexit_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a></div><div class="ttdeci">T exit(T... args)</div></div>
@@ -256,7 +255,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a15c66ec8cf4cef0a35c50cbab86965dc"></a>
<a id="a15c66ec8cf4cef0a35c50cbab86965dc" name="a15c66ec8cf4cef0a35c50cbab86965dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15c66ec8cf4cef0a35c50cbab86965dc">&#9670;&nbsp;</a></span>decrypt()</h2>
<div class="memitem">
@@ -271,35 +270,35 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Decrypt given morse coded text. </p><dl class="params"><dt>Parameters</dt><dd>
<p >Decrypt given morse coded text. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">text</td><td>text to be decrypted </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new decrypted text </dd></dl>
<div class="fragment"><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; {</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="comment">// Going through each character of text and converting it</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="comment">// back to normal representation.</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> decrypted_text = <span class="stringliteral">&quot;&quot;</span>; <span class="comment">// Empty string to store decrypted text</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="comment">// Spliting string (with delimiter = &quot; &quot;) and storing it</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="comment">// in vector</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> pos_start = 0, pos_end = 0, delim_len = 1;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::string&gt;</a> splits;</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">while</span> ((pos_end = text.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/find.html">find</a>(<span class="charliteral">&#39; &#39;</span>, pos_start)) != std::string::npos) {</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> token = text.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/substr.html">substr</a>(pos_start, pos_end - pos_start);</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; pos_start = pos_end + delim_len;</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; splits.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(token);</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; }</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; </div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="comment">// Traversing through each morse code string</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;s : splits) {</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="comment">// Add corresponding character</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; decrypted_text += <a class="code" href="../../d8/d76/morse__code_8cpp.html#ac9f294b0dec08a4a11d477a32f9bd829">ciphers::morse::morse_to_char</a>(s);</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; }</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; </div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">return</span> decrypted_text; <span class="comment">// Returning decrypted text</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> {</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="comment">// Going through each character of text and converting it</span></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="comment">// back to normal representation.</span></div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> decrypted_text = <span class="stringliteral">&quot;&quot;</span>; <span class="comment">// Empty string to store decrypted text</span></div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="comment">// Spliting string (with delimiter = &quot; &quot;) and storing it</span></div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="comment">// in vector</span></div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> pos_start = 0, pos_end = 0, delim_len = 1;</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::string&gt;</a> splits;</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="keywordflow">while</span> ((pos_end = text.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/find.html">find</a>(<span class="charliteral">&#39; &#39;</span>, pos_start)) != std::string::npos) {</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> token = text.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/substr.html">substr</a>(pos_start, pos_end - pos_start);</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> pos_start = pos_end + delim_len;</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> splits.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(token);</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> }</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> </div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <span class="comment">// Traversing through each morse code string</span></div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;s : splits) {</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <span class="comment">// Add corresponding character</span></div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> decrypted_text += <a class="code hl_function" href="../../d8/d76/morse__code_8cpp.html#ac9f294b0dec08a4a11d477a32f9bd829">ciphers::morse::morse_to_char</a>(s);</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> }</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> </div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">return</span> decrypted_text; <span class="comment">// Returning decrypted text</span></div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span>}</div>
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
<div class="ttc" id="afind_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/find.html">std::string::find</a></div><div class="ttdeci">T find(T... args)</div></div>
<div class="ttc" id="amorse__code_8cpp_html_ac9f294b0dec08a4a11d477a32f9bd829"><div class="ttname"><a href="../../d8/d76/morse__code_8cpp.html#ac9f294b0dec08a4a11d477a32f9bd829">ciphers::morse::morse_to_char</a></div><div class="ttdeci">char morse_to_char(const std::string &amp;s)</div><div class="ttdef"><b>Definition:</b> morse_code.cpp:118</div></div>
@@ -316,7 +315,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a0242e458904de8a242fcdaffe9e3ba1a"></a>
<a id="a0242e458904de8a242fcdaffe9e3ba1a" name="a0242e458904de8a242fcdaffe9e3ba1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0242e458904de8a242fcdaffe9e3ba1a">&#9670;&nbsp;</a></span>encrypt()</h2>
<div class="memitem">
@@ -331,22 +330,22 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Encrypt given text using morse code. </p><dl class="params"><dt>Parameters</dt><dd>
<p >Encrypt given text using morse code. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">text</td><td>text to be encrypted </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new encrypted text </dd></dl>
<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; {</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> encrypted_text = <span class="stringliteral">&quot;&quot;</span>; <span class="comment">// Empty string to store encrypted text</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="comment">// Going through each character of text and converting it</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="comment">// to morse representation</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">char</span> &amp;c : text) {</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; encrypted_text += <a class="code" href="../../d8/d76/morse__code_8cpp.html#ab31773fd11555d21f70d6914138d9535">ciphers::morse::char_to_morse</a>(c) + <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> encrypted_text; <span class="comment">// Returning encrypted text</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> {</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> encrypted_text = <span class="stringliteral">&quot;&quot;</span>; <span class="comment">// Empty string to store encrypted text</span></div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="comment">// Going through each character of text and converting it</span></div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="comment">// to morse representation</span></div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">char</span> &amp;c : text) {</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> encrypted_text += <a class="code hl_function" href="../../d8/d76/morse__code_8cpp.html#ab31773fd11555d21f70d6914138d9535">ciphers::morse::char_to_morse</a>(c) + <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> }</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">return</span> encrypted_text; <span class="comment">// Returning encrypted text</span></div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span>}</div>
<div class="ttc" id="amorse__code_8cpp_html_ab31773fd11555d21f70d6914138d9535"><div class="ttname"><a href="../../d8/d76/morse__code_8cpp.html#ab31773fd11555d21f70d6914138d9535">ciphers::morse::char_to_morse</a></div><div class="ttdeci">std::string char_to_morse(const char &amp;c)</div><div class="ttdef"><b>Definition:</b> morse_code.cpp:33</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
@@ -357,7 +356,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -375,11 +374,11 @@ Here is the call graph for this function:</div>
<p>Main function. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on exit </dd></dl>
<div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; {</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="comment">// Testing</span></div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <a class="code" href="../../d8/d76/morse__code_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>();</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> {</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="comment">// Testing</span></div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <a class="code hl_function" href="../../d8/d76/morse__code_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>();</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span>}</div>
<div class="ttc" id="amorse__code_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../d8/d76/morse__code_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Function to test above algorithm.</div><div class="ttdef"><b>Definition:</b> morse_code.cpp:245</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
@@ -390,7 +389,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="ac9f294b0dec08a4a11d477a32f9bd829"></a>
<a id="ac9f294b0dec08a4a11d477a32f9bd829" name="ac9f294b0dec08a4a11d477a32f9bd829"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9f294b0dec08a4a11d477a32f9bd829">&#9670;&nbsp;</a></span>morse_to_char()</h2>
<div class="memitem">
@@ -405,92 +404,92 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Get character from the morse representation. </p><dl class="params"><dt>Parameters</dt><dd>
<p >Get character from the morse representation. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s</td><td>Morse representation </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>corresponding character </dd></dl>
<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="comment">// return corresponding character</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.-&quot;</span>) {</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;a&#39;</span>;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-...&quot;</span>) {</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-.-.&quot;</span>) {</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;c&#39;</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-..&quot;</span>) {</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;d&#39;</span>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.&quot;</span>) {</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;e&#39;</span>;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;..-.&quot;</span>) {</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;f&#39;</span>;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;--.&quot;</span>) {</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;g&#39;</span>;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;....&quot;</span>) {</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;h&#39;</span>;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;..&quot;</span>) {</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;i&#39;</span>;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.---&quot;</span>) {</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;j&#39;</span>;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-.-&quot;</span>) {</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;k&#39;</span>;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.-..&quot;</span>) {</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;l&#39;</span>;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;--&quot;</span>) {</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;m&#39;</span>;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-.&quot;</span>) {</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;n&#39;</span>;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;---&quot;</span>) {</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;o&#39;</span>;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.--.&quot;</span>) {</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;p&#39;</span>;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;--.-&quot;</span>) {</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;q&#39;</span>;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.-.&quot;</span>) {</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;r&#39;</span>;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;...&quot;</span>) {</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;s&#39;</span>;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-&quot;</span>) {</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;t&#39;</span>;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;..-&quot;</span>) {</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;u&#39;</span>;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;...-&quot;</span>) {</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;v&#39;</span>;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.--&quot;</span>) {</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;w&#39;</span>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-..-&quot;</span>) {</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;x&#39;</span>;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-.--&quot;</span>) {</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;y&#39;</span>;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;--..&quot;</span>) {</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;z&#39;</span>;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.----&quot;</span>) {</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;1&#39;</span>;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;..---&quot;</span>) {</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;2&#39;</span>;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;...--&quot;</span>) {</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;3&#39;</span>;</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;....-&quot;</span>) {</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;4&#39;</span>;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.....&quot;</span>) {</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;5&#39;</span>;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-....&quot;</span>) {</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;6&#39;</span>;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;--...&quot;</span>) {</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;7&#39;</span>;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;---..&quot;</span>) {</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;8&#39;</span>;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;----.&quot;</span>) {</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;9&#39;</span>;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-----&quot;</span>) {</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> <span class="charliteral">&#39;0&#39;</span>;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;Found invalid Morse code: &quot;</span> &lt;&lt; s &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a>(0);</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; }</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> {</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="comment">// return corresponding character</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.-&quot;</span>) {</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;a&#39;</span>;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-...&quot;</span>) {</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-.-.&quot;</span>) {</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;c&#39;</span>;</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-..&quot;</span>) {</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;d&#39;</span>;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.&quot;</span>) {</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;e&#39;</span>;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;..-.&quot;</span>) {</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;f&#39;</span>;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;--.&quot;</span>) {</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;g&#39;</span>;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;....&quot;</span>) {</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;h&#39;</span>;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;..&quot;</span>) {</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;i&#39;</span>;</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.---&quot;</span>) {</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;j&#39;</span>;</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-.-&quot;</span>) {</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;k&#39;</span>;</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.-..&quot;</span>) {</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;l&#39;</span>;</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;--&quot;</span>) {</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;m&#39;</span>;</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-.&quot;</span>) {</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;n&#39;</span>;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;---&quot;</span>) {</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;o&#39;</span>;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.--.&quot;</span>) {</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;p&#39;</span>;</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;--.-&quot;</span>) {</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;q&#39;</span>;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.-.&quot;</span>) {</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;r&#39;</span>;</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;...&quot;</span>) {</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;s&#39;</span>;</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-&quot;</span>) {</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;t&#39;</span>;</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;..-&quot;</span>) {</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;u&#39;</span>;</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;...-&quot;</span>) {</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;v&#39;</span>;</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.--&quot;</span>) {</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;w&#39;</span>;</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-..-&quot;</span>) {</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;x&#39;</span>;</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-.--&quot;</span>) {</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;y&#39;</span>;</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;--..&quot;</span>) {</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;z&#39;</span>;</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.----&quot;</span>) {</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;1&#39;</span>;</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;..---&quot;</span>) {</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;2&#39;</span>;</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;...--&quot;</span>) {</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;3&#39;</span>;</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;....-&quot;</span>) {</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;4&#39;</span>;</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.....&quot;</span>) {</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;5&#39;</span>;</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-....&quot;</span>) {</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;6&#39;</span>;</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;--...&quot;</span>) {</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;7&#39;</span>;</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;---..&quot;</span>) {</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;8&#39;</span>;</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;----.&quot;</span>) {</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;9&#39;</span>;</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;-----&quot;</span>) {</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;0&#39;</span>;</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;Found invalid Morse code: &quot;</span> &lt;&lt; s &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a>(0);</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> }</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -500,7 +499,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="aa8dca7b867074164d5f45b0f3851269d"></a>
<a id="aa8dca7b867074164d5f45b0f3851269d" name="aa8dca7b867074164d5f45b0f3851269d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8dca7b867074164d5f45b0f3851269d">&#9670;&nbsp;</a></span>test()</h2>
<div class="memitem">
@@ -525,24 +524,24 @@ Here is the call graph for this function:</div>
<p>Function to test above algorithm. </p>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
<div class="fragment"><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; {</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="comment">// Test 1</span></div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> text1 = <span class="stringliteral">&quot;01234567890&quot;</span>;</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> encrypted1 = <a class="code" href="../../d8/d76/morse__code_8cpp.html#a0242e458904de8a242fcdaffe9e3ba1a">ciphers::morse::encrypt</a>(text1);</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> decrypted1 = <a class="code" href="../../d8/d76/morse__code_8cpp.html#a15c66ec8cf4cef0a35c50cbab86965dc">ciphers::morse::decrypt</a>(encrypted1);</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; assert(text1 == decrypted1);</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Original text : &quot;</span> &lt;&lt; text1 &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Encrypted text : &quot;</span> &lt;&lt; encrypted1 &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Decrypted text : &quot;</span> &lt;&lt; decrypted1 &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="comment">// Test 2</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> text2 = <span class="stringliteral">&quot;abcdefghijklmnopqrstuvwxyz&quot;</span>;</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> encrypted2 = <a class="code" href="../../d8/d76/morse__code_8cpp.html#a0242e458904de8a242fcdaffe9e3ba1a">ciphers::morse::encrypt</a>(text2);</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> decrypted2 = <a class="code" href="../../d8/d76/morse__code_8cpp.html#a15c66ec8cf4cef0a35c50cbab86965dc">ciphers::morse::decrypt</a>(encrypted2);</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; assert(text2 == decrypted2);</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Original text : &quot;</span> &lt;&lt; text2 &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Encrypted text : &quot;</span> &lt;&lt; encrypted2 &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Decrypted text : &quot;</span> &lt;&lt; decrypted2 &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> {</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="comment">// Test 1</span></div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> text1 = <span class="stringliteral">&quot;01234567890&quot;</span>;</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> encrypted1 = <a class="code hl_function" href="../../d8/d76/morse__code_8cpp.html#a0242e458904de8a242fcdaffe9e3ba1a">ciphers::morse::encrypt</a>(text1);</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> decrypted1 = <a class="code hl_function" href="../../d8/d76/morse__code_8cpp.html#a15c66ec8cf4cef0a35c50cbab86965dc">ciphers::morse::decrypt</a>(encrypted1);</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> assert(text1 == decrypted1);</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Original text : &quot;</span> &lt;&lt; text1 &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Encrypted text : &quot;</span> &lt;&lt; encrypted1 &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Decrypted text : &quot;</span> &lt;&lt; decrypted1 &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="comment">// Test 2</span></div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> text2 = <span class="stringliteral">&quot;abcdefghijklmnopqrstuvwxyz&quot;</span>;</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> encrypted2 = <a class="code hl_function" href="../../d8/d76/morse__code_8cpp.html#a0242e458904de8a242fcdaffe9e3ba1a">ciphers::morse::encrypt</a>(text2);</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> decrypted2 = <a class="code hl_function" href="../../d8/d76/morse__code_8cpp.html#a15c66ec8cf4cef0a35c50cbab86965dc">ciphers::morse::decrypt</a>(encrypted2);</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> assert(text2 == decrypted2);</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Original text : &quot;</span> &lt;&lt; text2 &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Encrypted text : &quot;</span> &lt;&lt; encrypted2 &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Decrypted text : &quot;</span> &lt;&lt; decrypted2 &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span>}</div>
<div class="ttc" id="amorse__code_8cpp_html_a0242e458904de8a242fcdaffe9e3ba1a"><div class="ttname"><a href="../../d8/d76/morse__code_8cpp.html#a0242e458904de8a242fcdaffe9e3ba1a">ciphers::morse::encrypt</a></div><div class="ttdeci">std::string encrypt(const std::string &amp;text)</div><div class="ttdef"><b>Definition:</b> morse_code.cpp:202</div></div>
<div class="ttc" id="amorse__code_8cpp_html_a15c66ec8cf4cef0a35c50cbab86965dc"><div class="ttname"><a href="../../d8/d76/morse__code_8cpp.html#a15c66ec8cf4cef0a35c50cbab86965dc">ciphers::morse::decrypt</a></div><div class="ttdeci">std::string decrypt(const std::string &amp;text)</div><div class="ttdef"><b>Definition:</b> morse_code.cpp:216</div></div>
</div><!-- fragment --><div class="dynheader">
@@ -560,7 +559,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_4d6e05837bf820fb089a8a8cdf2f42b7.html">ciphers</a></li><li class="navelem"><a class="el" href="../../d8/d76/morse__code_8cpp.html">morse_code.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.9.1 </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.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: ciphers::morse::encrypt Pages: 1 -->
<svg width="361pt" height="71pt"

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: ciphers::morse::decrypt Pages: 1 -->
<svg width="371pt" height="172pt"

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test Pages: 1 -->
<svg width="131pt" height="28pt"

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: ciphers::morse::char_to_morse Pages: 1 -->
<svg width="205pt" height="71pt"

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: ciphers::morse::morse_to_char Pages: 1 -->
<svg width="213pt" height="71pt"

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="205pt" height="28pt"

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,8 @@
var namespacemachine__learning =
[
[ "aystar_search", null, [
[ "EightPuzzle", "dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html", "dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle" ],
[ "AyStarSearch", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search" ]
[ "AyStarSearch", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search" ],
[ "EightPuzzle", "dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html", "dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle" ]
] ],
[ "neural_network", null, [
[ "activations", null, [
@@ -23,32 +23,32 @@ var namespacemachine__learning =
[ "NeuralNetwork", "d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html", "d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network" ]
] ],
[ "adaline", "d6/d30/classmachine__learning_1_1adaline.html", "d6/d30/classmachine__learning_1_1adaline" ],
[ "apply_function", "d8/d77/namespacemachine__learning.html#a8b3b06a63bd16b91237c85a295309774", null ],
[ "argmax", "d8/d77/namespacemachine__learning.html#a1b42d24ad7bedbfa8e5b59fe96987a44", null ],
[ "equal_shuffle", "d8/d77/namespacemachine__learning.html#a62a418f243cd52b49f59015dddff188e", null ],
[ "get_shape", "d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd", null ],
[ "hadamard_product", "d8/d77/namespacemachine__learning.html#a6ef38e5947aef609f908bfbfeaf11d75", null ],
[ "insert_element", "d8/d77/namespacemachine__learning.html#a725d4ccceda4f32c96348ba1d593cd3c", null ],
[ "kohonen_som", "d8/d77/namespacemachine__learning.html#adc731720947b4bc2ab047c141e7d0299", null ],
[ "kohonen_som_tracer", "d8/d77/namespacemachine__learning.html#acc6a28f40512dbda75ab1a3969248898", null ],
[ "minmax_scaler", "d8/d77/namespacemachine__learning.html#a05b9445c6ab65053b9bf9897a96af82d", null ],
[ "multiply", "d8/d77/namespacemachine__learning.html#a7491744dcfc8844338d55065d0cd0c79", null ],
[ "operator*", "d8/d77/namespacemachine__learning.html#ab58fb68da2cfc5326d3da0cba6f58118", null ],
[ "operator+", "d8/d77/namespacemachine__learning.html#a9225f0ded976096b45ffe13c75d33c05", null ],
[ "operator-", "d8/d77/namespacemachine__learning.html#a5f42063207181529413d812ade52f58e", null ],
[ "operator/", "d8/d77/namespacemachine__learning.html#a2055c2f3a076b3d4146aade5eb35666d", null ],
[ "operator<<", "d8/d77/namespacemachine__learning.html#a2a282c162e12f193c58232f26f0fa62d", null ],
[ "operator<<", "d8/d77/namespacemachine__learning.html#ad0302cde64c0479379be18286962f6df", null ],
[ "operator<<", "d8/d77/namespacemachine__learning.html#a8e8b54aaa62ad7f906aec0756ca3a500", null ],
[ "pop_back", "d8/d77/namespacemachine__learning.html#a4dd9a9df9f8f05327bcf7b58b0a86576", null ],
[ "pop_front", "d8/d77/namespacemachine__learning.html#ad9d119e7520fa5c2d2428433f578c0bc", null ],
[ "save_u_matrix", "d8/d77/namespacemachine__learning.html#a1d577f5d95b774ae97eb6838852d0df5", null ],
[ "sum", "d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44", null ],
[ "transpose", "d8/d77/namespacemachine__learning.html#ac7d9b358f1ef2ba2a1d475a5452ec41f", null ],
[ "uniform_random_initialization", "d8/d77/namespacemachine__learning.html#a73ee7ed3546ab9e8792a92336d0d14ab", null ],
[ "unit_matrix_initialization", "d8/d77/namespacemachine__learning.html#abf136b863d804899647f46eeb2e1392b", null ],
[ "update_weights", "d8/d77/namespacemachine__learning.html#a361674452869413536ee501f053129a8", null ],
[ "update_weights", "d8/d77/namespacemachine__learning.html#ac4010fe3a52a74e8b5b1aaadfe38b46f", null ],
[ "zeroes_initialization", "d8/d77/namespacemachine__learning.html#a4d136cbf20e3126ed9b934ab2d03f18b", null ],
[ "apply_function", "d8/d77/namespacemachine__learning.html#ad0bdc88e5f1be47c46c0f0c8ebf754bb", null ],
[ "argmax", "d8/d77/namespacemachine__learning.html#a50480fccfb39de20ca47f1bf51ecb6ec", null ],
[ "equal_shuffle", "d8/d77/namespacemachine__learning.html#af801bf30591ca6b2c38ff4fed0ded23f", null ],
[ "get_shape", "d8/d77/namespacemachine__learning.html#aa4bbf61e65f8cd297255fa94b983d078", null ],
[ "hadamard_product", "d8/d77/namespacemachine__learning.html#acafa3e62b686aebdbad81c4f89913f43", null ],
[ "insert_element", "d8/d77/namespacemachine__learning.html#a496302e3371aa7b478cb7d5917904bdd", null ],
[ "kohonen_som", "d8/d77/namespacemachine__learning.html#ac43d294e21a0c4fa33c53757df054576", null ],
[ "kohonen_som_tracer", "d8/d77/namespacemachine__learning.html#a042f435bca0839e721fc1574a61e8da3", null ],
[ "minmax_scaler", "d8/d77/namespacemachine__learning.html#ac332d152078e96311e43ac5e7183ea26", null ],
[ "multiply", "d8/d77/namespacemachine__learning.html#a5342906d42b80fc6b6b3ad17bf00fcb9", null ],
[ "operator*", "d8/d77/namespacemachine__learning.html#a16f34574b7e0dd51bc3b3fda37446695", null ],
[ "operator+", "d8/d77/namespacemachine__learning.html#a2466857dab977a49f117029835b3b6d2", null ],
[ "operator-", "d8/d77/namespacemachine__learning.html#a0cc29566568e0383dd7d374068cbe6b3", null ],
[ "operator/", "d8/d77/namespacemachine__learning.html#ae6ec42318d172b97fbdf45638d09d7b5", null ],
[ "operator<<", "d8/d77/namespacemachine__learning.html#af4986b23760039711848155739c31b35", null ],
[ "operator<<", "d8/d77/namespacemachine__learning.html#a54bf1f3c43271a5fc93101f6ae2e6269", null ],
[ "operator<<", "d8/d77/namespacemachine__learning.html#a84260cb1be9b63d6e38107000ac4b7e7", null ],
[ "pop_back", "d8/d77/namespacemachine__learning.html#ae10178b082f0205c326550877d998e5d", null ],
[ "pop_front", "d8/d77/namespacemachine__learning.html#a912cf68863063a38d6e63545be5eb093", null ],
[ "save_u_matrix", "d8/d77/namespacemachine__learning.html#aa72a53c88203fde278f1fe6c3afe5b07", null ],
[ "sum", "d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35", null ],
[ "transpose", "d8/d77/namespacemachine__learning.html#a89fde571b38f9483576594f66572958a", null ],
[ "uniform_random_initialization", "d8/d77/namespacemachine__learning.html#abee7b35403af3612222d3b7a53074905", null ],
[ "unit_matrix_initialization", "d8/d77/namespacemachine__learning.html#a8dd3f1ffbc2f26a3c88da1b1f8b7e9c4", null ],
[ "update_weights", "d8/d77/namespacemachine__learning.html#aa6aac06ccf128b0a9c55c9ee1a8e5631", null ],
[ "update_weights", "d8/d77/namespacemachine__learning.html#ae868ad43698a1d69ba46ea3827d7d2c3", null ],
[ "zeroes_initialization", "d8/d77/namespacemachine__learning.html#ac1bdaa2a724b4ce6a6bb371a5dbe2e7e", null ],
[ "MIN_DISTANCE", "d8/d77/namespacemachine__learning.html#a7220dbb7fa896d83bfb7a50e4fce1786", null ]
];

View File

@@ -1,12 +1,12 @@
<map id="machine_learning::kohonen_som_tracer" name="machine_learning::kohonen_som_tracer">
<area shape="rect" id="node1" title=" " alt="" coords="5,150,191,191"/>
<area shape="rect" id="node2" href="$d8/d77/namespacemachine__learning.html#ac4010fe3a52a74e8b5b1aaadfe38b46f" title=" " alt="" coords="239,150,415,191"/>
<area shape="rect" id="node2" href="$d8/d77/namespacemachine__learning.html#ae868ad43698a1d69ba46ea3827d7d2c3" title=" " alt="" coords="239,150,415,191"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/exp.html#" title=" " alt="" coords="508,31,577,57"/>
<area shape="rect" id="node4" href="$d9/d66/group__machine__learning.html#gab53c14440b2b2dd3172c66afc5c2f63f" title=" " alt="" coords="497,81,589,108"/>
<area shape="rect" id="node4" href="$d9/d66/group__machine__learning.html#ga60f9186ccb682724a8792a2bf81e9b9e" title=" " alt="" coords="497,81,589,108"/>
<area shape="rect" id="node9" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/max.html#" title=" " alt="" coords="507,132,579,159"/>
<area shape="rect" id="node10" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/min.html#" title=" " alt="" coords="508,183,577,209"/>
<area shape="rect" id="node11" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/sqrt.html#" title=" " alt="" coords="508,233,577,260"/>
<area shape="rect" id="node12" href="$d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44" title=" " alt="" coords="463,284,623,311"/>
<area shape="rect" id="node12" href="$d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35" title=" " alt="" coords="463,284,623,311"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/iterator/begin.html#" title=" " alt="" coords="693,5,773,32"/>
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/iterator/distance.html#" title=" " alt="" coords="684,56,781,83"/>
<area shape="rect" id="node7" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/iterator/end.html#" title=" " alt="" coords="698,107,767,133"/>

View File

@@ -0,0 +1 @@
22caee3f77bad378f5f5b47e4d18f17e

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: machine_learning::kohonen_som_tracer Pages: 1 -->
<!--zoomable 237 -->
@@ -68,7 +68,7 @@ var sectionId = 'dynsection-4';
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d8/d77/namespacemachine__learning.html#ac4010fe3a52a74e8b5b1aaadfe38b46f" target="_top" xlink:title=" ">
<g id="a_node2"><a xlink:href="../../d8/d77/namespacemachine__learning.html#ae868ad43698a1d69ba46ea3827d7d2c3" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="175,-90 175,-120 307,-120 307,-90 175,-90"/>
<text text-anchor="start" x="183" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::update</text>
<text text-anchor="middle" x="241" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00">_weights</text>
@@ -99,7 +99,7 @@ var sectionId = 'dynsection-4';
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d9/d66/group__machine__learning.html#gab53c14440b2b2dd3172c66afc5c2f63f" target="_top" xlink:title=" ">
<g id="a_node4"><a xlink:href="../../d9/d66/group__machine__learning.html#ga60f9186ccb682724a8792a2bf81e9b9e" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="368.5,-152.5 368.5,-171.5 437.5,-171.5 437.5,-152.5 368.5,-152.5"/>
<text text-anchor="middle" x="403" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00">get_min_2d</text>
</a>
@@ -159,7 +159,7 @@ var sectionId = 'dynsection-4';
<!-- Node12 -->
<g id="node12" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44" target="_top" xlink:title=" ">
<g id="a_node12"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="343,-0.5 343,-19.5 463,-19.5 463,-0.5 343,-0.5"/>
<text text-anchor="middle" x="403" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::sum</text>
</a>
@@ -265,7 +265,7 @@ var sectionId = 'dynsection-4';
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="namespacemachine__learning_acc6a28f40512dbda75ab1a3969248898_cgraph_org.svg" target="_base">
<a xlink:href="namespacemachine__learning_a042f435bca0839e721fc1574a61e8da3_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: machine_learning::kohonen_som_tracer Pages: 1 -->
<svg width="600pt" height="237pt"
@@ -22,7 +22,7 @@
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d8/d77/namespacemachine__learning.html#ac4010fe3a52a74e8b5b1aaadfe38b46f" target="_top" xlink:title=" ">
<g id="a_node2"><a xlink:href="../../d8/d77/namespacemachine__learning.html#ae868ad43698a1d69ba46ea3827d7d2c3" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="175,-90 175,-120 307,-120 307,-90 175,-90"/>
<text text-anchor="start" x="183" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::update</text>
<text text-anchor="middle" x="241" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00">_weights</text>
@@ -53,7 +53,7 @@
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d9/d66/group__machine__learning.html#gab53c14440b2b2dd3172c66afc5c2f63f" target="_top" xlink:title=" ">
<g id="a_node4"><a xlink:href="../../d9/d66/group__machine__learning.html#ga60f9186ccb682724a8792a2bf81e9b9e" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="368.5,-152.5 368.5,-171.5 437.5,-171.5 437.5,-152.5 368.5,-152.5"/>
<text text-anchor="middle" x="403" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00">get_min_2d</text>
</a>
@@ -113,7 +113,7 @@
<!-- Node12 -->
<g id="node12" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44" target="_top" xlink:title=" ">
<g id="a_node12"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="343,-0.5 343,-19.5 463,-19.5 463,-0.5 343,-0.5"/>
<text text-anchor="middle" x="403" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::sum</text>
</a>

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

@@ -1 +0,0 @@
57f3ee1a0cd8c2cc84cbfeedc9a150be

View File

@@ -2,6 +2,6 @@
<area shape="rect" id="node1" title=" " alt="" coords="5,85,195,112"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="285,5,357,32"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/program/exit.html#" title=" " alt="" coords="287,56,355,83"/>
<area shape="rect" id="node4" href="$d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd" title=" " alt="" coords="244,107,397,149"/>
<area shape="rect" id="node4" href="$d8/d77/namespacemachine__learning.html#aa4bbf61e65f8cd297255fa94b983d078" title=" " alt="" coords="244,107,397,149"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="243,173,399,200"/>
</map>

View File

@@ -0,0 +1 @@
97129c543f42b7b441cd9d7a3891457d

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: machine_learning::operator&#45; Pages: 1 -->
<svg width="303pt" height="154pt"
@@ -51,7 +51,7 @@
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd" target="_top" xlink:title=" ">
<g id="a_node4"><a xlink:href="../../d8/d77/namespacemachine__learning.html#aa4bbf61e65f8cd297255fa94b983d078" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="179,-39 179,-69 294,-69 294,-39 179,-39"/>
<text text-anchor="start" x="187" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::get</text>
<text text-anchor="middle" x="236.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">_shape</text>

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -1 +0,0 @@
2a8a092648ced0f2766f5f5853fd7ad1

View File

@@ -2,6 +2,6 @@
<area shape="rect" id="node1" title=" " alt="" coords="5,85,197,112"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="287,5,359,32"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/program/exit.html#" title=" " alt="" coords="289,56,357,83"/>
<area shape="rect" id="node4" href="$d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd" title=" " alt="" coords="247,107,400,149"/>
<area shape="rect" id="node4" href="$d8/d77/namespacemachine__learning.html#aa4bbf61e65f8cd297255fa94b983d078" title=" " alt="" coords="247,107,400,149"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="245,173,401,200"/>
</map>

View File

@@ -0,0 +1 @@
291830adfde4cd6360996e964dcbc2ee

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: machine_learning::operator+ Pages: 1 -->
<svg width="305pt" height="154pt"
@@ -51,7 +51,7 @@
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd" target="_top" xlink:title=" ">
<g id="a_node4"><a xlink:href="../../d8/d77/namespacemachine__learning.html#aa4bbf61e65f8cd297255fa94b983d078" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="181,-39 181,-69 296,-69 296,-39 181,-39"/>
<text text-anchor="start" x="189" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::get</text>
<text text-anchor="middle" x="238.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">_shape</text>

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -5,6 +5,6 @@
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/iterator/end.html#" title=" " alt="" coords="274,107,343,133"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="273,157,345,184"/>
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/program/exit.html#" title=" " alt="" coords="275,208,343,235"/>
<area shape="rect" id="node7" href="$d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd" title=" " alt="" coords="232,259,385,301"/>
<area shape="rect" id="node7" href="$d8/d77/namespacemachine__learning.html#aa4bbf61e65f8cd297255fa94b983d078" title=" " alt="" coords="232,259,385,301"/>
<area shape="rect" id="node8" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/max_element.html#" title=" " alt="" coords="245,325,372,352"/>
</map>

View File

@@ -0,0 +1 @@
4f47383d14ed803f6ac3fdb381f7c2f6

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: machine_learning::argmax Pages: 1 -->
<svg width="293pt" height="268pt"
@@ -96,7 +96,7 @@
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd" target="_top" xlink:title=" ">
<g id="a_node7"><a xlink:href="../../d8/d77/namespacemachine__learning.html#aa4bbf61e65f8cd297255fa94b983d078" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="170,-39 170,-69 285,-69 285,-39 170,-39"/>
<text text-anchor="start" x="178" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::get</text>
<text text-anchor="middle" x="227.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">_shape</text>

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Some files were not shown because too many files have changed in this diff Show More