Repository URL to install this package:
|
Version:
6.3.5.2-2 ▾
|
<!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="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>LibreOffice: rtl/character.hxx Source File</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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">LibreOffice
</div>
<div id="projectbrief">LibreOffice 6.3 SDK C/C++ API Reference</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>File Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_76abd0e99dd7fac17b3d6a551048fb5f.html">rtl</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">character.hxx</div> </div>
</div><!--header-->
<div class="contents">
<a href="a00371.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * This file is part of the LibreOffice project.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * This Source Code Form is subject to the terms of the Mozilla Public</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * License, v. 2.0. If a copy of the MPL was not distributed with this</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * file, You can obtain one at http://mozilla.org/MPL/2.0/.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * This file incorporates work covered by the following license notice:</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * contributor license agreements. See the NOTICE file distributed</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * with this work for additional information regarding copyright</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * ownership. The ASF licenses this file to you under the Apache</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * License, Version 2.0 (the "License"); you may not use this file</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * except in compliance with the License. You may obtain a copy of</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * the License at http://www.apache.org/licenses/LICENSE-2.0 .</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#ifndef INCLUDED_RTL_CHARACTER_HXX</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"></span><span class="preprocessor">#define INCLUDED_RTL_CHARACTER_HXX</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "<a class="code" href="a00402.html">sal/config.h</a>"</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <cassert></span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <cstddef></span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include "<a class="code" href="a00409.html">sal/types.h</a>"</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">namespace </span>rtl</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> {</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4"> 41</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(sal_uInt32 code)</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> {</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">return</span> code <= 0x10FFFF;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> }</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="a00454.html#a4a3f5e221e4aabab3a1624fcf9df0d7e"> 54</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a4a3f5e221e4aabab3a1624fcf9df0d7e">isAscii</a>(sal_uInt32 code)</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> {</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">return</span> code <= 0x7F;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> }</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#if defined LIBO_INTERNAL_ONLY</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"></span><span class="keywordtype">bool</span> <a class="code" href="a00454.html#a4a3f5e221e4aabab3a1624fcf9df0d7e">isAscii</a>(<span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a4a3f5e221e4aabab3a1624fcf9df0d7e">isAscii</a>(<span class="keywordtype">signed</span> <span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a4a3f5e221e4aabab3a1624fcf9df0d7e">isAscii</a>(T code)</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> { <span class="keywordflow">return</span> <a class="code" href="a00454.html#a4a3f5e221e4aabab3a1624fcf9df0d7e">isAscii</a>(sal_uInt32(code)); }</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="a00454.html#a8284f4fc5a37e69b5e97d9e8dc57fc8a"> 76</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a8284f4fc5a37e69b5e97d9e8dc57fc8a">isAsciiLowerCase</a>(sal_uInt32 code)</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> {</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> code >= <span class="charliteral">'a'</span> && code <= <span class="charliteral">'z'</span>;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor">#if defined LIBO_INTERNAL_ONLY</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"></span><span class="keywordtype">bool</span> <a class="code" href="a00454.html#a8284f4fc5a37e69b5e97d9e8dc57fc8a">isAsciiLowerCase</a>(<span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a8284f4fc5a37e69b5e97d9e8dc57fc8a">isAsciiLowerCase</a>(<span class="keywordtype">signed</span> <span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a8284f4fc5a37e69b5e97d9e8dc57fc8a">isAsciiLowerCase</a>(T code)</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> { <span class="keywordflow">return</span> <a class="code" href="a00454.html#a8284f4fc5a37e69b5e97d9e8dc57fc8a">isAsciiLowerCase</a>(sal_uInt32(code)); }</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="a00454.html#aad278355d86f8311f9034fcaf3e8cc69"> 98</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#aad278355d86f8311f9034fcaf3e8cc69">isAsciiUpperCase</a>(sal_uInt32 code)</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> {</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">return</span> code >= <span class="charliteral">'A'</span> && code <= <span class="charliteral">'Z'</span>;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> }</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor">#if defined LIBO_INTERNAL_ONLY</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor"></span><span class="keywordtype">bool</span> <a class="code" href="a00454.html#aad278355d86f8311f9034fcaf3e8cc69">isAsciiUpperCase</a>(<span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#aad278355d86f8311f9034fcaf3e8cc69">isAsciiUpperCase</a>(<span class="keywordtype">signed</span> <span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#aad278355d86f8311f9034fcaf3e8cc69">isAsciiUpperCase</a>(T code)</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> { <span class="keywordflow">return</span> <a class="code" href="a00454.html#aad278355d86f8311f9034fcaf3e8cc69">isAsciiUpperCase</a>(sal_uInt32(code)); }</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="a00454.html#a3d756e23662f6ceb3f524c65a14563b1"> 120</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a3d756e23662f6ceb3f524c65a14563b1">isAsciiAlpha</a>(sal_uInt32 code)</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> {</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">return</span> <a class="code" href="a00454.html#a8284f4fc5a37e69b5e97d9e8dc57fc8a">isAsciiLowerCase</a>(code) || <a class="code" href="a00454.html#aad278355d86f8311f9034fcaf3e8cc69">isAsciiUpperCase</a>(code);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> }</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="preprocessor">#if defined LIBO_INTERNAL_ONLY</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="preprocessor"></span><span class="keywordtype">bool</span> <a class="code" href="a00454.html#a3d756e23662f6ceb3f524c65a14563b1">isAsciiAlpha</a>(<span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a3d756e23662f6ceb3f524c65a14563b1">isAsciiAlpha</a>(<span class="keywordtype">signed</span> <span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a3d756e23662f6ceb3f524c65a14563b1">isAsciiAlpha</a>(T code)</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> { <span class="keywordflow">return</span> <a class="code" href="a00454.html#a3d756e23662f6ceb3f524c65a14563b1">isAsciiAlpha</a>(sal_uInt32(code)); }</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="a00454.html#a017347330dbc7bd2a4c6bbd045a59110"> 142</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a017347330dbc7bd2a4c6bbd045a59110">isAsciiDigit</a>(sal_uInt32 code)</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> {</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">return</span> code >= <span class="charliteral">'0'</span> && code <= <span class="charliteral">'9'</span>;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> }</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="preprocessor">#if defined LIBO_INTERNAL_ONLY</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="preprocessor"></span><span class="keywordtype">bool</span> <a class="code" href="a00454.html#a017347330dbc7bd2a4c6bbd045a59110">isAsciiDigit</a>(<span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a017347330dbc7bd2a4c6bbd045a59110">isAsciiDigit</a>(<span class="keywordtype">signed</span> <span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a017347330dbc7bd2a4c6bbd045a59110">isAsciiDigit</a>(T code)</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> { <span class="keywordflow">return</span> <a class="code" href="a00454.html#a017347330dbc7bd2a4c6bbd045a59110">isAsciiDigit</a>(sal_uInt32(code)); }</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="a00454.html#a9b690f21e41ee26b886af08edf0882ec"> 164</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a9b690f21e41ee26b886af08edf0882ec">isAsciiAlphanumeric</a>(sal_uInt32 code)</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> {</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">return</span> <a class="code" href="a00454.html#a017347330dbc7bd2a4c6bbd045a59110">isAsciiDigit</a>(code) || <a class="code" href="a00454.html#a3d756e23662f6ceb3f524c65a14563b1">isAsciiAlpha</a>(code);</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> }</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor">#if defined LIBO_INTERNAL_ONLY</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor"></span><span class="keywordtype">bool</span> <a class="code" href="a00454.html#a9b690f21e41ee26b886af08edf0882ec">isAsciiAlphanumeric</a>(<span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a9b690f21e41ee26b886af08edf0882ec">isAsciiAlphanumeric</a>(<span class="keywordtype">signed</span> <span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a9b690f21e41ee26b886af08edf0882ec">isAsciiAlphanumeric</a>(T code)</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> { <span class="keywordflow">return</span> <a class="code" href="a00454.html#a9b690f21e41ee26b886af08edf0882ec">isAsciiAlphanumeric</a>(sal_uInt32(code)); }</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="a00454.html#a23d91750311ab471fd9ca7884a6195ec"> 186</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a23d91750311ab471fd9ca7884a6195ec">isAsciiCanonicHexDigit</a>(sal_uInt32 code)</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> {</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">return</span> <a class="code" href="a00454.html#a017347330dbc7bd2a4c6bbd045a59110">isAsciiDigit</a>(code) || (code >= <span class="charliteral">'A'</span> && code <= <span class="charliteral">'F'</span>);</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> }</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor">#if defined LIBO_INTERNAL_ONLY</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor"></span><span class="keywordtype">bool</span> <a class="code" href="a00454.html#a23d91750311ab471fd9ca7884a6195ec">isAsciiCanonicHexDigit</a>(<span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a23d91750311ab471fd9ca7884a6195ec">isAsciiCanonicHexDigit</a>(<span class="keywordtype">signed</span> <span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a23d91750311ab471fd9ca7884a6195ec">isAsciiCanonicHexDigit</a>(T code)</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> { <span class="keywordflow">return</span> <a class="code" href="a00454.html#a23d91750311ab471fd9ca7884a6195ec">isAsciiCanonicHexDigit</a>(sal_uInt32(code)); }</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="a00454.html#a91265edfaeed1d46b536a8048c8fa911"> 208</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a91265edfaeed1d46b536a8048c8fa911">isAsciiHexDigit</a>(sal_uInt32 code)</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> {</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">return</span> <a class="code" href="a00454.html#a23d91750311ab471fd9ca7884a6195ec">isAsciiCanonicHexDigit</a>(code) || (code >= <span class="charliteral">'a'</span> && code <= <span class="charliteral">'f'</span>);</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> }</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="preprocessor">#if defined LIBO_INTERNAL_ONLY</span></div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="preprocessor"></span><span class="keywordtype">bool</span> <a class="code" href="a00454.html#a91265edfaeed1d46b536a8048c8fa911">isAsciiHexDigit</a>(<span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a91265edfaeed1d46b536a8048c8fa911">isAsciiHexDigit</a>(<span class="keywordtype">signed</span> <span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a91265edfaeed1d46b536a8048c8fa911">isAsciiHexDigit</a>(T code)</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> { <span class="keywordflow">return</span> <a class="code" href="a00454.html#a91265edfaeed1d46b536a8048c8fa911">isAsciiHexDigit</a>(sal_uInt32(code)); }</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="a00454.html#aa7a3895ae80636e031229df43c50a1e5"> 229</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#aa7a3895ae80636e031229df43c50a1e5">isAsciiOctalDigit</a>(sal_uInt32 code)</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> {</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">return</span> code >= <span class="charliteral">'0'</span> && code <= <span class="charliteral">'7'</span>;</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> }</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="preprocessor">#if defined LIBO_INTERNAL_ONLY</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor"></span><span class="keywordtype">bool</span> <a class="code" href="a00454.html#aa7a3895ae80636e031229df43c50a1e5">isAsciiOctalDigit</a>(<span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#aa7a3895ae80636e031229df43c50a1e5">isAsciiOctalDigit</a>(<span class="keywordtype">signed</span> <span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#aa7a3895ae80636e031229df43c50a1e5">isAsciiOctalDigit</a>(T code)</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> { <span class="keywordflow">return</span> <a class="code" href="a00454.html#aa7a3895ae80636e031229df43c50a1e5">isAsciiOctalDigit</a>(sal_uInt32(code)); }</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="a00454.html#a5cdb259e6f157d5f4ad7e44a7b0a2651"> 251</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a5cdb259e6f157d5f4ad7e44a7b0a2651">isAsciiWhiteSpace</a>(sal_uInt32 code)</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> {</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">return</span> code == <span class="charliteral">' '</span> || code == <span class="charliteral">'\f'</span> || code == <span class="charliteral">'\n'</span> || code == <span class="charliteral">'\r'</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  || code == <span class="charliteral">'\t'</span> || code == <span class="charliteral">'\v'</span>;</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> }</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="preprocessor">#if defined LIBO_INTERNAL_ONLY</span></div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="preprocessor"></span><span class="keywordtype">bool</span> <a class="code" href="a00454.html#a5cdb259e6f157d5f4ad7e44a7b0a2651">isAsciiWhiteSpace</a>(<span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a5cdb259e6f157d5f4ad7e44a7b0a2651">isAsciiWhiteSpace</a>(<span class="keywordtype">signed</span> <span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a5cdb259e6f157d5f4ad7e44a7b0a2651">isAsciiWhiteSpace</a>(T code)</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> { <span class="keywordflow">return</span> <a class="code" href="a00454.html#a5cdb259e6f157d5f4ad7e44a7b0a2651">isAsciiWhiteSpace</a>(sal_uInt32(code)); }</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="a00454.html#afd0cd2ed0e36394305c3c722669d6b89"> 273</a></span> <span class="keyword">inline</span> sal_uInt32 <a class="code" href="a00454.html#afd0cd2ed0e36394305c3c722669d6b89">toAsciiUpperCase</a>(sal_uInt32 code)</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> {</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">return</span> <a class="code" href="a00454.html#a8284f4fc5a37e69b5e97d9e8dc57fc8a">isAsciiLowerCase</a>(code) ? code - 32 : code;</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> }</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="preprocessor">#if defined LIBO_INTERNAL_ONLY</span></div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="preprocessor"></span>sal_uInt32 <a class="code" href="a00454.html#afd0cd2ed0e36394305c3c722669d6b89">toAsciiUpperCase</a>(<span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> sal_uInt32 <a class="code" href="a00454.html#afd0cd2ed0e36394305c3c722669d6b89">toAsciiUpperCase</a>(<span class="keywordtype">signed</span> <span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">inline</span> sal_uInt32 <a class="code" href="a00454.html#afd0cd2ed0e36394305c3c722669d6b89">toAsciiUpperCase</a>(T code)</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> { <span class="keywordflow">return</span> <a class="code" href="a00454.html#afd0cd2ed0e36394305c3c722669d6b89">toAsciiUpperCase</a>(sal_uInt32(code)); }</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="a00454.html#ad8553ef33f5d1bc377f9d3d36766bbf9"> 294</a></span> <span class="keyword">inline</span> sal_uInt32 <a class="code" href="a00454.html#ad8553ef33f5d1bc377f9d3d36766bbf9">toAsciiLowerCase</a>(sal_uInt32 code)</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> {</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">return</span> <a class="code" href="a00454.html#aad278355d86f8311f9034fcaf3e8cc69">isAsciiUpperCase</a>(code) ? code + 32 : code;</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="preprocessor">#if defined LIBO_INTERNAL_ONLY</span></div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="preprocessor"></span>sal_uInt32 <a class="code" href="a00454.html#ad8553ef33f5d1bc377f9d3d36766bbf9">toAsciiLowerCase</a>(<span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> sal_uInt32 <a class="code" href="a00454.html#ad8553ef33f5d1bc377f9d3d36766bbf9">toAsciiLowerCase</a>(<span class="keywordtype">signed</span> <span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keyword">template</span><<span class="keyword">typename</span> T> <span class="keyword">inline</span> sal_uInt32 <a class="code" href="a00454.html#ad8553ef33f5d1bc377f9d3d36766bbf9">toAsciiLowerCase</a>(T code)</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> { <span class="keywordflow">return</span> <a class="code" href="a00454.html#ad8553ef33f5d1bc377f9d3d36766bbf9">toAsciiLowerCase</a>(sal_uInt32(code)); }</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="a00454.html#aaeaaf43ad0a56b823ed4b7c828018cdb"> 319</a></span> <span class="keyword">inline</span> sal_Int32 <a class="code" href="a00454.html#aaeaaf43ad0a56b823ed4b7c828018cdb">compareIgnoreAsciiCase</a>(sal_uInt32 code1, sal_uInt32 code2)</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> {</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code1));</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code2));</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span>sal_Int32<span class="keyword">></span>(<a class="code" href="a00454.html#ad8553ef33f5d1bc377f9d3d36766bbf9">toAsciiLowerCase</a>(code1))</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  - static_cast<sal_Int32>(<a class="code" href="a00454.html#ad8553ef33f5d1bc377f9d3d36766bbf9">toAsciiLowerCase</a>(code2));</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="keyword">namespace </span>detail {</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> sal_uInt32 <span class="keyword">const</span> surrogatesHighFirst = 0xD800;</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> sal_uInt32 <span class="keyword">const</span> surrogatesHighLast = 0xDBFF;</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> sal_uInt32 <span class="keyword">const</span> surrogatesLowFirst = 0xDC00;</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> sal_uInt32 <span class="keyword">const</span> surrogatesLowLast = 0xDFFF;</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> }</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
<div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="a00454.html#aea17bd9fb32d3a900b27901d40bc1849"> 346</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#aea17bd9fb32d3a900b27901d40bc1849">isSurrogate</a>(sal_uInt32 code) {</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">return</span> code >= detail::surrogatesHighFirst</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  && code <= detail::surrogatesLowLast;</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> }</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
<div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="a00454.html#a8a67a886dcd06bd20aaaa0c6faabc5ae"> 360</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a8a67a886dcd06bd20aaaa0c6faabc5ae">isHighSurrogate</a>(sal_uInt32 code) {</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">return</span> code >= detail::surrogatesHighFirst</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  && code <= detail::surrogatesHighLast;</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> }</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="a00454.html#a3f5a51bb299bbedb97e001907cb32c8f"> 374</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#a3f5a51bb299bbedb97e001907cb32c8f">isLowSurrogate</a>(sal_uInt32 code) {</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">return</span> code >= detail::surrogatesLowFirst</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  && code <= detail::surrogatesLowLast;</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> }</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
<div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="a00454.html#aca4f57ffe4ce039dbfecc4867f2f2f24"> 388</a></span> <span class="keyword">inline</span> <a class="code" href="a00409.html#aa610619c9a4164b4cd9b6a86351da3cd">sal_Unicode</a> <a class="code" href="a00454.html#aca4f57ffe4ce039dbfecc4867f2f2f24">getHighSurrogate</a>(sal_uInt32 code) {</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  assert(code >= 0x10000);</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><a class="code" href="a00409.html#aa610619c9a4164b4cd9b6a86351da3cd">sal_Unicode</a><span class="keyword">></span>(((code - 0x10000) >> 10) | detail::surrogatesHighFirst);</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> }</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div>
<div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="a00454.html#ab934d30e2f1dc876473e7225c4757566"> 402</a></span> <span class="keyword">inline</span> <a class="code" href="a00409.html#aa610619c9a4164b4cd9b6a86351da3cd">sal_Unicode</a> <a class="code" href="a00454.html#ab934d30e2f1dc876473e7225c4757566">getLowSurrogate</a>(sal_uInt32 code) {</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  assert(code >= 0x10000);</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><a class="code" href="a00409.html#aa610619c9a4164b4cd9b6a86351da3cd">sal_Unicode</a><span class="keyword">></span>(((code - 0x10000) & 0x3FF) | detail::surrogatesLowFirst);</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> }</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
<div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="a00454.html#adaa310463dd24cf3d3aba8e352da493e"> 418</a></span> <span class="keyword">inline</span> sal_uInt32 <a class="code" href="a00454.html#adaa310463dd24cf3d3aba8e352da493e">combineSurrogates</a>(sal_uInt32 high, sal_uInt32 low) {</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  assert(<a class="code" href="a00454.html#a8a67a886dcd06bd20aaaa0c6faabc5ae">isHighSurrogate</a>(high));</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  assert(<a class="code" href="a00454.html#a3f5a51bb299bbedb97e001907cb32c8f">isLowSurrogate</a>(low));</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">return</span> ((high - detail::surrogatesHighFirst) << 10)</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  + (low - detail::surrogatesLowFirst) + 0x10000;</div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> }</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div>
<div class="line"><a name="l00437"></a><span class="lineno"><a class="line" href="a00454.html#a69282f5d0d39c2f1514f5507ad1c830a"> 437</a></span> <span class="keyword">inline</span> std::size_t <a class="code" href="a00454.html#a69282f5d0d39c2f1514f5507ad1c830a">splitSurrogates</a>(sal_uInt32 code, <a class="code" href="a00409.html#aa610619c9a4164b4cd9b6a86351da3cd">sal_Unicode</a> * output) {</div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  assert(<a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code));</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  assert(output != NULL);</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keywordflow">if</span> (code < 0x10000) {</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  output[0] = code;</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">return</span> 1;</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  output[0] = <a class="code" href="a00454.html#aca4f57ffe4ce039dbfecc4867f2f2f24">getHighSurrogate</a>(code);</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  output[1] = <a class="code" href="a00454.html#ab934d30e2f1dc876473e7225c4757566">getLowSurrogate</a>(code);</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">return</span> 2;</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  }</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> }</div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div>
<div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="a00454.html#abbd9d784afcef9ba75f9e19d04db7b23"> 458</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="a00454.html#abbd9d784afcef9ba75f9e19d04db7b23">isUnicodeScalarValue</a>(sal_uInt32 code)</div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> {</div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">return</span> <a class="code" href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">isUnicodeCodePoint</a>(code) && !<a class="code" href="a00454.html#aea17bd9fb32d3a900b27901d40bc1849">isSurrogate</a>(code);</div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> }</div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> }</div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="comment">/* vim:set shiftwidth=4 softtabstop=4 expandtab: */</span></div>
<div class="ttc" id="a00454_html_adaa310463dd24cf3d3aba8e352da493e"><div class="ttname"><a href="a00454.html#adaa310463dd24cf3d3aba8e352da493e">rtl::combineSurrogates</a></div><div class="ttdeci">sal_uInt32 combineSurrogates(sal_uInt32 high, sal_uInt32 low)</div><div class="ttdoc">Combine surrogates to form a code point. </div><div class="ttdef"><b>Definition:</b> character.hxx:418</div></div>
<div class="ttc" id="a00454_html_a8284f4fc5a37e69b5e97d9e8dc57fc8a"><div class="ttname"><a href="a00454.html#a8284f4fc5a37e69b5e97d9e8dc57fc8a">rtl::isAsciiLowerCase</a></div><div class="ttdeci">bool isAsciiLowerCase(sal_uInt32 code)</div><div class="ttdoc">Check for ASCII lower case character. </div><div class="ttdef"><b>Definition:</b> character.hxx:76</div></div>
<div class="ttc" id="a00454_html_aca4f57ffe4ce039dbfecc4867f2f2f24"><div class="ttname"><a href="a00454.html#aca4f57ffe4ce039dbfecc4867f2f2f24">rtl::getHighSurrogate</a></div><div class="ttdeci">sal_Unicode getHighSurrogate(sal_uInt32 code)</div><div class="ttdoc">Get high surrogate half of a non-BMP Unicode code point. </div><div class="ttdef"><b>Definition:</b> character.hxx:388</div></div>
<div class="ttc" id="a00454_html_a91265edfaeed1d46b536a8048c8fa911"><div class="ttname"><a href="a00454.html#a91265edfaeed1d46b536a8048c8fa911">rtl::isAsciiHexDigit</a></div><div class="ttdeci">bool isAsciiHexDigit(sal_uInt32 code)</div><div class="ttdoc">Check for ASCII hexadecimal digit character. </div><div class="ttdef"><b>Definition:</b> character.hxx:208</div></div>
<div class="ttc" id="a00454_html_aaeaaf43ad0a56b823ed4b7c828018cdb"><div class="ttname"><a href="a00454.html#aaeaaf43ad0a56b823ed4b7c828018cdb">rtl::compareIgnoreAsciiCase</a></div><div class="ttdeci">sal_Int32 compareIgnoreAsciiCase(sal_uInt32 code1, sal_uInt32 code2)</div><div class="ttdoc">Compare two characters ignoring ASCII case. </div><div class="ttdef"><b>Definition:</b> character.hxx:319</div></div>
<div class="ttc" id="a00454_html_ab934d30e2f1dc876473e7225c4757566"><div class="ttname"><a href="a00454.html#ab934d30e2f1dc876473e7225c4757566">rtl::getLowSurrogate</a></div><div class="ttdeci">sal_Unicode getLowSurrogate(sal_uInt32 code)</div><div class="ttdoc">Get low surrogate half of a non-BMP Unicode code point. </div><div class="ttdef"><b>Definition:</b> character.hxx:402</div></div>
<div class="ttc" id="a00454_html_ad7e08245297df7630ec869a9e24b8ec4"><div class="ttname"><a href="a00454.html#ad7e08245297df7630ec869a9e24b8ec4">rtl::isUnicodeCodePoint</a></div><div class="ttdeci">bool isUnicodeCodePoint(sal_uInt32 code)</div><div class="ttdoc">Check for Unicode code point. </div><div class="ttdef"><b>Definition:</b> character.hxx:41</div></div>
<div class="ttc" id="a00409_html"><div class="ttname"><a href="a00409.html">types.h</a></div></div>
<div class="ttc" id="a00454_html_aea17bd9fb32d3a900b27901d40bc1849"><div class="ttname"><a href="a00454.html#aea17bd9fb32d3a900b27901d40bc1849">rtl::isSurrogate</a></div><div class="ttdeci">bool isSurrogate(sal_uInt32 code)</div><div class="ttdoc">Check for surrogate. </div><div class="ttdef"><b>Definition:</b> character.hxx:346</div></div>
<div class="ttc" id="a00454_html_aa7a3895ae80636e031229df43c50a1e5"><div class="ttname"><a href="a00454.html#aa7a3895ae80636e031229df43c50a1e5">rtl::isAsciiOctalDigit</a></div><div class="ttdeci">bool isAsciiOctalDigit(sal_uInt32 code)</div><div class="ttdoc">Check for ASCII octal digit character. </div><div class="ttdef"><b>Definition:</b> character.hxx:229</div></div>
<div class="ttc" id="a00454_html_afd0cd2ed0e36394305c3c722669d6b89"><div class="ttname"><a href="a00454.html#afd0cd2ed0e36394305c3c722669d6b89">rtl::toAsciiUpperCase</a></div><div class="ttdeci">sal_uInt32 toAsciiUpperCase(sal_uInt32 code)</div><div class="ttdoc">Convert a character, if ASCII, to upper case. </div><div class="ttdef"><b>Definition:</b> character.hxx:273</div></div>
<div class="ttc" id="a00454_html_a4a3f5e221e4aabab3a1624fcf9df0d7e"><div class="ttname"><a href="a00454.html#a4a3f5e221e4aabab3a1624fcf9df0d7e">rtl::isAscii</a></div><div class="ttdeci">bool isAscii(sal_uInt32 code)</div><div class="ttdoc">Check for ASCII character. </div><div class="ttdef"><b>Definition:</b> character.hxx:54</div></div>
<div class="ttc" id="a00454_html_a8a67a886dcd06bd20aaaa0c6faabc5ae"><div class="ttname"><a href="a00454.html#a8a67a886dcd06bd20aaaa0c6faabc5ae">rtl::isHighSurrogate</a></div><div class="ttdeci">bool isHighSurrogate(sal_uInt32 code)</div><div class="ttdoc">Check for high surrogate. </div><div class="ttdef"><b>Definition:</b> character.hxx:360</div></div>
<div class="ttc" id="a00454_html_a017347330dbc7bd2a4c6bbd045a59110"><div class="ttname"><a href="a00454.html#a017347330dbc7bd2a4c6bbd045a59110">rtl::isAsciiDigit</a></div><div class="ttdeci">bool isAsciiDigit(sal_uInt32 code)</div><div class="ttdoc">Check for ASCII digit character. </div><div class="ttdef"><b>Definition:</b> character.hxx:142</div></div>
<div class="ttc" id="a00454_html_abbd9d784afcef9ba75f9e19d04db7b23"><div class="ttname"><a href="a00454.html#abbd9d784afcef9ba75f9e19d04db7b23">rtl::isUnicodeScalarValue</a></div><div class="ttdeci">bool isUnicodeScalarValue(sal_uInt32 code)</div><div class="ttdoc">Check for Unicode scalar value. </div><div class="ttdef"><b>Definition:</b> character.hxx:458</div></div>
<div class="ttc" id="a00454_html_aad278355d86f8311f9034fcaf3e8cc69"><div class="ttname"><a href="a00454.html#aad278355d86f8311f9034fcaf3e8cc69">rtl::isAsciiUpperCase</a></div><div class="ttdeci">bool isAsciiUpperCase(sal_uInt32 code)</div><div class="ttdoc">Check for ASCII upper case character. </div><div class="ttdef"><b>Definition:</b> character.hxx:98</div></div>
<div class="ttc" id="a00409_html_aa610619c9a4164b4cd9b6a86351da3cd"><div class="ttname"><a href="a00409.html#aa610619c9a4164b4cd9b6a86351da3cd">sal_Unicode</a></div><div class="ttdeci">sal_uInt16 sal_Unicode</div><div class="ttdef"><b>Definition:</b> types.h:141</div></div>
<div class="ttc" id="a00454_html_a3f5a51bb299bbedb97e001907cb32c8f"><div class="ttname"><a href="a00454.html#a3f5a51bb299bbedb97e001907cb32c8f">rtl::isLowSurrogate</a></div><div class="ttdeci">bool isLowSurrogate(sal_uInt32 code)</div><div class="ttdoc">Check for low surrogate. </div><div class="ttdef"><b>Definition:</b> character.hxx:374</div></div>
<div class="ttc" id="a00454_html_a69282f5d0d39c2f1514f5507ad1c830a"><div class="ttname"><a href="a00454.html#a69282f5d0d39c2f1514f5507ad1c830a">rtl::splitSurrogates</a></div><div class="ttdeci">std::size_t splitSurrogates(sal_uInt32 code, sal_Unicode *output)</div><div class="ttdoc">Split a Unicode code point into UTF-16 code units. </div><div class="ttdef"><b>Definition:</b> character.hxx:437</div></div>
<div class="ttc" id="a00454_html_a9b690f21e41ee26b886af08edf0882ec"><div class="ttname"><a href="a00454.html#a9b690f21e41ee26b886af08edf0882ec">rtl::isAsciiAlphanumeric</a></div><div class="ttdeci">bool isAsciiAlphanumeric(sal_uInt32 code)</div><div class="ttdoc">Check for ASCII alphanumeric character. </div><div class="ttdef"><b>Definition:</b> character.hxx:164</div></div>
<div class="ttc" id="a00402_html"><div class="ttname"><a href="a00402.html">config.h</a></div></div>
<div class="ttc" id="a00454_html_a5cdb259e6f157d5f4ad7e44a7b0a2651"><div class="ttname"><a href="a00454.html#a5cdb259e6f157d5f4ad7e44a7b0a2651">rtl::isAsciiWhiteSpace</a></div><div class="ttdeci">bool isAsciiWhiteSpace(sal_uInt32 code)</div><div class="ttdoc">Check for ASCII white space character. </div><div class="ttdef"><b>Definition:</b> character.hxx:251</div></div>
<div class="ttc" id="a00454_html_a23d91750311ab471fd9ca7884a6195ec"><div class="ttname"><a href="a00454.html#a23d91750311ab471fd9ca7884a6195ec">rtl::isAsciiCanonicHexDigit</a></div><div class="ttdeci">bool isAsciiCanonicHexDigit(sal_uInt32 code)</div><div class="ttdoc">Check for ASCII canonic hexadecimal digit character. </div><div class="ttdef"><b>Definition:</b> character.hxx:186</div></div>
<div class="ttc" id="a00454_html_a3d756e23662f6ceb3f524c65a14563b1"><div class="ttname"><a href="a00454.html#a3d756e23662f6ceb3f524c65a14563b1">rtl::isAsciiAlpha</a></div><div class="ttdeci">bool isAsciiAlpha(sal_uInt32 code)</div><div class="ttdoc">Check for ASCII alphabetic character. </div><div class="ttdef"><b>Definition:</b> character.hxx:120</div></div>
<div class="ttc" id="a00454_html_ad8553ef33f5d1bc377f9d3d36766bbf9"><div class="ttname"><a href="a00454.html#ad8553ef33f5d1bc377f9d3d36766bbf9">rtl::toAsciiLowerCase</a></div><div class="ttdeci">sal_uInt32 toAsciiLowerCase(sal_uInt32 code)</div><div class="ttdoc">Convert a character, if ASCII, to lower case. </div><div class="ttdef"><b>Definition:</b> character.hxx:294</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>