namespacedoor.html 71 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.17"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>Bugz Door Project: door Namespace Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="search/searchdata.js"></script>
  14. <script type="text/javascript" src="search/search.js"></script>
  15. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  19. <div id="titlearea">
  20. <table cellspacing="0" cellpadding="0">
  21. <tbody>
  22. <tr style="height: 56px;">
  23. <td id="projectalign" style="padding-left: 0.5em;">
  24. <div id="projectname">Bugz Door Project
  25. </div>
  26. </td>
  27. </tr>
  28. </tbody>
  29. </table>
  30. </div>
  31. <!-- end header part -->
  32. <!-- Generated by Doxygen 1.8.17 -->
  33. <script type="text/javascript">
  34. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  35. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  36. /* @license-end */
  37. </script>
  38. <script type="text/javascript" src="menudata.js"></script>
  39. <script type="text/javascript" src="menu.js"></script>
  40. <script type="text/javascript">
  41. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  42. $(function() {
  43. initMenu('',true,false,'search.php','Search');
  44. $(document).ready(function() { init_search(); });
  45. });
  46. /* @license-end */</script>
  47. <div id="main-nav"></div>
  48. <!-- window showing the filter options -->
  49. <div id="MSearchSelectWindow"
  50. onmouseover="return searchBox.OnSearchSelectShow()"
  51. onmouseout="return searchBox.OnSearchSelectHide()"
  52. onkeydown="return searchBox.OnSearchSelectKey(event)">
  53. </div>
  54. <!-- iframe showing the search results (closed by default) -->
  55. <div id="MSearchResultsWindow">
  56. <iframe src="javascript:void(0)" frameborder="0"
  57. name="MSearchResults" id="MSearchResults">
  58. </iframe>
  59. </div>
  60. </div><!-- top -->
  61. <div class="header">
  62. <div class="summary">
  63. <a href="#nested-classes">Classes</a> &#124;
  64. <a href="#typedef-members">Typedefs</a> &#124;
  65. <a href="#enum-members">Enumerations</a> &#124;
  66. <a href="#func-members">Functions</a> &#124;
  67. <a href="#var-members">Variables</a> </div>
  68. <div class="headertitle">
  69. <div class="title">door Namespace Reference</div> </div>
  70. </div><!--header-->
  71. <div class="contents">
  72. <p>The BBS door project. This is an attempt at writing a C++ BBS door toolkit.
  73. <a href="namespacedoor.html#details">More...</a></p>
  74. <table class="memberdecls">
  75. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
  76. Classes</h2></td></tr>
  77. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a></td></tr>
  78. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Foreground, Background and Attributes. <a href="classdoor_1_1ANSIColor.html#details">More...</a><br /></td></tr>
  79. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  80. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdoor_1_1box__styles.html">box_styles</a></td></tr>
  81. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  82. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Clrscr.html">Clrscr</a></td></tr>
  83. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the screen. <a href="classdoor_1_1Clrscr.html#details">More...</a><br /></td></tr>
  84. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  85. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ColorOutput.html">ColorOutput</a></td></tr>
  86. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This holds an <a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a> and text position + length. <a href="classdoor_1_1ColorOutput.html#details">More...</a><br /></td></tr>
  87. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  88. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html">Door</a></td></tr>
  89. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  90. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Goto.html">Goto</a></td></tr>
  91. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANSI <a class="el" href="classdoor_1_1Goto.html" title="ANSI Goto X, Y position.">Goto</a> X, Y position. <a href="classdoor_1_1Goto.html#details">More...</a><br /></td></tr>
  92. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  93. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1IConv.html">IConv</a></td></tr>
  94. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts from one encoding to another. Uses iconv (international conversion) API. <a href="classdoor_1_1IConv.html#details">More...</a><br /></td></tr>
  95. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  96. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Line.html">Line</a></td></tr>
  97. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Text and <a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a>. <a href="classdoor_1_1Line.html#details">More...</a><br /></td></tr>
  98. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  99. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Menu.html">Menu</a></td></tr>
  100. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  101. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1NewLine.html">NewLine</a></td></tr>
  102. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CR+LF. <a href="classdoor_1_1NewLine.html#details">More...</a><br /></td></tr>
  103. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Panel.html">Panel</a></td></tr>
  105. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  106. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Render.html">Render</a></td></tr>
  107. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rendering a string with <a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a>. <a href="classdoor_1_1Render.html#details">More...</a><br /></td></tr>
  108. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  109. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Screen.html">Screen</a></td></tr>
  110. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  111. </table><table class="memberdecls">
  112. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
  113. Typedefs</h2></td></tr>
  114. <tr class="memitem:ad9c2405adaa0b5168bc53059b3a978c1"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; <a class="el" href="classdoor_1_1Render.html">Render</a>(const std::string &amp;)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a></td></tr>
  115. <tr class="memdesc:ad9c2405adaa0b5168bc53059b3a978c1"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classdoor_1_1Render.html" title="Rendering a string with ANSIColor.">Render</a> output function. <a href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">More...</a><br /></td></tr>
  116. <tr class="separator:ad9c2405adaa0b5168bc53059b3a978c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  117. <tr class="memitem:adb2697f83f8ce701366e05ed72c97d6e"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; std::string(void)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">updateFunction</a></td></tr>
  118. <tr class="separator:adb2697f83f8ce701366e05ed72c97d6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. </table><table class="memberdecls">
  120. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
  121. Enumerations</h2></td></tr>
  122. <tr class="memitem:abafe0a9e79349883af3ab2a7fb544366"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> : std::int8_t { <br />
  123. &#160;&#160;<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a08d0012388564e95c3b4a7407cf04965">COLOR::BLACK</a>,
  124. <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366aa2d9547b5d3dd9f05984475f7c926da0">COLOR::RED</a>,
  125. <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a9de0e5dd94e861317e74964bed179fa0">COLOR::GREEN</a>,
  126. <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a493cacf6f6a2ae4798b319b8b9ba9488">COLOR::BROWN</a>,
  127. <br />
  128. &#160;&#160;<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e">COLOR::YELLOW</a> = 3,
  129. <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f">COLOR::BLUE</a>,
  130. <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ac634ffea7195608364671ac52ee59a61">COLOR::MAGENTA</a>,
  131. <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a344dd8cd533280795b9db82ef0c92749">COLOR::CYAN</a>,
  132. <br />
  133. &#160;&#160;<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d">COLOR::WHITE</a>
  134. <br />
  135. }</td></tr>
  136. <tr class="memdesc:abafe0a9e79349883af3ab2a7fb544366"><td class="mdescLeft">&#160;</td><td class="mdescRight">The colors available under ANSI-BBS. <a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">More...</a><br /></td></tr>
  137. <tr class="separator:abafe0a9e79349883af3ab2a7fb544366"><td class="memSeparator" colspan="2">&#160;</td></tr>
  138. <tr class="memitem:add24f9a933f9a6e613de6d56854e5c52"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> : std::int8_t { <br />
  139. &#160;&#160;<a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ab5859d8721cfdc0312b2838b9c985bc1">ATTR::RESET</a>,
  140. <a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19">ATTR::BOLD</a>,
  141. <a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52aca78b38b9fe41e51b331abe6999a1040">ATTR::BRIGHT</a> = 1,
  142. <a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ad810ed8e97088a3c987f179dfb88cefc">ATTR::BLINK</a> = 5,
  143. <br />
  144. &#160;&#160;<a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a1955bdc302911f376074eb9b02e56639">ATTR::INVERSE</a> = 7
  145. <br />
  146. }</td></tr>
  147. <tr class="memdesc:add24f9a933f9a6e613de6d56854e5c52"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANSI-BBS text attributes. <a href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">More...</a><br /></td></tr>
  148. <tr class="separator:add24f9a933f9a6e613de6d56854e5c52"><td class="memSeparator" colspan="2">&#160;</td></tr>
  149. <tr class="memitem:af025775fb0b68d66dc42ee3299444fb7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#af025775fb0b68d66dc42ee3299444fb7">Justify</a> { <b>NONE</b>,
  150. <b>LEFT</b>,
  151. <b>RIGHT</b>,
  152. <b>CENTER</b>
  153. }</td></tr>
  154. <tr class="separator:af025775fb0b68d66dc42ee3299444fb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  155. <tr class="memitem:a08afbc9eecb6efd7d4c741023b11db91"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">BorderStyle</a> { <br />
  156. &#160;&#160;<a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693">BorderStyle::NONE</a>,
  157. <a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a0679273e201afd0bf57af3961f8a23b8">BorderStyle::SINGLE</a>,
  158. <a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91afd3e4ece78a7d422280d5ed379482229">BorderStyle::DOUBLE</a>,
  159. <a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a6dfbebc428d74ec8a1552722ceccda3a">BorderStyle::SINGLE_DOUBLE</a>,
  160. <br />
  161. &#160;&#160;<a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91acc939b66711e314a026eba1532bec367">BorderStyle::DOUBLE_SINGLE</a>,
  162. <a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a56f031dd03707d695f76c63ddbf40bd7">BorderStyle::BLANK</a>
  163. <br />
  164. }</td></tr>
  165. <tr class="separator:a08afbc9eecb6efd7d4c741023b11db91"><td class="memSeparator" colspan="2">&#160;</td></tr>
  166. </table><table class="memberdecls">
  167. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
  168. Functions</h2></td></tr>
  169. <tr class="memitem:ae6c40e2e917f64a9c42d977a88fe18fa"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ae6c40e2e917f64a9c42d977a88fe18fa">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a> &amp;c)</td></tr>
  170. <tr class="separator:ae6c40e2e917f64a9c42d977a88fe18fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  171. <tr class="memitem:afa94e91868d469077e4d3b400dedfd6c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#afa94e91868d469077e4d3b400dedfd6c">to_lower</a> (std::string &amp;text)</td></tr>
  172. <tr class="memdesc:afa94e91868d469077e4d3b400dedfd6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert string to lowercase <a href="namespacedoor.html#afa94e91868d469077e4d3b400dedfd6c">More...</a><br /></td></tr>
  173. <tr class="separator:afa94e91868d469077e4d3b400dedfd6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  174. <tr class="memitem:acba445fc4d33e1b0c1ff2b648cc2899d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#acba445fc4d33e1b0c1ff2b648cc2899d">replace</a> (std::string &amp;str, const std::string &amp;from, const std::string &amp;to)</td></tr>
  175. <tr class="memdesc:acba445fc4d33e1b0c1ff2b648cc2899d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces one string with another once. <a href="namespacedoor.html#acba445fc4d33e1b0c1ff2b648cc2899d">More...</a><br /></td></tr>
  176. <tr class="separator:acba445fc4d33e1b0c1ff2b648cc2899d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  177. <tr class="memitem:a5cc0209e9203231d1bdb1e6b7f0876c3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a5cc0209e9203231d1bdb1e6b7f0876c3">replace</a> (std::string &amp;str, const char *from, const char *to)</td></tr>
  178. <tr class="memdesc:a5cc0209e9203231d1bdb1e6b7f0876c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace all instances of from with to. <a href="namespacedoor.html#a5cc0209e9203231d1bdb1e6b7f0876c3">More...</a><br /></td></tr>
  179. <tr class="separator:a5cc0209e9203231d1bdb1e6b7f0876c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  180. <tr class="memitem:a4fc2f3f7f1b3908cb71bd1d275594fe9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a4fc2f3f7f1b3908cb71bd1d275594fe9">sig_handler</a> (int signal)</td></tr>
  181. <tr class="memdesc:a4fc2f3f7f1b3908cb71bd1d275594fe9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal handler for detecting hangup/broken pipe. <a href="namespacedoor.html#a4fc2f3f7f1b3908cb71bd1d275594fe9">More...</a><br /></td></tr>
  182. <tr class="separator:a4fc2f3f7f1b3908cb71bd1d275594fe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  183. <tr class="memitem:a5efa4fb96eacd6b90e5cbb0bd985f3fc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a5efa4fb96eacd6b90e5cbb0bd985f3fc">cp437toUnicode</a> (std::string input, std::string &amp;out)</td></tr>
  184. <tr class="memdesc:a5efa4fb96eacd6b90e5cbb0bd985f3fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from CP437 to unicode. <a href="namespacedoor.html#a5efa4fb96eacd6b90e5cbb0bd985f3fc">More...</a><br /></td></tr>
  185. <tr class="separator:a5efa4fb96eacd6b90e5cbb0bd985f3fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  186. <tr class="memitem:a7e94df0d0af14da619835aa90cfa8f2a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a7e94df0d0af14da619835aa90cfa8f2a">cp437toUnicode</a> (const char *input, std::string &amp;out)</td></tr>
  187. <tr class="memdesc:a7e94df0d0af14da619835aa90cfa8f2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert from CP437 to unicode. <a href="namespacedoor.html#a7e94df0d0af14da619835aa90cfa8f2a">More...</a><br /></td></tr>
  188. <tr class="separator:a7e94df0d0af14da619835aa90cfa8f2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  189. <tr class="memitem:ad5d6277de5e8274cec970a4633d713b1"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ad5d6277de5e8274cec970a4633d713b1">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classdoor_1_1Clrscr.html">Clrscr</a> &amp;clr)</td></tr>
  190. <tr class="separator:ad5d6277de5e8274cec970a4633d713b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  191. <tr class="memitem:aa6b909ef984a2aabc5b9a570884dff94"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#aa6b909ef984a2aabc5b9a570884dff94">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classdoor_1_1NewLine.html">NewLine</a> &amp;<a class="el" href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">nl</a>)</td></tr>
  192. <tr class="separator:aa6b909ef984a2aabc5b9a570884dff94"><td class="memSeparator" colspan="2">&#160;</td></tr>
  193. <tr class="memitem:aae6ca4805185baa51dcc661a69fa801b"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#aae6ca4805185baa51dcc661a69fa801b">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classdoor_1_1Goto.html">Goto</a> &amp;g)</td></tr>
  194. <tr class="separator:aae6ca4805185baa51dcc661a69fa801b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  195. <tr class="memitem:af3c1c222a45143cfa4e780cfb2e45243"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#af3c1c222a45143cfa4e780cfb2e45243">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classdoor_1_1Line.html">Line</a> &amp;l)</td></tr>
  196. <tr class="separator:af3c1c222a45143cfa4e780cfb2e45243"><td class="memSeparator" colspan="2">&#160;</td></tr>
  197. <tr class="memitem:a10848399ef2da2947ceb98b7707a688f"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a10848399ef2da2947ceb98b7707a688f">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classdoor_1_1Panel.html">Panel</a> &amp;p)</td></tr>
  198. <tr class="memdesc:a10848399ef2da2947ceb98b7707a688f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output panel to stream. <a href="namespacedoor.html#a10848399ef2da2947ceb98b7707a688f">More...</a><br /></td></tr>
  199. <tr class="separator:a10848399ef2da2947ceb98b7707a688f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  200. <tr class="memitem:a5ca5f798bc38b4e5dc1e482ace47b7df"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a5ca5f798bc38b4e5dc1e482ace47b7df">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classdoor_1_1Screen.html">Screen</a> &amp;s)</td></tr>
  201. <tr class="memdesc:a5ca5f798bc38b4e5dc1e482ace47b7df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs screen to stream. <a href="namespacedoor.html#a5ca5f798bc38b4e5dc1e482ace47b7df">More...</a><br /></td></tr>
  202. <tr class="separator:a5ca5f798bc38b4e5dc1e482ace47b7df"><td class="memSeparator" colspan="2">&#160;</td></tr>
  203. </table><table class="memberdecls">
  204. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
  205. Variables</h2></td></tr>
  206. <tr class="memitem:ae3a70989c43f6cb3522308af748b4481"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ae3a70989c43f6cb3522308af748b4481">reset</a> (<a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ab5859d8721cfdc0312b2838b9c985bc1">ATTR::RESET</a>)</td></tr>
  207. <tr class="memdesc:ae3a70989c43f6cb3522308af748b4481"><td class="mdescLeft">&#160;</td><td class="mdescRight">reset colors to normal <a href="namespacedoor.html#ae3a70989c43f6cb3522308af748b4481">More...</a><br /></td></tr>
  208. <tr class="separator:ae3a70989c43f6cb3522308af748b4481"><td class="memSeparator" colspan="2">&#160;</td></tr>
  209. <tr class="memitem:a64600b79b9b73f4705859ce4efb1a2fd"><td class="memItemLeft" align="right" valign="top">std::list&lt; char &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a64600b79b9b73f4705859ce4efb1a2fd">pushback</a></td></tr>
  210. <tr class="memdesc:a64600b79b9b73f4705859ce4efb1a2fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">pushback buffer for keys. <a href="namespacedoor.html#a64600b79b9b73f4705859ce4efb1a2fd">More...</a><br /></td></tr>
  211. <tr class="separator:a64600b79b9b73f4705859ce4efb1a2fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  212. <tr class="memitem:a1626abff63f7a1b9dc696969c860283b"><td class="memItemLeft" align="right" valign="top"><a id="a1626abff63f7a1b9dc696969c860283b"></a>
  213. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a1626abff63f7a1b9dc696969c860283b">unicode</a> = false</td></tr>
  214. <tr class="memdesc:a1626abff63f7a1b9dc696969c860283b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Was unicode detected? <br /></td></tr>
  215. <tr class="separator:a1626abff63f7a1b9dc696969c860283b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  216. <tr class="memitem:aeade8b521c7f95755fdb166727c2b87c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#aeade8b521c7f95755fdb166727c2b87c">full_cp437</a> = false</td></tr>
  217. <tr class="memdesc:aeade8b521c7f95755fdb166727c2b87c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Was full CP437 detected? <a href="namespacedoor.html#aeade8b521c7f95755fdb166727c2b87c">More...</a><br /></td></tr>
  218. <tr class="separator:aeade8b521c7f95755fdb166727c2b87c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  219. <tr class="memitem:ac39a1dfdb8dec210d28133625f860bc1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ac39a1dfdb8dec210d28133625f860bc1">debug_capture</a> = false</td></tr>
  220. <tr class="memdesc:ac39a1dfdb8dec210d28133625f860bc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Capture the output for debugging. <a href="namespacedoor.html#ac39a1dfdb8dec210d28133625f860bc1">More...</a><br /></td></tr>
  221. <tr class="separator:ac39a1dfdb8dec210d28133625f860bc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  222. <tr class="memitem:ac70193caf66e4b9aed1529593727a6eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdoor_1_1Clrscr.html">Clrscr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ac70193caf66e4b9aed1529593727a6eb">cls</a></td></tr>
  223. <tr class="separator:ac70193caf66e4b9aed1529593727a6eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  224. <tr class="memitem:a36352ded72aee66b10e1bda6d3d8efb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdoor_1_1NewLine.html">NewLine</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">nl</a></td></tr>
  225. <tr class="separator:a36352ded72aee66b10e1bda6d3d8efb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  226. <tr class="memitem:aa6a7c86274470fd22e45676ba6eebb36"><td class="memItemLeft" align="right" valign="top"><a id="aa6a7c86274470fd22e45676ba6eebb36"></a>
  227. const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#aa6a7c86274470fd22e45676ba6eebb36">SaveCursor</a> [] = &quot;\x1b[s&quot;</td></tr>
  228. <tr class="memdesc:aa6a7c86274470fd22e45676ba6eebb36"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANSI Save Cursor position command. <br /></td></tr>
  229. <tr class="separator:aa6a7c86274470fd22e45676ba6eebb36"><td class="memSeparator" colspan="2">&#160;</td></tr>
  230. <tr class="memitem:a1ae3caab423b38b35e887d79b5ac1811"><td class="memItemLeft" align="right" valign="top"><a id="a1ae3caab423b38b35e887d79b5ac1811"></a>
  231. const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a1ae3caab423b38b35e887d79b5ac1811">RestoreCursor</a> [] = &quot;\x1b[u&quot;</td></tr>
  232. <tr class="memdesc:a1ae3caab423b38b35e887d79b5ac1811"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANSI Restore Cursor position command. <br /></td></tr>
  233. <tr class="separator:a1ae3caab423b38b35e887d79b5ac1811"><td class="memSeparator" colspan="2">&#160;</td></tr>
  234. <tr class="memitem:a3274dff22ddb19a3e429a703ee6f3e57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a3274dff22ddb19a3e429a703ee6f3e57">rBlueYellow</a></td></tr>
  235. <tr class="memdesc:a3274dff22ddb19a3e429a703ee6f3e57"><td class="mdescLeft">&#160;</td><td class="mdescRight">BlueYellow <a class="el" href="classdoor_1_1Render.html" title="Rendering a string with ANSIColor.">Render</a> example function. <a href="namespacedoor.html#a3274dff22ddb19a3e429a703ee6f3e57">More...</a><br /></td></tr>
  236. <tr class="separator:a3274dff22ddb19a3e429a703ee6f3e57"><td class="memSeparator" colspan="2">&#160;</td></tr>
  237. <tr class="memitem:aeafa2ff6deb9ddddaab458b89f10c4e6"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structdoor_1_1box__styles.html">box_styles</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#aeafa2ff6deb9ddddaab458b89f10c4e6">UBOXES</a> []</td></tr>
  238. <tr class="memdesc:aeafa2ff6deb9ddddaab458b89f10c4e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unicode box characters. <a href="namespacedoor.html#aeafa2ff6deb9ddddaab458b89f10c4e6">More...</a><br /></td></tr>
  239. <tr class="separator:aeafa2ff6deb9ddddaab458b89f10c4e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  240. <tr class="memitem:a018157cf945eeb22c9a1bc4fefff84ed"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structdoor_1_1box__styles.html">box_styles</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a018157cf945eeb22c9a1bc4fefff84ed">BOXES</a> []</td></tr>
  241. <tr class="memdesc:a018157cf945eeb22c9a1bc4fefff84ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">CP437 box characters. <a href="namespacedoor.html#a018157cf945eeb22c9a1bc4fefff84ed">More...</a><br /></td></tr>
  242. <tr class="separator:a018157cf945eeb22c9a1bc4fefff84ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
  243. <tr class="memitem:aa7aaca15a8885a3ef3a6c85cd40ae617"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#aa7aaca15a8885a3ef3a6c85cd40ae617">JOIN</a> [2][2][2]</td></tr>
  244. <tr class="memdesc:aa7aaca15a8885a3ef3a6c85cd40ae617"><td class="mdescLeft">&#160;</td><td class="mdescRight">CP437 box line joining data. <a href="namespacedoor.html#aa7aaca15a8885a3ef3a6c85cd40ae617">More...</a><br /></td></tr>
  245. <tr class="separator:aa7aaca15a8885a3ef3a6c85cd40ae617"><td class="memSeparator" colspan="2">&#160;</td></tr>
  246. <tr class="memitem:ad19e1b85072846f56b4f578410a5587e"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ad19e1b85072846f56b4f578410a5587e">UJOIN</a> [2][2][2]</td></tr>
  247. <tr class="memdesc:ad19e1b85072846f56b4f578410a5587e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unicode box line joining data SINGLE 0, DOUBLE 1 Join Border to <a class="el" href="classdoor_1_1Line.html" title="Text and ANSIColor.">Line</a>, 0 is Left, 1 is Right. <a href="namespacedoor.html#ad19e1b85072846f56b4f578410a5587e">More...</a><br /></td></tr>
  248. <tr class="separator:ad19e1b85072846f56b4f578410a5587e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  249. </table>
  250. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  251. <div class="textblock"><p>The BBS door project. This is an attempt at writing a C++ BBS door toolkit. </p>
  252. </div><h2 class="groupheader">Typedef Documentation</h2>
  253. <a id="ad9c2405adaa0b5168bc53059b3a978c1"></a>
  254. <h2 class="memtitle"><span class="permalink"><a href="#ad9c2405adaa0b5168bc53059b3a978c1">&#9670;&nbsp;</a></span>renderFunction</h2>
  255. <div class="memitem">
  256. <div class="memproto">
  257. <table class="memname">
  258. <tr>
  259. <td class="memname">typedef std::function&lt;<a class="el" href="classdoor_1_1Render.html">Render</a>(const std::string &amp;)&gt; <a class="el" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">door::renderFunction</a></td>
  260. </tr>
  261. </table>
  262. </div><div class="memdoc">
  263. <p><a class="el" href="classdoor_1_1Render.html" title="Rendering a string with ANSIColor.">Render</a> output function. </p>
  264. <p>This defines the render output function. Given the line text, we output the color codes needs to display the line.</p>
  265. <div class="fragment"><div class="line"><a class="code" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a> upperColor, lowerColor;</div>
  266. <div class="line"> </div>
  267. <div class="line">door::RenderFunction render = [upperColor, lowerColor]</div>
  268. <div class="line"> (<span class="keyword">const</span> std::string &amp;text) -&gt; <a class="code" href="classdoor_1_1Render.html">door::Render</a> {</div>
  269. <div class="line"> <a class="code" href="classdoor_1_1Render.html">door::Render</a> r(text);</div>
  270. <div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">char</span> <span class="keyword">const</span> &amp;c : text) {</div>
  271. <div class="line"> <span class="keywordflow">if</span> (std::isupper(c))</div>
  272. <div class="line"> r.append(upperColor);</div>
  273. <div class="line"> <span class="keywordflow">else</span></div>
  274. <div class="line"> r.append(lowerColor);</div>
  275. <div class="line"> }</div>
  276. <div class="line"> <span class="keywordflow">return</span> r;</div>
  277. <div class="line">};</div>
  278. </div><!-- fragment -->
  279. </div>
  280. </div>
  281. <a id="adb2697f83f8ce701366e05ed72c97d6e"></a>
  282. <h2 class="memtitle"><span class="permalink"><a href="#adb2697f83f8ce701366e05ed72c97d6e">&#9670;&nbsp;</a></span>updateFunction</h2>
  283. <div class="memitem">
  284. <div class="memproto">
  285. <table class="memname">
  286. <tr>
  287. <td class="memname">typedef std::function&lt;std::string(void)&gt; <a class="el" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">door::updateFunction</a></td>
  288. </tr>
  289. </table>
  290. </div><div class="memdoc">
  291. <p>This defines the update function.</p>
  292. <p>This updates the text.</p>
  293. <div class="fragment"><div class="line"><span class="keywordtype">int</span> score = 0;</div>
  294. <div class="line"> </div>
  295. <div class="line"><a class="code" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">door::updateFunction</a> updater = [](void) -&gt; std::string {</div>
  296. <div class="line"> std::string text = <span class="stringliteral">&quot;Score: &quot;</span>;</div>
  297. <div class="line"> text += std::to_string(score);</div>
  298. <div class="line"> <span class="keywordflow">return</span> text;</div>
  299. <div class="line">};</div>
  300. <div class="line"> </div>
  301. <div class="line">fancyLine.setUpdater(updater);</div>
  302. </div><!-- fragment -->
  303. </div>
  304. </div>
  305. <h2 class="groupheader">Enumeration Type Documentation</h2>
  306. <a id="add24f9a933f9a6e613de6d56854e5c52"></a>
  307. <h2 class="memtitle"><span class="permalink"><a href="#add24f9a933f9a6e613de6d56854e5c52">&#9670;&nbsp;</a></span>ATTR</h2>
  308. <div class="memitem">
  309. <div class="memproto">
  310. <table class="mlabels">
  311. <tr>
  312. <td class="mlabels-left">
  313. <table class="memname">
  314. <tr>
  315. <td class="memname">enum <a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">door::ATTR</a> : std::int8_t</td>
  316. </tr>
  317. </table>
  318. </td>
  319. <td class="mlabels-right">
  320. <span class="mlabels"><span class="mlabel">strong</span></span> </td>
  321. </tr>
  322. </table>
  323. </div><div class="memdoc">
  324. <p>ANSI-BBS text attributes. </p>
  325. <table class="fieldtable">
  326. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="add24f9a933f9a6e613de6d56854e5c52ab5859d8721cfdc0312b2838b9c985bc1"></a>RESET&#160;</td><td class="fielddoc"><p>RESET forces all attributes (and Colors) to be sent. </p>
  327. </td></tr>
  328. <tr><td class="fieldname"><a id="add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19"></a>BOLD&#160;</td><td class="fielddoc"><p>BOLD is the same as BRIGHT. </p>
  329. </td></tr>
  330. <tr><td class="fieldname"><a id="add24f9a933f9a6e613de6d56854e5c52aca78b38b9fe41e51b331abe6999a1040"></a>BRIGHT&#160;</td><td class="fielddoc"><p>BRIGHT is the same as BOLD. </p>
  331. </td></tr>
  332. <tr><td class="fieldname"><a id="add24f9a933f9a6e613de6d56854e5c52ad810ed8e97088a3c987f179dfb88cefc"></a>BLINK&#160;</td><td class="fielddoc"><p>SLOW BLINK. </p>
  333. </td></tr>
  334. <tr><td class="fieldname"><a id="add24f9a933f9a6e613de6d56854e5c52a1955bdc302911f376074eb9b02e56639"></a>INVERSE&#160;</td><td class="fielddoc"><p>INVERSE is Background on Foreground. </p>
  335. </td></tr>
  336. </table>
  337. </div>
  338. </div>
  339. <a id="a08afbc9eecb6efd7d4c741023b11db91"></a>
  340. <h2 class="memtitle"><span class="permalink"><a href="#a08afbc9eecb6efd7d4c741023b11db91">&#9670;&nbsp;</a></span>BorderStyle</h2>
  341. <div class="memitem">
  342. <div class="memproto">
  343. <table class="mlabels">
  344. <tr>
  345. <td class="mlabels-left">
  346. <table class="memname">
  347. <tr>
  348. <td class="memname">enum <a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">door::BorderStyle</a></td>
  349. </tr>
  350. </table>
  351. </td>
  352. <td class="mlabels-right">
  353. <span class="mlabels"><span class="mlabel">strong</span></span> </td>
  354. </tr>
  355. </table>
  356. </div><div class="memdoc">
  357. <p>The different Borders supported by <a class="el" href="classdoor_1_1Panel.html">Panel</a>. </p>
  358. <table class="fieldtable">
  359. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693"></a>NONE&#160;</td><td class="fielddoc"><p>NONE (0) </p>
  360. </td></tr>
  361. <tr><td class="fieldname"><a id="a08afbc9eecb6efd7d4c741023b11db91a0679273e201afd0bf57af3961f8a23b8"></a>SINGLE&#160;</td><td class="fielddoc"><p>SINGLE (1) </p>
  362. </td></tr>
  363. <tr><td class="fieldname"><a id="a08afbc9eecb6efd7d4c741023b11db91afd3e4ece78a7d422280d5ed379482229"></a>DOUBLE&#160;</td><td class="fielddoc"><p>DOUBLE (2) </p>
  364. </td></tr>
  365. <tr><td class="fieldname"><a id="a08afbc9eecb6efd7d4c741023b11db91a6dfbebc428d74ec8a1552722ceccda3a"></a>SINGLE_DOUBLE&#160;</td><td class="fielddoc"><p>SINGLE top DOUBLE side (3) </p>
  366. </td></tr>
  367. <tr><td class="fieldname"><a id="a08afbc9eecb6efd7d4c741023b11db91acc939b66711e314a026eba1532bec367"></a>DOUBLE_SINGLE&#160;</td><td class="fielddoc"><p>DOUBLE top SINGLE side (4) </p>
  368. </td></tr>
  369. <tr><td class="fieldname"><a id="a08afbc9eecb6efd7d4c741023b11db91a56f031dd03707d695f76c63ddbf40bd7"></a>BLANK&#160;</td><td class="fielddoc"><p>BLANK (5) </p>
  370. </td></tr>
  371. </table>
  372. </div>
  373. </div>
  374. <a id="abafe0a9e79349883af3ab2a7fb544366"></a>
  375. <h2 class="memtitle"><span class="permalink"><a href="#abafe0a9e79349883af3ab2a7fb544366">&#9670;&nbsp;</a></span>COLOR</h2>
  376. <div class="memitem">
  377. <div class="memproto">
  378. <table class="mlabels">
  379. <tr>
  380. <td class="mlabels-left">
  381. <table class="memname">
  382. <tr>
  383. <td class="memname">enum <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">door::COLOR</a> : std::int8_t</td>
  384. </tr>
  385. </table>
  386. </td>
  387. <td class="mlabels-right">
  388. <span class="mlabels"><span class="mlabel">strong</span></span> </td>
  389. </tr>
  390. </table>
  391. </div><div class="memdoc">
  392. <p>The colors available under ANSI-BBS. </p>
  393. <p>ANSI Color codes </p>
  394. <table class="fieldtable">
  395. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366a08d0012388564e95c3b4a7407cf04965"></a>BLACK&#160;</td><td class="fielddoc"><p>BLACK (0) </p>
  396. </td></tr>
  397. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366aa2d9547b5d3dd9f05984475f7c926da0"></a>RED&#160;</td><td class="fielddoc"><p>RED (1) </p>
  398. </td></tr>
  399. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366a9de0e5dd94e861317e74964bed179fa0"></a>GREEN&#160;</td><td class="fielddoc"><p>GREEN (2) </p>
  400. </td></tr>
  401. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366a493cacf6f6a2ae4798b319b8b9ba9488"></a>BROWN&#160;</td><td class="fielddoc"><p>BROWN (3) </p>
  402. </td></tr>
  403. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e"></a>YELLOW&#160;</td><td class="fielddoc"><p>YELLOW (3) </p>
  404. </td></tr>
  405. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f"></a>BLUE&#160;</td><td class="fielddoc"><p>BLUE (4) </p>
  406. </td></tr>
  407. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366ac634ffea7195608364671ac52ee59a61"></a>MAGENTA&#160;</td><td class="fielddoc"><p>MAGENTA (5) </p>
  408. </td></tr>
  409. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366a344dd8cd533280795b9db82ef0c92749"></a>CYAN&#160;</td><td class="fielddoc"><p>CYAN (6) </p>
  410. </td></tr>
  411. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d"></a>WHITE&#160;</td><td class="fielddoc"><p>WHITE (7) </p>
  412. </td></tr>
  413. </table>
  414. </div>
  415. </div>
  416. <a id="af025775fb0b68d66dc42ee3299444fb7"></a>
  417. <h2 class="memtitle"><span class="permalink"><a href="#af025775fb0b68d66dc42ee3299444fb7">&#9670;&nbsp;</a></span>Justify</h2>
  418. <div class="memitem">
  419. <div class="memproto">
  420. <table class="mlabels">
  421. <tr>
  422. <td class="mlabels-left">
  423. <table class="memname">
  424. <tr>
  425. <td class="memname">enum <a class="el" href="namespacedoor.html#af025775fb0b68d66dc42ee3299444fb7">door::Justify</a></td>
  426. </tr>
  427. </table>
  428. </td>
  429. <td class="mlabels-right">
  430. <span class="mlabels"><span class="mlabel">strong</span></span> </td>
  431. </tr>
  432. </table>
  433. </div><div class="memdoc">
  434. <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Not used </dd></dl>
  435. </div>
  436. </div>
  437. <h2 class="groupheader">Function Documentation</h2>
  438. <a id="a7e94df0d0af14da619835aa90cfa8f2a"></a>
  439. <h2 class="memtitle"><span class="permalink"><a href="#a7e94df0d0af14da619835aa90cfa8f2a">&#9670;&nbsp;</a></span>cp437toUnicode() <span class="overload">[1/2]</span></h2>
  440. <div class="memitem">
  441. <div class="memproto">
  442. <table class="memname">
  443. <tr>
  444. <td class="memname">void door::cp437toUnicode </td>
  445. <td>(</td>
  446. <td class="paramtype">const char *&#160;</td>
  447. <td class="paramname"><em>input</em>, </td>
  448. </tr>
  449. <tr>
  450. <td class="paramkey"></td>
  451. <td></td>
  452. <td class="paramtype">std::string &amp;&#160;</td>
  453. <td class="paramname"><em>out</em>&#160;</td>
  454. </tr>
  455. <tr>
  456. <td></td>
  457. <td>)</td>
  458. <td></td><td></td>
  459. </tr>
  460. </table>
  461. </div><div class="memdoc">
  462. <p>Convert from CP437 to unicode. </p>
  463. <dl class="params"><dt>Parameters</dt><dd>
  464. <table class="params">
  465. <tr><td class="paramname">input</td><td></td></tr>
  466. <tr><td class="paramname">out</td><td></td></tr>
  467. </table>
  468. </dd>
  469. </dl>
  470. </div>
  471. </div>
  472. <a id="a5efa4fb96eacd6b90e5cbb0bd985f3fc"></a>
  473. <h2 class="memtitle"><span class="permalink"><a href="#a5efa4fb96eacd6b90e5cbb0bd985f3fc">&#9670;&nbsp;</a></span>cp437toUnicode() <span class="overload">[2/2]</span></h2>
  474. <div class="memitem">
  475. <div class="memproto">
  476. <table class="memname">
  477. <tr>
  478. <td class="memname">void door::cp437toUnicode </td>
  479. <td>(</td>
  480. <td class="paramtype">std::string&#160;</td>
  481. <td class="paramname"><em>input</em>, </td>
  482. </tr>
  483. <tr>
  484. <td class="paramkey"></td>
  485. <td></td>
  486. <td class="paramtype">std::string &amp;&#160;</td>
  487. <td class="paramname"><em>out</em>&#160;</td>
  488. </tr>
  489. <tr>
  490. <td></td>
  491. <td>)</td>
  492. <td></td><td></td>
  493. </tr>
  494. </table>
  495. </div><div class="memdoc">
  496. <p>Convert from CP437 to unicode. </p>
  497. <dl class="params"><dt>Parameters</dt><dd>
  498. <table class="params">
  499. <tr><td class="paramname">input</td><td></td></tr>
  500. <tr><td class="paramname">out</td><td></td></tr>
  501. </table>
  502. </dd>
  503. </dl>
  504. </div>
  505. </div>
  506. <a id="ae6c40e2e917f64a9c42d977a88fe18fa"></a>
  507. <h2 class="memtitle"><span class="permalink"><a href="#ae6c40e2e917f64a9c42d977a88fe18fa">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[1/7]</span></h2>
  508. <div class="memitem">
  509. <div class="memproto">
  510. <table class="memname">
  511. <tr>
  512. <td class="memname">std::ostream&amp; door::operator&lt;&lt; </td>
  513. <td>(</td>
  514. <td class="paramtype">std::ostream &amp;&#160;</td>
  515. <td class="paramname"><em>os</em>, </td>
  516. </tr>
  517. <tr>
  518. <td class="paramkey"></td>
  519. <td></td>
  520. <td class="paramtype">const <a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a> &amp;&#160;</td>
  521. <td class="paramname"><em>c</em>&#160;</td>
  522. </tr>
  523. <tr>
  524. <td></td>
  525. <td>)</td>
  526. <td></td><td></td>
  527. </tr>
  528. </table>
  529. </div><div class="memdoc">
  530. <p>This converts ANSI <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> and <a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> to ANSI codes understood by the <a class="el" href="classdoor_1_1Door.html">Door</a> output class. </p>
  531. </div>
  532. </div>
  533. <a id="ad5d6277de5e8274cec970a4633d713b1"></a>
  534. <h2 class="memtitle"><span class="permalink"><a href="#ad5d6277de5e8274cec970a4633d713b1">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[2/7]</span></h2>
  535. <div class="memitem">
  536. <div class="memproto">
  537. <table class="memname">
  538. <tr>
  539. <td class="memname">std::ostream&amp; door::operator&lt;&lt; </td>
  540. <td>(</td>
  541. <td class="paramtype">std::ostream &amp;&#160;</td>
  542. <td class="paramname"><em>os</em>, </td>
  543. </tr>
  544. <tr>
  545. <td class="paramkey"></td>
  546. <td></td>
  547. <td class="paramtype">const <a class="el" href="classdoor_1_1Clrscr.html">Clrscr</a> &amp;&#160;</td>
  548. <td class="paramname"><em>clr</em>&#160;</td>
  549. </tr>
  550. <tr>
  551. <td></td>
  552. <td>)</td>
  553. <td></td><td></td>
  554. </tr>
  555. </table>
  556. </div><div class="memdoc">
  557. <p>Clear the screen using ANSI codes.</p>
  558. <p>Not all systems home the cursor after clearing the screen. We automatically home the cursor as well.</p>
  559. <dl class="params"><dt>Parameters</dt><dd>
  560. <table class="params">
  561. <tr><td class="paramname">os</td><td>std::ostream&amp; </td></tr>
  562. <tr><td class="paramname">clr</td><td>const <a class="el" href="classdoor_1_1Clrscr.html" title="Clear the screen.">Clrscr</a>&amp; </td></tr>
  563. </table>
  564. </dd>
  565. </dl>
  566. <dl class="section return"><dt>Returns</dt><dd>std::ostream&amp; </dd></dl>
  567. </div>
  568. </div>
  569. <a id="aae6ca4805185baa51dcc661a69fa801b"></a>
  570. <h2 class="memtitle"><span class="permalink"><a href="#aae6ca4805185baa51dcc661a69fa801b">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[3/7]</span></h2>
  571. <div class="memitem">
  572. <div class="memproto">
  573. <table class="memname">
  574. <tr>
  575. <td class="memname">std::ostream&amp; door::operator&lt;&lt; </td>
  576. <td>(</td>
  577. <td class="paramtype">std::ostream &amp;&#160;</td>
  578. <td class="paramname"><em>os</em>, </td>
  579. </tr>
  580. <tr>
  581. <td class="paramkey"></td>
  582. <td></td>
  583. <td class="paramtype">const <a class="el" href="classdoor_1_1Goto.html">Goto</a> &amp;&#160;</td>
  584. <td class="paramname"><em>g</em>&#160;</td>
  585. </tr>
  586. <tr>
  587. <td></td>
  588. <td>)</td>
  589. <td></td><td></td>
  590. </tr>
  591. </table>
  592. </div><div class="memdoc">
  593. <p>Output the ANSI codes to position the cursor to the given y,x position.</p>
  594. <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd><p class="startdd">Optimize the ANSI goto string output. </p>
  595. <p class="enddd">Update the <a class="el" href="classdoor_1_1Door.html">Door</a> object so it know where the cursor is positioned.</p>
  596. </dd></dl>
  597. <dl class="params"><dt>Parameters</dt><dd>
  598. <table class="params">
  599. <tr><td class="paramname">os</td><td>std::ostream </td></tr>
  600. <tr><td class="paramname">g</td><td>const <a class="el" href="classdoor_1_1Goto.html" title="ANSI Goto X, Y position.">Goto</a> </td></tr>
  601. </table>
  602. </dd>
  603. </dl>
  604. <dl class="section return"><dt>Returns</dt><dd>std::ostream&amp; </dd></dl>
  605. </div>
  606. </div>
  607. <a id="af3c1c222a45143cfa4e780cfb2e45243"></a>
  608. <h2 class="memtitle"><span class="permalink"><a href="#af3c1c222a45143cfa4e780cfb2e45243">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[4/7]</span></h2>
  609. <div class="memitem">
  610. <div class="memproto">
  611. <table class="memname">
  612. <tr>
  613. <td class="memname">std::ostream&amp; door::operator&lt;&lt; </td>
  614. <td>(</td>
  615. <td class="paramtype">std::ostream &amp;&#160;</td>
  616. <td class="paramname"><em>os</em>, </td>
  617. </tr>
  618. <tr>
  619. <td class="paramkey"></td>
  620. <td></td>
  621. <td class="paramtype">const <a class="el" href="classdoor_1_1Line.html">Line</a> &amp;&#160;</td>
  622. <td class="paramname"><em>l</em>&#160;</td>
  623. </tr>
  624. <tr>
  625. <td></td>
  626. <td>)</td>
  627. <td></td><td></td>
  628. </tr>
  629. </table>
  630. </div><div class="memdoc">
  631. <p>Output <a class="el" href="classdoor_1_1Line.html" title="Text and ANSIColor.">Line</a></p>
  632. <p>This looks for padding and paddingColor. This uses the render function if set.</p>
  633. <dl class="params"><dt>Parameters</dt><dd>
  634. <table class="params">
  635. <tr><td class="paramname">os</td><td>std::ostream </td></tr>
  636. <tr><td class="paramname">l</td><td>const <a class="el" href="classdoor_1_1Line.html" title="Text and ANSIColor.">Line</a> &amp; </td></tr>
  637. </table>
  638. </dd>
  639. </dl>
  640. <dl class="section return"><dt>Returns</dt><dd>std::ostream&amp; </dd></dl>
  641. </div>
  642. </div>
  643. <a id="aa6b909ef984a2aabc5b9a570884dff94"></a>
  644. <h2 class="memtitle"><span class="permalink"><a href="#aa6b909ef984a2aabc5b9a570884dff94">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[5/7]</span></h2>
  645. <div class="memitem">
  646. <div class="memproto">
  647. <table class="memname">
  648. <tr>
  649. <td class="memname">std::ostream&amp; door::operator&lt;&lt; </td>
  650. <td>(</td>
  651. <td class="paramtype">std::ostream &amp;&#160;</td>
  652. <td class="paramname"><em>os</em>, </td>
  653. </tr>
  654. <tr>
  655. <td class="paramkey"></td>
  656. <td></td>
  657. <td class="paramtype">const <a class="el" href="classdoor_1_1NewLine.html">NewLine</a> &amp;&#160;</td>
  658. <td class="paramname"><em>nl</em>&#160;</td>
  659. </tr>
  660. <tr>
  661. <td></td>
  662. <td>)</td>
  663. <td></td><td></td>
  664. </tr>
  665. </table>
  666. </div><div class="memdoc">
  667. <p>Output Newline + CarriageReturn </p><dl class="params"><dt>Parameters</dt><dd>
  668. <table class="params">
  669. <tr><td class="paramname">os</td><td>std::ostream </td></tr>
  670. <tr><td class="paramname">nl</td><td>const <a class="el" href="classdoor_1_1NewLine.html" title="CR+LF.">NewLine</a> </td></tr>
  671. </table>
  672. </dd>
  673. </dl>
  674. <dl class="section return"><dt>Returns</dt><dd>std::ostream&amp; </dd></dl>
  675. </div>
  676. </div>
  677. <a id="a10848399ef2da2947ceb98b7707a688f"></a>
  678. <h2 class="memtitle"><span class="permalink"><a href="#a10848399ef2da2947ceb98b7707a688f">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[6/7]</span></h2>
  679. <div class="memitem">
  680. <div class="memproto">
  681. <table class="memname">
  682. <tr>
  683. <td class="memname">std::ostream&amp; door::operator&lt;&lt; </td>
  684. <td>(</td>
  685. <td class="paramtype">std::ostream &amp;&#160;</td>
  686. <td class="paramname"><em>os</em>, </td>
  687. </tr>
  688. <tr>
  689. <td class="paramkey"></td>
  690. <td></td>
  691. <td class="paramtype">const <a class="el" href="classdoor_1_1Panel.html">Panel</a> &amp;&#160;</td>
  692. <td class="paramname"><em>p</em>&#160;</td>
  693. </tr>
  694. <tr>
  695. <td></td>
  696. <td>)</td>
  697. <td></td><td></td>
  698. </tr>
  699. </table>
  700. </div><div class="memdoc">
  701. <p>Output panel to stream. </p>
  702. <p>This uses the Panel.x, Panel.y to render the panel using ANSI control codes. Border style is considered, and wether or not we are using unicode. Colors of the border, and lines use their color or their renderFunction. </p><dl class="params"><dt>Parameters</dt><dd>
  703. <table class="params">
  704. <tr><td class="paramname">os</td><td></td></tr>
  705. <tr><td class="paramname">p</td><td></td></tr>
  706. </table>
  707. </dd>
  708. </dl>
  709. <dl class="section return"><dt>Returns</dt><dd>std::ostream&amp; </dd></dl>
  710. </div>
  711. </div>
  712. <a id="a5ca5f798bc38b4e5dc1e482ace47b7df"></a>
  713. <h2 class="memtitle"><span class="permalink"><a href="#a5ca5f798bc38b4e5dc1e482ace47b7df">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[7/7]</span></h2>
  714. <div class="memitem">
  715. <div class="memproto">
  716. <table class="memname">
  717. <tr>
  718. <td class="memname">std::ostream&amp; door::operator&lt;&lt; </td>
  719. <td>(</td>
  720. <td class="paramtype">std::ostream &amp;&#160;</td>
  721. <td class="paramname"><em>os</em>, </td>
  722. </tr>
  723. <tr>
  724. <td class="paramkey"></td>
  725. <td></td>
  726. <td class="paramtype">const <a class="el" href="classdoor_1_1Screen.html">Screen</a> &amp;&#160;</td>
  727. <td class="paramname"><em>s</em>&#160;</td>
  728. </tr>
  729. <tr>
  730. <td></td>
  731. <td>)</td>
  732. <td></td><td></td>
  733. </tr>
  734. </table>
  735. </div><div class="memdoc">
  736. <p>Outputs screen to stream. </p>
  737. <p>This iterates over panels, and outputs them. See <a class="el" href="classdoor_1_1Panel.html">door::Panel</a></p>
  738. <dl class="params"><dt>Parameters</dt><dd>
  739. <table class="params">
  740. <tr><td class="paramdir">[in,out]</td><td class="paramname">os</td><td>Stream </td></tr>
  741. <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td><a class="el" href="classdoor_1_1Screen.html">Screen</a> to send </td></tr>
  742. </table>
  743. </dd>
  744. </dl>
  745. <dl class="section return"><dt>Returns</dt><dd>std::ostream&amp; </dd></dl>
  746. </div>
  747. </div>
  748. <a id="a5cc0209e9203231d1bdb1e6b7f0876c3"></a>
  749. <h2 class="memtitle"><span class="permalink"><a href="#a5cc0209e9203231d1bdb1e6b7f0876c3">&#9670;&nbsp;</a></span>replace() <span class="overload">[1/2]</span></h2>
  750. <div class="memitem">
  751. <div class="memproto">
  752. <table class="memname">
  753. <tr>
  754. <td class="memname">bool door::replace </td>
  755. <td>(</td>
  756. <td class="paramtype">std::string &amp;&#160;</td>
  757. <td class="paramname"><em>str</em>, </td>
  758. </tr>
  759. <tr>
  760. <td class="paramkey"></td>
  761. <td></td>
  762. <td class="paramtype">const char *&#160;</td>
  763. <td class="paramname"><em>from</em>, </td>
  764. </tr>
  765. <tr>
  766. <td class="paramkey"></td>
  767. <td></td>
  768. <td class="paramtype">const char *&#160;</td>
  769. <td class="paramname"><em>to</em>&#160;</td>
  770. </tr>
  771. <tr>
  772. <td></td>
  773. <td>)</td>
  774. <td></td><td></td>
  775. </tr>
  776. </table>
  777. </div><div class="memdoc">
  778. <p>Replace all instances of from with to. </p>
  779. <dl class="params"><dt>Parameters</dt><dd>
  780. <table class="params">
  781. <tr><td class="paramname">str</td><td></td></tr>
  782. <tr><td class="paramname">from</td><td></td></tr>
  783. <tr><td class="paramname">to</td><td></td></tr>
  784. </table>
  785. </dd>
  786. </dl>
  787. <dl class="section return"><dt>Returns</dt><dd>true </dd>
  788. <dd>
  789. false </dd></dl>
  790. </div>
  791. </div>
  792. <a id="acba445fc4d33e1b0c1ff2b648cc2899d"></a>
  793. <h2 class="memtitle"><span class="permalink"><a href="#acba445fc4d33e1b0c1ff2b648cc2899d">&#9670;&nbsp;</a></span>replace() <span class="overload">[2/2]</span></h2>
  794. <div class="memitem">
  795. <div class="memproto">
  796. <table class="memname">
  797. <tr>
  798. <td class="memname">bool door::replace </td>
  799. <td>(</td>
  800. <td class="paramtype">std::string &amp;&#160;</td>
  801. <td class="paramname"><em>str</em>, </td>
  802. </tr>
  803. <tr>
  804. <td class="paramkey"></td>
  805. <td></td>
  806. <td class="paramtype">const std::string &amp;&#160;</td>
  807. <td class="paramname"><em>from</em>, </td>
  808. </tr>
  809. <tr>
  810. <td class="paramkey"></td>
  811. <td></td>
  812. <td class="paramtype">const std::string &amp;&#160;</td>
  813. <td class="paramname"><em>to</em>&#160;</td>
  814. </tr>
  815. <tr>
  816. <td></td>
  817. <td>)</td>
  818. <td></td><td></td>
  819. </tr>
  820. </table>
  821. </div><div class="memdoc">
  822. <p>Replaces one string with another once. </p>
  823. <p>Returns true if replaced.</p>
  824. <dl class="params"><dt>Parameters</dt><dd>
  825. <table class="params">
  826. <tr><td class="paramdir">[in,out]</td><td class="paramname">str</td><td>String to modify </td></tr>
  827. <tr><td class="paramdir">[in]</td><td class="paramname">from</td><td>String to search for </td></tr>
  828. <tr><td class="paramdir">[in]</td><td class="paramname">to</td><td>String to replace with </td></tr>
  829. </table>
  830. </dd>
  831. </dl>
  832. <dl class="section return"><dt>Returns</dt><dd>true </dd>
  833. <dd>
  834. false </dd></dl>
  835. </div>
  836. </div>
  837. <a id="a4fc2f3f7f1b3908cb71bd1d275594fe9"></a>
  838. <h2 class="memtitle"><span class="permalink"><a href="#a4fc2f3f7f1b3908cb71bd1d275594fe9">&#9670;&nbsp;</a></span>sig_handler()</h2>
  839. <div class="memitem">
  840. <div class="memproto">
  841. <table class="memname">
  842. <tr>
  843. <td class="memname">void door::sig_handler </td>
  844. <td>(</td>
  845. <td class="paramtype">int&#160;</td>
  846. <td class="paramname"><em>signal</em></td><td>)</td>
  847. <td></td>
  848. </tr>
  849. </table>
  850. </div><div class="memdoc">
  851. <p>Signal handler for detecting hangup/broken pipe. </p>
  852. <dl class="params"><dt>Parameters</dt><dd>
  853. <table class="params">
  854. <tr><td class="paramname">signal</td><td></td></tr>
  855. </table>
  856. </dd>
  857. </dl>
  858. </div>
  859. </div>
  860. <a id="afa94e91868d469077e4d3b400dedfd6c"></a>
  861. <h2 class="memtitle"><span class="permalink"><a href="#afa94e91868d469077e4d3b400dedfd6c">&#9670;&nbsp;</a></span>to_lower()</h2>
  862. <div class="memitem">
  863. <div class="memproto">
  864. <table class="memname">
  865. <tr>
  866. <td class="memname">void door::to_lower </td>
  867. <td>(</td>
  868. <td class="paramtype">std::string &amp;&#160;</td>
  869. <td class="paramname"><em>text</em></td><td>)</td>
  870. <td></td>
  871. </tr>
  872. </table>
  873. </div><div class="memdoc">
  874. <p>convert string to lowercase </p>
  875. <dl class="params"><dt>Parameters</dt><dd>
  876. <table class="params">
  877. <tr><td class="paramname">text</td><td></td></tr>
  878. </table>
  879. </dd>
  880. </dl>
  881. </div>
  882. </div>
  883. <h2 class="groupheader">Variable Documentation</h2>
  884. <a id="a018157cf945eeb22c9a1bc4fefff84ed"></a>
  885. <h2 class="memtitle"><span class="permalink"><a href="#a018157cf945eeb22c9a1bc4fefff84ed">&#9670;&nbsp;</a></span>BOXES</h2>
  886. <div class="memitem">
  887. <div class="memproto">
  888. <table class="memname">
  889. <tr>
  890. <td class="memname">struct <a class="el" href="structdoor_1_1box__styles.html">box_styles</a> door::BOXES[]</td>
  891. </tr>
  892. </table>
  893. </div><div class="memdoc">
  894. <p>CP437 box characters. </p>
  895. <p>top-left, top-right, top, side, bottom-left, bottom-right, middle-left, middle-right See <a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">BorderStyle</a> for the order the boxes are in. </p>
  896. </div>
  897. </div>
  898. <a id="ac70193caf66e4b9aed1529593727a6eb"></a>
  899. <h2 class="memtitle"><span class="permalink"><a href="#ac70193caf66e4b9aed1529593727a6eb">&#9670;&nbsp;</a></span>cls</h2>
  900. <div class="memitem">
  901. <div class="memproto">
  902. <table class="memname">
  903. <tr>
  904. <td class="memname"><a class="el" href="classdoor_1_1Clrscr.html">Clrscr</a> door::cls</td>
  905. </tr>
  906. </table>
  907. </div><div class="memdoc">
  908. <p>Clear the BBS terminal. </p>
  909. <dl class="section examples"><dt>Examples</dt><dd><a class="el" href="menu-example_8cpp-example.html#a2">menu-example.cpp</a>.</dd>
  910. </dl>
  911. </div>
  912. </div>
  913. <a id="ac39a1dfdb8dec210d28133625f860bc1"></a>
  914. <h2 class="memtitle"><span class="permalink"><a href="#ac39a1dfdb8dec210d28133625f860bc1">&#9670;&nbsp;</a></span>debug_capture</h2>
  915. <div class="memitem">
  916. <div class="memproto">
  917. <table class="memname">
  918. <tr>
  919. <td class="memname">bool door::debug_capture = false</td>
  920. </tr>
  921. </table>
  922. </div><div class="memdoc">
  923. <p>Capture the output for debugging. </p>
  924. <p>This is used by the tests. </p>
  925. </div>
  926. </div>
  927. <a id="aeade8b521c7f95755fdb166727c2b87c"></a>
  928. <h2 class="memtitle"><span class="permalink"><a href="#aeade8b521c7f95755fdb166727c2b87c">&#9670;&nbsp;</a></span>full_cp437</h2>
  929. <div class="memitem">
  930. <div class="memproto">
  931. <table class="memname">
  932. <tr>
  933. <td class="memname">bool door::full_cp437 = false</td>
  934. </tr>
  935. </table>
  936. </div><div class="memdoc">
  937. <p>Was full CP437 detected? </p>
  938. <p>This is for full CP437 support, meaning it also supports hearts, diamonds, spades, clubs char(3)..char(6). These are sometimes ignored by CP437 translation programs as control codes. </p>
  939. </div>
  940. </div>
  941. <a id="aa7aaca15a8885a3ef3a6c85cd40ae617"></a>
  942. <h2 class="memtitle"><span class="permalink"><a href="#aa7aaca15a8885a3ef3a6c85cd40ae617">&#9670;&nbsp;</a></span>JOIN</h2>
  943. <div class="memitem">
  944. <div class="memproto">
  945. <table class="memname">
  946. <tr>
  947. <td class="memname">const char* door::JOIN[2][2][2]</td>
  948. </tr>
  949. </table>
  950. </div><div class="memdoc">
  951. <b>Initial value:</b><div class="fragment"><div class="line">= {{</div>
  952. <div class="line"> {<span class="stringliteral">&quot;\xc3&quot;</span>, <span class="stringliteral">&quot;\xb4&quot;</span>}, </div>
  953. <div class="line"> {<span class="stringliteral">&quot;\xc6&quot;</span>, <span class="stringliteral">&quot;\xb5&quot;</span>} </div>
  954. <div class="line"> },</div>
  955. <div class="line"> {</div>
  956. <div class="line"> {<span class="stringliteral">&quot;\xc7&quot;</span>, <span class="stringliteral">&quot;\xb6&quot;</span>}, </div>
  957. <div class="line"> {<span class="stringliteral">&quot;\xcc&quot;</span>, <span class="stringliteral">&quot;\xb9&quot;</span>}, </div>
  958. <div class="line"> }}</div>
  959. </div><!-- fragment -->
  960. <p>CP437 box line joining data. </p>
  961. <p>SINGLE 0, DOUBLE 1 Join Border to <a class="el" href="classdoor_1_1Line.html" title="Text and ANSIColor.">Line</a>, 0 is Left, 1 is Right. </p>
  962. </div>
  963. </div>
  964. <a id="a36352ded72aee66b10e1bda6d3d8efb8"></a>
  965. <h2 class="memtitle"><span class="permalink"><a href="#a36352ded72aee66b10e1bda6d3d8efb8">&#9670;&nbsp;</a></span>nl</h2>
  966. <div class="memitem">
  967. <div class="memproto">
  968. <table class="memname">
  969. <tr>
  970. <td class="memname"><a class="el" href="classdoor_1_1NewLine.html">NewLine</a> door::nl</td>
  971. </tr>
  972. </table>
  973. </div><div class="memdoc">
  974. <p>CRLF </p>
  975. <dl class="section examples"><dt>Examples</dt><dd><a class="el" href="menu-example_8cpp-example.html#a3">menu-example.cpp</a>.</dd>
  976. </dl>
  977. </div>
  978. </div>
  979. <a id="a64600b79b9b73f4705859ce4efb1a2fd"></a>
  980. <h2 class="memtitle"><span class="permalink"><a href="#a64600b79b9b73f4705859ce4efb1a2fd">&#9670;&nbsp;</a></span>pushback</h2>
  981. <div class="memitem">
  982. <div class="memproto">
  983. <table class="memname">
  984. <tr>
  985. <td class="memname">std::list&lt; char &gt; door::pushback</td>
  986. </tr>
  987. </table>
  988. </div><div class="memdoc">
  989. <p>pushback buffer for keys. </p>
  990. <p>This allows us to peek ahead and push back characters we're not interested it. It also allows us to test the <a class="el" href="classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404">Door::getkey</a> function. </p>
  991. </div>
  992. </div>
  993. <a id="a3274dff22ddb19a3e429a703ee6f3e57"></a>
  994. <h2 class="memtitle"><span class="permalink"><a href="#a3274dff22ddb19a3e429a703ee6f3e57">&#9670;&nbsp;</a></span>rBlueYellow</h2>
  995. <div class="memitem">
  996. <div class="memproto">
  997. <table class="memname">
  998. <tr>
  999. <td class="memname"><a class="el" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> door::rBlueYellow</td>
  1000. </tr>
  1001. </table>
  1002. </div><div class="memdoc">
  1003. <b>Initial value:</b><div class="fragment"><div class="line">= [](<span class="keyword">const</span> std::string &amp;txt) -&gt; Render {</div>
  1004. <div class="line"> Render r(txt);</div>
  1005. <div class="line"> </div>
  1006. <div class="line"> ANSIColor blue(COLOR::BLUE, ATTR::BOLD);</div>
  1007. <div class="line"> ANSIColor cyan(COLOR::YELLOW, ATTR::BOLD);</div>
  1008. <div class="line"> </div>
  1009. <div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">char</span> <span class="keyword">const</span> &amp;c : txt) {</div>
  1010. <div class="line"> <span class="keywordflow">if</span> (isupper(c))</div>
  1011. <div class="line"> r.append(blue);</div>
  1012. <div class="line"> <span class="keywordflow">else</span></div>
  1013. <div class="line"> r.append(cyan);</div>
  1014. <div class="line"> }</div>
  1015. <div class="line"> <span class="keywordflow">return</span> r;</div>
  1016. <div class="line">}</div>
  1017. </div><!-- fragment -->
  1018. <p>BlueYellow <a class="el" href="classdoor_1_1Render.html" title="Rendering a string with ANSIColor.">Render</a> example function. </p>
  1019. <p>Example BlueYellow renderFunction. </p>
  1020. </div>
  1021. </div>
  1022. <a id="ae3a70989c43f6cb3522308af748b4481"></a>
  1023. <h2 class="memtitle"><span class="permalink"><a href="#ae3a70989c43f6cb3522308af748b4481">&#9670;&nbsp;</a></span>reset</h2>
  1024. <div class="memitem">
  1025. <div class="memproto">
  1026. <table class="memname">
  1027. <tr>
  1028. <td class="memname"><a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a> door::reset</td>
  1029. </tr>
  1030. </table>
  1031. </div><div class="memdoc">
  1032. <p>reset colors to normal </p>
  1033. <p>This resets the colors to normal state. </p>
  1034. <dl class="section examples"><dt>Examples</dt><dd><a class="el" href="menu-example_8cpp-example.html#a1">menu-example.cpp</a>.</dd>
  1035. </dl>
  1036. </div>
  1037. </div>
  1038. <a id="aeafa2ff6deb9ddddaab458b89f10c4e6"></a>
  1039. <h2 class="memtitle"><span class="permalink"><a href="#aeafa2ff6deb9ddddaab458b89f10c4e6">&#9670;&nbsp;</a></span>UBOXES</h2>
  1040. <div class="memitem">
  1041. <div class="memproto">
  1042. <table class="memname">
  1043. <tr>
  1044. <td class="memname">struct <a class="el" href="structdoor_1_1box__styles.html">box_styles</a> door::UBOXES[]</td>
  1045. </tr>
  1046. </table>
  1047. </div><div class="memdoc">
  1048. <b>Initial value:</b><div class="fragment"><div class="line">= {{<span class="stringliteral">&quot;\u250c&quot;</span>, <span class="stringliteral">&quot;\u2510&quot;</span>, <span class="stringliteral">&quot;\u2500&quot;</span>, <span class="stringliteral">&quot;\u2502&quot;</span>, <span class="stringliteral">&quot;\u2514&quot;</span>,</div>
  1049. <div class="line"> <span class="stringliteral">&quot;\u2518&quot;</span>, <span class="stringliteral">&quot;\u251c&quot;</span>, <span class="stringliteral">&quot;\u2524&quot;</span>},</div>
  1050. <div class="line"> {<span class="stringliteral">&quot;\u2554&quot;</span>, <span class="stringliteral">&quot;\u2557&quot;</span>, <span class="stringliteral">&quot;\u2550&quot;</span>, <span class="stringliteral">&quot;\u2551&quot;</span>, <span class="stringliteral">&quot;\u255a&quot;</span>,</div>
  1051. <div class="line"> <span class="stringliteral">&quot;\u255d&quot;</span>, <span class="stringliteral">&quot;\u2560&quot;</span>, <span class="stringliteral">&quot;\u2563&quot;</span>},</div>
  1052. <div class="line"> {<span class="stringliteral">&quot;\u2553&quot;</span>, <span class="stringliteral">&quot;\u2556&quot;</span>, <span class="stringliteral">&quot;\u2500&quot;</span>, <span class="stringliteral">&quot;\u2551&quot;</span>, <span class="stringliteral">&quot;\u2559&quot;</span>,</div>
  1053. <div class="line"> <span class="stringliteral">&quot;\u255c&quot;</span>, <span class="stringliteral">&quot;\u255f&quot;</span>, <span class="stringliteral">&quot;\u2562&quot;</span>},</div>
  1054. <div class="line"> {<span class="stringliteral">&quot;\u2552&quot;</span>, <span class="stringliteral">&quot;\u2555&quot;</span>, <span class="stringliteral">&quot;\u2550&quot;</span>, <span class="stringliteral">&quot;\u2502&quot;</span>, <span class="stringliteral">&quot;\u2558&quot;</span>,</div>
  1055. <div class="line"> <span class="stringliteral">&quot;\u255b&quot;</span>, <span class="stringliteral">&quot;\u255e&quot;</span>, <span class="stringliteral">&quot;\u2561&quot;</span>}}</div>
  1056. </div><!-- fragment -->
  1057. <p>Unicode box characters. </p>
  1058. <p>use <a href="https://en.wikipedia.org/wiki/Code_page_437">https://en.wikipedia.org/wiki/Code_page_437</a> for translations between CP437 and unicode symbols.</p>
  1059. <p>This holds the characters needed to render the different box styles. tl tr top side bl br ml mr top-left, top-right, top, side, bottom-left, bottom-right, middle-left, middle-right See <a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">BorderStyle</a> for the order the boxes are in. </p>
  1060. </div>
  1061. </div>
  1062. <a id="ad19e1b85072846f56b4f578410a5587e"></a>
  1063. <h2 class="memtitle"><span class="permalink"><a href="#ad19e1b85072846f56b4f578410a5587e">&#9670;&nbsp;</a></span>UJOIN</h2>
  1064. <div class="memitem">
  1065. <div class="memproto">
  1066. <table class="memname">
  1067. <tr>
  1068. <td class="memname">const char* door::UJOIN[2][2][2]</td>
  1069. </tr>
  1070. </table>
  1071. </div><div class="memdoc">
  1072. <b>Initial value:</b><div class="fragment"><div class="line">= {{</div>
  1073. <div class="line"> {<span class="stringliteral">&quot;\u251c&quot;</span>, <span class="stringliteral">&quot;\u2524&quot;</span>}, </div>
  1074. <div class="line"> {<span class="stringliteral">&quot;\u255e&quot;</span>, <span class="stringliteral">&quot;\u2561&quot;</span>} </div>
  1075. <div class="line"> },</div>
  1076. <div class="line"> {</div>
  1077. <div class="line"> {<span class="stringliteral">&quot;\u255f&quot;</span>, <span class="stringliteral">&quot;\u2562&quot;</span>}, </div>
  1078. <div class="line"> {<span class="stringliteral">&quot;\u2560&quot;</span>, <span class="stringliteral">&quot;\u2563&quot;</span>}, </div>
  1079. <div class="line"> }}</div>
  1080. </div><!-- fragment -->
  1081. <p>Unicode box line joining data SINGLE 0, DOUBLE 1 Join Border to <a class="el" href="classdoor_1_1Line.html" title="Text and ANSIColor.">Line</a>, 0 is Left, 1 is Right. </p>
  1082. </div>
  1083. </div>
  1084. </div><!-- contents -->
  1085. <div class="ttc" id="aclassdoor_1_1ANSIColor_html"><div class="ttname"><a href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></div><div class="ttdoc">Foreground, Background and Attributes.</div><div class="ttdef"><b>Definition:</b> door.h:137</div></div>
  1086. <div class="ttc" id="anamespacedoor_html_adb2697f83f8ce701366e05ed72c97d6e"><div class="ttname"><a href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">door::updateFunction</a></div><div class="ttdeci">std::function&lt; std::string(void)&gt; updateFunction</div><div class="ttdef"><b>Definition:</b> door.h:374</div></div>
  1087. <div class="ttc" id="aclassdoor_1_1Render_html"><div class="ttname"><a href="classdoor_1_1Render.html">door::Render</a></div><div class="ttdoc">Rendering a string with ANSIColor.</div><div class="ttdef"><b>Definition:</b> door.h:319</div></div>
  1088. <!-- start footer part -->
  1089. <hr class="footer"/><address class="footer"><small>
  1090. Generated by &#160;<a href="http://www.doxygen.org/index.html">
  1091. <img class="footer" src="doxygen.png" alt="doxygen"/>
  1092. </a> 1.8.17
  1093. </small></address>
  1094. </body>
  1095. </html>