Files
FTXUI/en/v0.11/string_8hpp.html
2025-11-12 12:56:59 +00:00

271 lines
19 KiB
HTML

<!-- HTML header for doxygen 1.8.14-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="cache-control" content="max-age=86400"/>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FTXUI: include/ftxui/screen/string.hpp 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>
<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>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen_extra.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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">FTXUI
&#160;<span id="projectnumber">0.11.0</span>
</div>
<div id="projectbrief">C++ functional terminal UI.</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(0); });
/* @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('string_8hpp.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">string.hpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="string_8hpp__dep__incl.png" border="0" usemap="#ainclude_2ftxui_2screen_2string_8hppdep" alt=""/></div>
<map name="ainclude_2ftxui_2screen_2string_8hppdep" id="ainclude_2ftxui_2screen_2string_8hppdep">
<area shape="rect" title=" " alt="" coords="1579,5,1728,45"/>
<area shape="rect" href="ref_8hpp.html" title=" " alt="" coords="1337,93,1463,133"/>
<area shape="poly" title=" " alt="" coords="1586,52,1456,96,1455,91,1584,47"/>
<area shape="rect" href="input_8cpp.html" title=" " alt="" coords="1277,445,1427,485"/>
<area shape="poly" title=" " alt="" coords="1565,29,1176,34,921,43,657,57,409,79,298,93,201,109,121,128,59,150,21,174,11,187,8,200,8,291,10,325,17,352,33,374,59,395,86,407,129,417,254,434,419,446,607,454,990,461,1276,462,1276,467,990,467,607,459,419,451,254,439,128,422,84,412,56,400,29,378,12,354,5,326,3,291,3,200,6,184,17,170,57,145,119,123,200,104,298,87,408,73,656,52,920,37,1176,29,1564,24"/>
<area shape="rect" href="event_8cpp.html" title=" " alt="" coords="1487,93,1638,133"/>
<area shape="poly" title=" " alt="" coords="1625,57,1585,95,1581,91,1622,53"/>
<area shape="rect" href="text_8cpp.html" title=" " alt="" coords="1662,101,1826,126"/>
<area shape="poly" title=" " alt="" coords="1685,53,1733,98,1730,102,1681,57"/>
<area shape="rect" href="screen_8cpp.html" title=" " alt="" coords="1851,101,2045,126"/>
<area shape="poly" title=" " alt="" coords="1732,47,1910,98,1908,103,1730,52"/>
<area shape="rect" href="string_8cpp.html" title=" " alt="" coords="2069,101,2259,126"/>
<area shape="poly" title=" " alt="" coords="1742,38,2058,91,2100,98,2099,103,2057,96,1741,44"/>
<area shape="rect" href="component_8hpp.html" title=" " alt="" coords="1376,269,1555,309"/>
<area shape="poly" title=" " alt="" coords="1408,147,1416,183,1428,220,1454,268,1449,270,1423,222,1410,184,1402,148"/>
<area shape="poly" title=" " alt="" coords="1323,121,974,145,748,167,520,197,315,234,229,255,158,279,105,306,86,319,73,334,66,348,65,363,71,379,83,395,99,403,134,410,248,423,594,442,983,454,1276,460,1276,466,983,460,594,447,248,428,133,415,98,408,80,399,66,381,60,364,61,347,69,331,83,315,102,301,156,275,228,250,314,228,520,191,748,162,974,140,1323,116"/>
<area shape="rect" href="button_8cpp.html" title=" " alt="" coords="94,357,245,397"/>
<area shape="poly" title=" " alt="" coords="1323,124,1126,146,1009,163,891,184,700,227,512,276,229,360,227,355,511,271,698,222,890,179,1008,158,1126,141,1323,119"/>
<area shape="rect" href="checkbox_8cpp.html" title=" " alt="" coords="269,357,419,397"/>
<area shape="poly" title=" " alt="" coords="1323,130,1194,153,1049,184,864,230,683,279,406,360,404,355,682,274,863,225,1047,179,1193,148,1322,125"/>
<area shape="rect" href="dropdown_8cpp.html" title=" " alt="" coords="443,357,594,397"/>
<area shape="poly" title=" " alt="" coords="1325,140,583,360,581,355,1323,135"/>
<area shape="rect" href="menu_8cpp.html" title=" " alt="" coords="2293,357,2443,397"/>
<area shape="poly" title=" " alt="" coords="1477,131,1597,154,1713,179,1885,225,2054,274,2312,355,2310,360,2052,279,1883,230,1711,184,1596,159,1476,136"/>
<area shape="rect" href="radiobox_8cpp.html" title=" " alt="" coords="2642,357,2793,397"/>
<area shape="poly" title=" " alt="" coords="1477,131,1599,148,1695,155,1790,162,1910,179,2125,221,2335,271,2653,355,2651,360,2333,276,2123,227,1909,184,1789,167,1695,160,1599,153,1476,136"/>
<area shape="rect" href="slider_8cpp.html" title=" " alt="" coords="2467,357,2618,397"/>
<area shape="poly" title=" " alt="" coords="1477,131,1569,146,1642,155,1713,163,1803,179,1999,223,2190,272,2482,355,2480,360,2189,277,1998,228,1802,184,1713,168,1641,160,1569,151,1476,136"/>
<area shape="rect" href="toggle_8cpp.html" title=" " alt="" coords="2118,357,2269,397"/>
<area shape="poly" title=" " alt="" coords="1478,133,1633,179,1922,276,2143,355,2141,360,1920,281,1631,184,1476,138"/>
<area shape="rect" href="component__options_8hpp.html" title=" " alt="" coords="1438,181,1621,221"/>
<area shape="poly" title=" " alt="" coords="1442,139,1502,179,1499,183,1439,144"/>
<area shape="rect" href="component_2deprecated_8hpp.html" title=" " alt="" coords="1915,357,2093,397"/>
<area shape="poly" title=" " alt="" coords="1569,304,1890,355,1915,359,1914,364,1889,360,1568,310"/>
<area shape="poly" title=" " alt="" coords="1420,319,1398,337,1380,359,1369,380,1362,404,1355,446,1350,445,1356,402,1364,378,1375,356,1394,333,1417,315"/>
<area shape="poly" title=" " alt="" coords="1362,294,1158,297,883,307,571,327,412,341,256,360,245,362,244,356,256,355,412,336,571,321,883,302,1158,292,1362,288"/>
<area shape="rect" href="catch__event_8cpp.html" title=" " alt="" coords="1739,357,1890,397"/>
<area shape="poly" title=" " alt="" coords="1556,310,1739,355,1738,360,1554,315"/>
<area shape="poly" title=" " alt="" coords="1363,298,879,324,620,341,431,360,420,362,419,356,430,355,619,336,879,318,1362,293"/>
<area shape="rect" href="component_8cpp.html" title=" " alt="" coords="618,357,769,397"/>
<area shape="poly" title=" " alt="" coords="1363,303,780,360,769,362,768,357,780,355,1362,298"/>
<area shape="rect" href="component__fuzzer_8cpp.html" title=" " alt="" coords="793,357,965,397"/>
<area shape="poly" title=" " alt="" coords="1363,306,1182,329,976,360,966,362,965,357,976,355,1181,324,1362,300"/>
<area shape="rect" href="container_8cpp.html" title=" " alt="" coords="989,357,1139,397"/>
<area shape="poly" title=" " alt="" coords="1364,315,1151,360,1140,362,1139,357,1150,355,1363,310"/>
<area shape="poly" title=" " alt="" coords="1363,303,1267,312,1081,324,935,329,791,338,606,360,595,362,594,356,605,355,790,333,935,324,1080,319,1266,307,1362,298"/>
<area shape="rect" href="maybe_8cpp.html" title=" " alt="" coords="1163,357,1314,397"/>
<area shape="poly" title=" " alt="" coords="1404,317,1289,360,1287,355,1402,312"/>
<area shape="poly" title=" " alt="" coords="1569,295,1944,322,2139,339,2280,355,2293,357,2292,362,2280,360,2138,344,1944,327,1568,300"/>
<area shape="poly" title=" " alt="" coords="1569,289,1765,293,2029,303,2328,323,2481,337,2630,355,2642,357,2641,362,2629,360,2480,342,2328,328,2029,308,1765,298,1568,294"/>
<area shape="rect" href="renderer_8cpp.html" title=" " alt="" coords="1390,357,1541,397"/>
<area shape="poly" title=" " alt="" coords="1468,323,1468,357,1463,357,1463,323"/>
<area shape="rect" href="resizable__split_8cpp.html" title=" " alt="" coords="1565,357,1715,397"/>
<area shape="poly" title=" " alt="" coords="1517,313,1603,355,1601,360,1515,318"/>
<area shape="poly" title=" " alt="" coords="1569,290,1738,296,1959,307,2206,326,2455,355,2467,357,2467,362,2454,360,2206,332,1959,313,1738,301,1568,295"/>
<area shape="poly" title=" " alt="" coords="1569,299,1636,307,1871,327,1974,337,2106,355,2118,357,2117,362,2105,360,1974,342,1871,332,1636,312,1568,305"/>
<area shape="poly" title=" " alt="" coords="1901,358,1555,305,1555,300,1902,353"/>
<area shape="poly" title=" " alt="" coords="1901,400,1637,435,1428,459,1427,454,1636,430,1901,395"/>
<area shape="poly" title=" " alt="" coords="1509,234,1482,271,1477,268,1505,231"/>
<area shape="poly" title=" " alt="" coords="1634,200,1981,207,2195,217,2407,233,2596,257,2675,273,2740,291,2789,313,2818,338,2825,352,2826,367,2820,383,2807,399,2786,409,2745,417,2611,431,2425,442,2208,451,1759,462,1428,466,1428,461,1759,456,2208,446,2425,437,2611,426,2744,412,2784,404,2804,395,2815,380,2821,366,2820,353,2814,341,2786,317,2738,297,2674,278,2595,263,2407,238,2195,222,1981,212,1634,205"/>
<area shape="poly" title=" " alt="" coords="1424,211,1111,232,919,249,727,272,594,292,491,311,257,360,245,362,244,357,255,355,490,306,593,287,726,267,919,244,1111,227,1424,205"/>
<area shape="poly" title=" " alt="" coords="1424,217,990,273,712,313,431,360,420,362,419,357,430,355,711,308,990,268,1424,212"/>
<area shape="poly" title=" " alt="" coords="1441,227,1256,270,1036,312,916,328,821,336,726,344,606,360,595,362,594,357,605,355,726,338,820,331,915,323,1036,307,1254,265,1440,222"/>
<area shape="poly" title=" " alt="" coords="1635,222,2281,355,2293,357,2292,363,2279,360,1634,227"/>
<area shape="poly" title=" " alt="" coords="1635,212,2070,268,2349,309,2630,355,2642,357,2641,362,2629,360,2348,314,2069,274,1634,218"/>
<area shape="poly" title=" " alt="" coords="1585,224,1689,266,1813,307,1894,325,1958,334,2023,342,2106,355,2118,357,2117,362,2105,360,2022,347,1957,340,1893,330,1811,312,1687,271,1583,229"/>
</map>
</div>
</div>
<p><a href="string_8hpp_source.html">Go to the source code of this file.</a></p>
<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="namespaceftxui.html">ftxui</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a757b345f73bb6cde5165a4d7f0c0a298" id="r_a757b345f73bb6cde5165a4d7f0c0a298"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceftxui.html#a757b345f73bb6cde5165a4d7f0c0a298">to_string</a> (const std::wstring &amp;s)</td></tr>
<tr class="memdesc:a757b345f73bb6cde5165a4d7f0c0a298"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a UTF8 std::string into a std::wstring. <br /></td></tr>
<tr class="separator:a757b345f73bb6cde5165a4d7f0c0a298"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57429a83a46c643a81dee81e49384439" id="r_a57429a83a46c643a81dee81e49384439"><td class="memItemLeft" align="right" valign="top">std::wstring&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceftxui.html#a57429a83a46c643a81dee81e49384439">to_wstring</a> (const std::string &amp;s)</td></tr>
<tr class="memdesc:a57429a83a46c643a81dee81e49384439"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a std::wstring into a UTF8 std::string. <br /></td></tr>
<tr class="separator:a57429a83a46c643a81dee81e49384439"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24ea52e8ef70889ef1da986837e0ff34" id="r_a24ea52e8ef70889ef1da986837e0ff34"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a24ea52e8ef70889ef1da986837e0ff34"><td class="memTemplItemLeft" align="right" valign="top">std::wstring&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceftxui.html#a24ea52e8ef70889ef1da986837e0ff34">to_wstring</a> (T s)</td></tr>
<tr class="separator:a24ea52e8ef70889ef1da986837e0ff34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a517b35c7721e632812d8b3a7697c4099" id="r_a517b35c7721e632812d8b3a7697c4099"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceftxui.html#a517b35c7721e632812d8b3a7697c4099">string_width</a> (const std::string &amp;)</td></tr>
<tr class="separator:a517b35c7721e632812d8b3a7697c4099"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a389c58d385e861cd2ef109b53fc6ef96" id="r_a389c58d385e861cd2ef109b53fc6ef96"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceftxui.html#a389c58d385e861cd2ef109b53fc6ef96">Utf8ToGlyphs</a> (const std::string &amp;input)</td></tr>
<tr class="separator:a389c58d385e861cd2ef109b53fc6ef96"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.14-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const projectNumber = document.getElementById('projectnumber');
if (!projectNumber) {
console.warn('Doxygen element with ID "projectnumber" not found. Cannot add version switcher.');
return;
}
const versions = ["main", "v6.1.9", "v6.1.8", "v6.1.7", "v6.1.6", "v6.1.5", "v6.1.4", "v6.1.3", "v6.1.2", "v6.1.1", "v6.1.0", "v6.0.2", "v6.0.1", "v6.0.0", "v5.0.0", "v4.1.1", "v4.1.0", "v4.0.0", "v3.0.0", "v2.0.0", "v0.9", "v0.11", "v0.10"];
const version_paths = {"main": "../../index.html", "v6.1.9": "../v6.1.9/index.html", "v6.1.8": "../v6.1.8/index.html", "v6.1.7": "../v6.1.7/index.html", "v6.1.6": "../v6.1.6/index.html", "v6.1.5": "../v6.1.5/index.html", "v6.1.4": "../v6.1.4/index.html", "v6.1.3": "../v6.1.3/index.html", "v6.1.2": "../v6.1.2/index.html", "v6.1.1": "../v6.1.1/index.html", "v6.1.0": "../v6.1.0/index.html", "v6.0.2": "../v6.0.2/index.html", "v6.0.1": "../v6.0.1/index.html", "v6.0.0": "../v6.0.0/index.html", "v5.0.0": "../v5.0.0/index.html", "v4.1.1": "../v4.1.1/index.html", "v4.1.0": "../v4.1.0/index.html", "v4.0.0": "../v4.0.0/index.html", "v3.0.0": "../v3.0.0/index.html", "v2.0.0": "../v2.0.0/index.html", "v0.9": "../v0.9/index.html", "v0.11": "index.html", "v0.10": "../v0.10/index.html"};
const currentVersion = "v0.11";
// Sort versions: 'main' first, then others numerically descending.
versions.sort((a, b) => {
if (a === 'main') return -1;
if (b === 'main') return 1;
return b.localeCompare(a, undefined, { numeric: true, sensitivity: 'base' });
});
const select = document.createElement('select');
select.onchange = function() {
const selectedVersion = this.value;
// Navigate directly to the pre-calculated relative path.
if (selectedVersion !== currentVersion) {
window.location.href = version_paths[selectedVersion];
}
};
versions.forEach(v => {
const option = document.createElement('option');
option.value = v;
option.textContent = v;
if (v === currentVersion) {
option.selected = true;
}
select.appendChild(option);
});
// Replace the Doxygen project number element with our dropdown.
projectNumber.replaceWith(select);
// Apply some styling to make it look good.
Object.assign(select.style, {
backgroundColor: 'rgba(0, 0, 0, 0.8)',
color: 'white',
border: '1px solid rgba(255, 255, 255, 0.2)',
padding: '5px',
borderRadius: '5px',
fontSize: '14px',
fontFamily: 'inherit',
marginLeft: '10px',
cursor: 'pointer'
});
});
</script>
</body>
</html>