Files
C-Plus-Plus/d8/d76/morse__code_8cpp.html
2024-08-30 17:22:07 +00:00

569 lines
58 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="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"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="../../clipboard.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
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>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<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>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @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:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('d8/d76/morse__code_8cpp.html','../../'); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<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><!--header-->
<div class="contents">
<p>Implementation of [Morse Code] (<a href="https://en.wikipedia.org/wiki/Morse_code">https://en.wikipedia.org/wiki/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 />
<code>#include &lt;string&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for morse_code.cpp:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../db/d93/morse__code_8cpp__incl.svg" width="331" height="111"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:"><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">Algorithms for encryption and decryption. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><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 [Morse Code] (<a href="https://en.wikipedia.org/wiki/Morse_code">https://en.wikipedia.org/wiki/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 id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab31773fd11555d21f70d6914138d9535" id="r_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="#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>
<tr class="memitem:ac9f294b0dec08a4a11d477a32f9bd829" id="r_ac9f294b0dec08a4a11d477a32f9bd829"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac9f294b0dec08a4a11d477a32f9bd829">ciphers::morse::morse_to_char</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;s)</td></tr>
<tr class="separator:ac9f294b0dec08a4a11d477a32f9bd829"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0242e458904de8a242fcdaffe9e3ba1a" id="r_a0242e458904de8a242fcdaffe9e3ba1a"><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="#a0242e458904de8a242fcdaffe9e3ba1a">ciphers::morse::encrypt</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;text)</td></tr>
<tr class="separator:a0242e458904de8a242fcdaffe9e3ba1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15c66ec8cf4cef0a35c50cbab86965dc" id="r_a15c66ec8cf4cef0a35c50cbab86965dc"><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="#a15c66ec8cf4cef0a35c50cbab86965dc">ciphers::morse::decrypt</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;text)</td></tr>
<tr class="separator:a15c66ec8cf4cef0a35c50cbab86965dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8dca7b867074164d5f45b0f3851269d" id="r_aa8dca7b867074164d5f45b0f3851269d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa8dca7b867074164d5f45b0f3851269d">test</a> ()</td></tr>
<tr class="memdesc:aa8dca7b867074164d5f45b0f3851269d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to test above algorithm. <br /></td></tr>
<tr class="separator:aa8dca7b867074164d5f45b0f3851269d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4" id="r_ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
<tr class="memdesc:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main function. <br /></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 [Morse Code] (<a href="https://en.wikipedia.org/wiki/Morse_code">https://en.wikipedia.org/wiki/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" name="ab31773fd11555d21f70d6914138d9535"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab31773fd11555d21f70d6914138d9535">&#9670;&#160;</a></span>char_to_morse()</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/string/basic_string.html">std::string</a> ciphers::morse::char_to_morse </td>
<td>(</td>
<td class="paramtype">const char &amp;</td> <td class="paramname"><span class="paramname"><em>c</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<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"><span class="lineno"> 33</span> {</div>
<div class="line"><span class="lineno"> 34</span> <span class="comment">// return corresponding morse code</span></div>
<div class="line"><span class="lineno"> 35</span> <span class="keywordflow">switch</span> (c) {</div>
<div class="line"><span class="lineno"> 36</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;a&#39;</span>:</div>
<div class="line"><span class="lineno"> 37</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.-&quot;</span>;</div>
<div class="line"><span class="lineno"> 38</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;b&#39;</span>:</div>
<div class="line"><span class="lineno"> 39</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-...&quot;</span>;</div>
<div class="line"><span class="lineno"> 40</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;c&#39;</span>:</div>
<div class="line"><span class="lineno"> 41</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-.-.&quot;</span>;</div>
<div class="line"><span class="lineno"> 42</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;d&#39;</span>:</div>
<div class="line"><span class="lineno"> 43</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-..&quot;</span>;</div>
<div class="line"><span class="lineno"> 44</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;e&#39;</span>:</div>
<div class="line"><span class="lineno"> 45</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.&quot;</span>;</div>
<div class="line"><span class="lineno"> 46</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;f&#39;</span>:</div>
<div class="line"><span class="lineno"> 47</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;..-.&quot;</span>;</div>
<div class="line"><span class="lineno"> 48</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;g&#39;</span>:</div>
<div class="line"><span class="lineno"> 49</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;--.&quot;</span>;</div>
<div class="line"><span class="lineno"> 50</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;h&#39;</span>:</div>
<div class="line"><span class="lineno"> 51</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;....&quot;</span>;</div>
<div class="line"><span class="lineno"> 52</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;i&#39;</span>:</div>
<div class="line"><span class="lineno"> 53</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;..&quot;</span>;</div>
<div class="line"><span class="lineno"> 54</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;j&#39;</span>:</div>
<div class="line"><span class="lineno"> 55</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.---&quot;</span>;</div>
<div class="line"><span class="lineno"> 56</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;k&#39;</span>:</div>
<div class="line"><span class="lineno"> 57</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-.-&quot;</span>;</div>
<div class="line"><span class="lineno"> 58</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;l&#39;</span>:</div>
<div class="line"><span class="lineno"> 59</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.-..&quot;</span>;</div>
<div class="line"><span class="lineno"> 60</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;m&#39;</span>:</div>
<div class="line"><span class="lineno"> 61</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;--&quot;</span>;</div>
<div class="line"><span class="lineno"> 62</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;n&#39;</span>:</div>
<div class="line"><span class="lineno"> 63</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-.&quot;</span>;</div>
<div class="line"><span class="lineno"> 64</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;o&#39;</span>:</div>
<div class="line"><span class="lineno"> 65</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;---&quot;</span>;</div>
<div class="line"><span class="lineno"> 66</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;p&#39;</span>:</div>
<div class="line"><span class="lineno"> 67</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.--.&quot;</span>;</div>
<div class="line"><span class="lineno"> 68</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;q&#39;</span>:</div>
<div class="line"><span class="lineno"> 69</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;--.-&quot;</span>;</div>
<div class="line"><span class="lineno"> 70</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;r&#39;</span>:</div>
<div class="line"><span class="lineno"> 71</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.-.&quot;</span>;</div>
<div class="line"><span class="lineno"> 72</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;s&#39;</span>:</div>
<div class="line"><span class="lineno"> 73</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;...&quot;</span>;</div>
<div class="line"><span class="lineno"> 74</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;t&#39;</span>:</div>
<div class="line"><span class="lineno"> 75</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-&quot;</span>;</div>
<div class="line"><span class="lineno"> 76</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;u&#39;</span>:</div>
<div class="line"><span class="lineno"> 77</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;..-&quot;</span>;</div>
<div class="line"><span class="lineno"> 78</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;v&#39;</span>:</div>
<div class="line"><span class="lineno"> 79</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;...-&quot;</span>;</div>
<div class="line"><span class="lineno"> 80</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;w&#39;</span>:</div>
<div class="line"><span class="lineno"> 81</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.--&quot;</span>;</div>
<div class="line"><span class="lineno"> 82</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;x&#39;</span>:</div>
<div class="line"><span class="lineno"> 83</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-..-&quot;</span>;</div>
<div class="line"><span class="lineno"> 84</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;y&#39;</span>:</div>
<div class="line"><span class="lineno"> 85</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-.--&quot;</span>;</div>
<div class="line"><span class="lineno"> 86</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;z&#39;</span>:</div>
<div class="line"><span class="lineno"> 87</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;--..&quot;</span>;</div>
<div class="line"><span class="lineno"> 88</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;1&#39;</span>:</div>
<div class="line"><span class="lineno"> 89</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.----&quot;</span>;</div>
<div class="line"><span class="lineno"> 90</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;2&#39;</span>:</div>
<div class="line"><span class="lineno"> 91</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;..---&quot;</span>;</div>
<div class="line"><span class="lineno"> 92</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;3&#39;</span>:</div>
<div class="line"><span class="lineno"> 93</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;...--&quot;</span>;</div>
<div class="line"><span class="lineno"> 94</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;4&#39;</span>:</div>
<div class="line"><span class="lineno"> 95</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;....-&quot;</span>;</div>
<div class="line"><span class="lineno"> 96</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;5&#39;</span>:</div>
<div class="line"><span class="lineno"> 97</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;.....&quot;</span>;</div>
<div class="line"><span class="lineno"> 98</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;6&#39;</span>:</div>
<div class="line"><span class="lineno"> 99</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-....&quot;</span>;</div>
<div class="line"><span class="lineno"> 100</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;7&#39;</span>:</div>
<div class="line"><span class="lineno"> 101</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;--...&quot;</span>;</div>
<div class="line"><span class="lineno"> 102</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;8&#39;</span>:</div>
<div class="line"><span class="lineno"> 103</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;---..&quot;</span>;</div>
<div class="line"><span class="lineno"> 104</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;9&#39;</span>:</div>
<div class="line"><span class="lineno"> 105</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;----.&quot;</span>;</div>
<div class="line"><span class="lineno"> 106</span> <span class="keywordflow">case</span> <span class="charliteral">&#39;0&#39;</span>:</div>
<div class="line"><span class="lineno"> 107</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;-----&quot;</span>;</div>
<div class="line"><span class="lineno"> 108</span> <span class="keywordflow">default</span>:</div>
<div class="line"><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"><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"><span class="lineno"> 111</span> }</div>
<div class="line"><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>
</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/d76/morse__code_8cpp_ab31773fd11555d21f70d6914138d9535_cgraph.svg" width="271" height="92"><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="a15c66ec8cf4cef0a35c50cbab86965dc" name="a15c66ec8cf4cef0a35c50cbab86965dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15c66ec8cf4cef0a35c50cbab86965dc">&#9670;&#160;</a></span>decrypt()</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/string/basic_string.html">std::string</a> ciphers::morse::decrypt </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;</td> <td class="paramname"><span class="paramname"><em>text</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<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"><span class="lineno"> 216</span> {</div>
<div class="line"><span class="lineno"> 217</span> <span class="comment">// Going through each character of text and converting it</span></div>
<div class="line"><span class="lineno"> 218</span> <span class="comment">// back to normal representation.</span></div>
<div class="line"><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"><span class="lineno"> 220</span> <span class="comment">// Spliting string (with delimiter = &quot; &quot;) and storing it</span></div>
<div class="line"><span class="lineno"> 221</span> <span class="comment">// in vector</span></div>
<div class="line"><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"><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"><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"><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"><span class="lineno"> 226</span> pos_start = pos_end + delim_len;</div>
<div class="line"><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"><span class="lineno"> 228</span> }</div>
<div class="line"><span class="lineno"> 229</span> </div>
<div class="line"><span class="lineno"> 230</span> <span class="comment">// Traversing through each morse code string</span></div>
<div class="line"><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"><span class="lineno"> 232</span> <span class="comment">// Add corresponding character</span></div>
<div class="line"><span class="lineno"> 233</span> decrypted_text += <a class="code hl_function" href="#ac9f294b0dec08a4a11d477a32f9bd829">ciphers::morse::morse_to_char</a>(s);</div>
<div class="line"><span class="lineno"> 234</span> }</div>
<div class="line"><span class="lineno"> 235</span> </div>
<div class="line"><span class="lineno"> 236</span> <span class="keywordflow">return</span> decrypted_text; <span class="comment">// Returning decrypted text</span></div>
<div class="line"><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="#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>
<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_t_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div></div>
<div class="ttc" id="asubstr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/substr.html">std::string::substr</a></div><div class="ttdeci">T substr(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 class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d76/morse__code_8cpp_a15c66ec8cf4cef0a35c50cbab86965dc_cgraph.svg" width="491" height="224"><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="a0242e458904de8a242fcdaffe9e3ba1a" name="a0242e458904de8a242fcdaffe9e3ba1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0242e458904de8a242fcdaffe9e3ba1a">&#9670;&#160;</a></span>encrypt()</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/string/basic_string.html">std::string</a> ciphers::morse::encrypt </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;</td> <td class="paramname"><span class="paramname"><em>text</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<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"><span class="lineno"> 202</span> {</div>
<div class="line"><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"><span class="lineno"> 204</span> <span class="comment">// Going through each character of text and converting it</span></div>
<div class="line"><span class="lineno"> 205</span> <span class="comment">// to morse representation</span></div>
<div class="line"><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"><span class="lineno"> 207</span> encrypted_text += <a class="code hl_function" href="#ab31773fd11555d21f70d6914138d9535">ciphers::morse::char_to_morse</a>(c) + <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><span class="lineno"> 208</span> }</div>
<div class="line"><span class="lineno"> 209</span> <span class="keywordflow">return</span> encrypted_text; <span class="comment">// Returning encrypted text</span></div>
<div class="line"><span class="lineno"> 210</span>}</div>
<div class="ttc" id="amorse__code_8cpp_html_ab31773fd11555d21f70d6914138d9535"><div class="ttname"><a href="#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>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d76/morse__code_8cpp_a0242e458904de8a242fcdaffe9e3ba1a_cgraph.svg" width="478" height="92"><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="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&#160;</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</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Main function. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on exit </dd></dl>
<div class="fragment"><div class="line"><span class="lineno"> 268</span> {</div>
<div class="line"><span class="lineno"> 269</span> <span class="comment">// Testing</span></div>
<div class="line"><span class="lineno"> 270</span> <a class="code hl_function" href="#aa8dca7b867074164d5f45b0f3851269d">test</a>();</div>
<div class="line"><span class="lineno"> 271</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><span class="lineno"> 272</span>}</div>
<div class="ttc" id="amorse__code_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="#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>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d76/morse__code_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="271" height="36"><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="ac9f294b0dec08a4a11d477a32f9bd829" name="ac9f294b0dec08a4a11d477a32f9bd829"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9f294b0dec08a4a11d477a32f9bd829">&#9670;&#160;</a></span>morse_to_char()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char ciphers::morse::morse_to_char </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;</td> <td class="paramname"><span class="paramname"><em>s</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<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"><span class="lineno"> 118</span> {</div>
<div class="line"><span class="lineno"> 119</span> <span class="comment">// return corresponding character</span></div>
<div class="line"><span class="lineno"> 120</span> <span class="keywordflow">if</span> (s == <span class="stringliteral">&quot;.-&quot;</span>) {</div>
<div class="line"><span class="lineno"> 121</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;a&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 123</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;b&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 125</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;c&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 127</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;d&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 129</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;e&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 131</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;f&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 133</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;g&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 135</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;h&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 137</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;i&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 139</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;j&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 141</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;k&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 143</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;l&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 145</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;m&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 147</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;n&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 149</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;o&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 151</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;p&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 153</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;q&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 155</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;r&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 157</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;s&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 159</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;t&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 161</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;u&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 163</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;v&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 165</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;w&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 167</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;x&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 169</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;y&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 171</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;z&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 173</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;1&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 175</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;2&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 177</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;3&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 179</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;4&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 181</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;5&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 183</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;6&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 185</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;7&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 187</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;8&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 189</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;9&#39;</span>;</div>
<div class="line"><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"><span class="lineno"> 191</span> <span class="keywordflow">return</span> <span class="charliteral">&#39;0&#39;</span>;</div>
<div class="line"><span class="lineno"> 192</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><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"><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"><span class="lineno"> 195</span> }</div>
<div class="line"><span class="lineno"> 196</span>}</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/d76/morse__code_8cpp_ac9f294b0dec08a4a11d477a32f9bd829_cgraph.svg" width="282" height="92"><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="aa8dca7b867074164d5f45b0f3851269d" name="aa8dca7b867074164d5f45b0f3851269d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8dca7b867074164d5f45b0f3851269d">&#9670;&#160;</a></span>test()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void test </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Function to test above algorithm. </p>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
<div class="fragment"><div class="line"><span class="lineno"> 245</span> {</div>
<div class="line"><span class="lineno"> 246</span> <span class="comment">// Test 1</span></div>
<div class="line"><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"><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="#a0242e458904de8a242fcdaffe9e3ba1a">ciphers::morse::encrypt</a>(text1);</div>
<div class="line"><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="#a15c66ec8cf4cef0a35c50cbab86965dc">ciphers::morse::decrypt</a>(encrypted1);</div>
<div class="line"><span class="lineno"> 250</span> assert(text1 == decrypted1);</div>
<div class="line"><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"><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"><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"><span class="lineno"> 254</span> <span class="comment">// Test 2</span></div>
<div class="line"><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"><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="#a0242e458904de8a242fcdaffe9e3ba1a">ciphers::morse::encrypt</a>(text2);</div>
<div class="line"><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="#a15c66ec8cf4cef0a35c50cbab86965dc">ciphers::morse::decrypt</a>(encrypted2);</div>
<div class="line"><span class="lineno"> 258</span> assert(text2 == decrypted2);</div>
<div class="line"><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"><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"><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"><span class="lineno"> 262</span>}</div>
<div class="ttc" id="amorse__code_8cpp_html_a0242e458904de8a242fcdaffe9e3ba1a"><div class="ttname"><a href="#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="#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">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d8/d76/morse__code_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg" width="174" height="36"><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><!-- 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_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.12.0 </li>
</ul>
</div>
</body>
</html>