Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
libobasis6.3-sdk / opt / libreoffice6.3 / sdk / docs / cpp / ref / a00385_source.html
Size: Mime:
<!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/strbuf.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&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;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&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</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">strbuf.hxx</div>  </div>
</div><!--header-->
<div class="contents">
<a href="a00385.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<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>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<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>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<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>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment"> *   License, Version 2.0 (the &quot;License&quot;); you may not use this file</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<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>&#160;<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>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#ifndef INCLUDED_RTL_STRBUF_HXX</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define INCLUDED_RTL_STRBUF_HXX</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00402.html">sal/config.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;cassert&gt;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;cstring&gt;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00384.html">rtl/strbuf.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00387.html">rtl/string.hxx</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00389.html">rtl/stringutils.hxx</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifdef LIBO_INTERNAL_ONLY // &quot;RTL_FAST_STRING&quot;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="a00388.html">rtl/stringconcat.hxx</a>&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#ifdef RTL_STRING_UNITTEST</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="keywordtype">bool</span> rtl_string_unittest_const_literal;</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">bool</span> rtl_string_unittest_const_literal_function;</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// The unittest uses slightly different code to help check that the proper</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">// calls are made. The class is put into a different namespace to make</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">// sure the compiler generates a different (if generating also non-inline)</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">// copy of the function and does not merge them together. The class</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// is &quot;brought&quot; into the proper rtl namespace by a typedef below.</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#ifdef RTL_STRING_UNITTEST</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define rtl rtlunittest</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">namespace </span>rtl</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;{</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#ifdef RTL_STRING_UNITTEST</span></div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#undef rtl</span></div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"></span><span class="comment">// helper macro to make functions appear more readable</span></div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#define RTL_STRING_CONST_FUNCTION rtl_string_unittest_const_literal_function = true;</span></div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define RTL_STRING_CONST_FUNCTION</span></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="a00149.html">   65</a></span>&#160;<span class="keyword">class </span><a class="code" href="a00409.html#af3f9a0ae90b2fa68c7ccb7488d0f4304">SAL_WARN_UNUSED</a> <a class="code" href="a00149.html">OStringBuffer</a></div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;{</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="a00149.html#a0f8af297ea44ef2d25bba6ca9cea11f9">   72</a></span>&#160;    <a class="code" href="a00149.html#a0f8af297ea44ef2d25bba6ca9cea11f9">OStringBuffer</a>()</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        : pData(NULL)</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        , nCapacity( 16 )</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    {</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <a class="code" href="a00386.html#a9d16505afdc0f364f41e6292403e21cb">rtl_string_new_WithLength</a>( &amp;pData, nCapacity );</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    }</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="a00149.html#ac75ee02fd22fc5b0ae2d9b38d79ff431">   85</a></span>&#160;    <a class="code" href="a00149.html#ac75ee02fd22fc5b0ae2d9b38d79ff431">OStringBuffer</a>( <span class="keyword">const</span> <a class="code" href="a00149.html">OStringBuffer</a> &amp; value )</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        : pData(NULL)</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        , nCapacity( value.nCapacity )</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    {</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        <a class="code" href="a00384.html#a9209f3a3e648365baebd088cf1790278">rtl_stringbuffer_newFromStringBuffer</a>( &amp;pData, value.<a class="code" href="a00149.html#a798b5de14027a381fb0c9d5cdb86e45e">nCapacity</a>, value.<a class="code" href="a00149.html#a4271c6cbbbe7159a988ef870476fe435">pData</a> );</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    }</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="a00149.html#a9e0c379baeb7a085b6aa7fd8695cd344">   98</a></span>&#160;    <span class="keyword">explicit</span> <a class="code" href="a00149.html#a9e0c379baeb7a085b6aa7fd8695cd344">OStringBuffer</a>(<span class="keywordtype">int</span> length)</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        : pData(NULL)</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        , nCapacity( length )</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    {</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        <a class="code" href="a00386.html#a9d16505afdc0f364f41e6292403e21cb">rtl_string_new_WithLength</a>( &amp;pData, length );</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    }</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">#if __cplusplus &gt;= 201103L</span></div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor"></span>    <span class="keyword">explicit</span> <a class="code" href="a00149.html">OStringBuffer</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length)</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        : <a class="code" href="a00149.html">OStringBuffer</a>(static_cast&lt;int&gt;(length))</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    {</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    }</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">#if SAL_TYPES_SIZEOFLONG == 4</span></div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor"></span>    <span class="comment">// additional overloads for sal_Int32 sal_uInt32</span></div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keyword">explicit</span> OStringBuffer(<span class="keywordtype">long</span> length)</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        : OStringBuffer(static_cast&lt;int&gt;(length))</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    {</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    }</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keyword">explicit</span> OStringBuffer(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length)</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        : OStringBuffer(static_cast&lt;int&gt;(length))</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    {</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    }</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor"></span>    <span class="comment">// avoid obvious bugs</span></div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keyword">explicit</span> OStringBuffer(<span class="keywordtype">char</span>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">explicit</span> OStringBuffer(<a class="code" href="a00409.html#aa610619c9a4164b4cd9b6a86351da3cd">sal_Unicode</a>) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="a00149.html#a4dd5ab8ae219b19ad15de789dc54d66d">  135</a></span>&#160;    <a class="code" href="a00149.html#a4dd5ab8ae219b19ad15de789dc54d66d">OStringBuffer</a>(<span class="keyword">const</span> <a class="code" href="a00148.html">OString</a>&amp; value)</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        : pData(NULL)</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        , nCapacity( value.getLength() + 16 )</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    {</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        <a class="code" href="a00384.html#a7ea584d49d2ecdc47083ce2f21ecf273">rtl_stringbuffer_newFromStr_WithLength</a>( &amp;pData, value.<a class="code" href="a00148.html#a56df3c85362dcde3374245cbb4476e0c">getStr</a>(), value.<a class="code" href="a00148.html#ae8623ff42d0d50803a2406830d3fc37e">getLength</a>() );</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    }</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T &gt;</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a>( <span class="keyword">const</span> T&amp; value, <span class="keyword">typename</span> <a class="code" href="a00058.html">libreoffice_internal::CharPtrDetector&lt; T, libreoffice_internal::Dummy &gt;::Type</a> = <a class="code" href="a00077.html">libreoffice_internal::Dummy</a>())</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        : pData(NULL)</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    {</div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="a00149.html#a0b287f918c158e921ba6d5867a7d68f7">  150</a></span>&#160;        sal_Int32 length = <a class="code" href="a00386.html#a4925896c200938792c611378bd28b693">rtl_str_getLength</a>( value );</div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="a00149.html#a798b5de14027a381fb0c9d5cdb86e45e">  151</a></span>&#160;        nCapacity = length + 16;</div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="a00149.html#a4271c6cbbbe7159a988ef870476fe435">  152</a></span>&#160;        <a class="code" href="a00384.html#a7ea584d49d2ecdc47083ce2f21ecf273">rtl_stringbuffer_newFromStr_WithLength</a>( &amp;pData, value, length );</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    }</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T &gt;</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a>( T&amp; value, <span class="keyword">typename</span> <a class="code" href="a00131.html">libreoffice_internal::NonConstCharArrayDetector&lt; T, libreoffice_internal::Dummy &gt;::Type</a> = <a class="code" href="a00077.html">libreoffice_internal::Dummy</a>())</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        : pData(NULL)</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    {</div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="a00149.html#aaec947f287a8a4fc31c891b760ba06a9">  159</a></span>&#160;        sal_Int32 length = <a class="code" href="a00386.html#a4925896c200938792c611378bd28b693">rtl_str_getLength</a>( value );</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        nCapacity = length + 16;</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <a class="code" href="a00384.html#a7ea584d49d2ecdc47083ce2f21ecf273">rtl_stringbuffer_newFromStr_WithLength</a>( &amp;pData, value, length );</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    }</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T &gt;</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a>( T&amp; literal, <span class="keyword">typename</span> <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt; T, libreoffice_internal::Dummy &gt;::Type</a> = <a class="code" href="a00077.html">libreoffice_internal::Dummy</a>())</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        : pData(NULL)</div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="a00149.html#a748855a4f594323368e7f41e0960c614">  178</a></span>&#160;        , nCapacity( libreoffice_internal::ConstCharArrayDetector&lt;T&gt;::length + 16 )</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    {</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        assert(</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;            <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt;T&gt;::isValid</a>(literal));</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <a class="code" href="a00386.html#a17666164caf81d5b242edd0152898df6">rtl_string_newFromLiteral</a>(</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;            &amp;pData,</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;            <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt;T&gt;::toPointer</a>(literal),</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;            <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt;T&gt;::length</a>, 16);</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="preprocessor">#ifdef RTL_STRING_UNITTEST</span></div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor"></span>        rtl_string_unittest_const_literal = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="preprocessor"></span>    }</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div>
<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="a00149.html#ad563964c2c5c30ef1f3f6368964743c3">  203</a></span>&#160;    <a class="code" href="a00149.html#ad563964c2c5c30ef1f3f6368964743c3">OStringBuffer</a>(<span class="keyword">const</span> <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> * value, sal_Int32 length)</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;        : pData(NULL)</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;        , nCapacity( length + 16 )</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    {</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        <a class="code" href="a00384.html#a7ea584d49d2ecdc47083ce2f21ecf273">rtl_stringbuffer_newFromStr_WithLength</a>( &amp;pData, value, length );</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    }</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="preprocessor">#ifdef LIBO_INTERNAL_ONLY // &quot;RTL_FAST_STRING&quot;</span></div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2 &gt;</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a>( OStringConcat&lt; T1, T2 &gt;&amp;&amp; c )</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    {</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        <span class="keyword">const</span> sal_Int32 l = c.length();</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        nCapacity = l + 16;</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        pData = <a class="code" href="a00386.html#a62cb4aeb21abaed051c18c0a3a481d78">rtl_string_alloc</a>( nCapacity );</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;        <span class="keywordtype">char</span>* end = c.addData( pData-&gt;buffer );</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;        *end = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;        pData-&gt;length = l;</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    }</div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="a00149.html#a39ebd3c3b08b92afc043939673c9b59a">  229</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a>&amp; operator = ( <span class="keyword">const</span> <a class="code" href="a00149.html">OStringBuffer</a>&amp; value )</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    {</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;        <span class="keywordflow">if</span> (<span class="keyword">this</span> != &amp;value)</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;        {</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;            <a class="code" href="a00384.html#a9209f3a3e648365baebd088cf1790278">rtl_stringbuffer_newFromStringBuffer</a>(&amp;pData,</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;                                                  value.<a class="code" href="a00149.html#a798b5de14027a381fb0c9d5cdb86e45e">nCapacity</a>,</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;                                                  value.<a class="code" href="a00149.html#a4271c6cbbbe7159a988ef870476fe435">pData</a>);</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;            nCapacity = value.<a class="code" href="a00149.html#a798b5de14027a381fb0c9d5cdb86e45e">nCapacity</a>;</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        }</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    }</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div>
<div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="a00149.html#a26cd46f184f2b018a0e27c4c653db4b0">  245</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; operator =(<a class="code" href="a00148.html">OString</a> <span class="keyword">const</span> &amp; <span class="keywordtype">string</span>) {</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        sal_Int32 n = <span class="keywordtype">string</span>.<a class="code" href="a00149.html#a7fe260525c2a37d963ab9671a9d8ad38">getLength</a>();</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        <span class="keywordflow">if</span> (n &gt;= nCapacity) {</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;            ensureCapacity(n + 16); <span class="comment">//TODO: check for overflow</span></div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        }</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        std::memcpy(pData-&gt;buffer, <span class="keywordtype">string</span>.pData-&gt;buffer, n + 1);</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;        pData-&gt;length = n;</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    }</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <span class="keyword">typename</span></div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt;T, OStringBuffer &amp;&gt;::Type</a></div>
<div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="a00149.html#a9631b297426246ce28ca1a3fe378e5f8">  262</a></span>&#160;    operator =(T &amp; literal) {</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        assert(</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;            <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt;T&gt;::isValid</a>(literal));</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        sal_Int32 <span class="keyword">const</span> n</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;            = <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt;T&gt;::length</a>;</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        <span class="keywordflow">if</span> (n &gt;= nCapacity) {</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;            ensureCapacity(n + 16); <span class="comment">//TODO: check for overflow</span></div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        }</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        std::memcpy(</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;            pData-&gt;buffer,</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;            <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt;T&gt;::toPointer</a>(literal),</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;            n + 1);</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        pData-&gt;length = n;</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    }</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="preprocessor">#if defined LIBO_INTERNAL_ONLY</span></div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2&gt;</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; operator =(OStringConcat&lt;T1, T2&gt; &amp;&amp; concat) {</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        sal_Int32 <span class="keyword">const</span> n = concat.length();</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        <span class="keywordflow">if</span> (n &gt;= nCapacity) {</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;            ensureCapacity(n + 16); <span class="comment">//TODO: check for overflow</span></div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;        }</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        *concat.addData(pData-&gt;buffer) = 0;</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;        pData-&gt;length = n;</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    }</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="a00149.html#a8cfbf4244dc67482ae9a2a047336a452">  295</a></span>&#160;    <a class="code" href="a00149.html#a8cfbf4244dc67482ae9a2a047336a452">~OStringBuffer</a>()</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    {</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;        <a class="code" href="a00386.html#ac525b7700f1414fc37e6a0e3f2759e8d">rtl_string_release</a>( pData );</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    }</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div>
<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="a00149.html#a055de4de67357b2ae66534db4473e43c">  308</a></span>&#160;    <a class="code" href="a00409.html#ae7592498ff29e77d61c157d5a7c5197b">SAL_WARN_UNUSED_RESULT</a> <a class="code" href="a00148.html">OString</a> <a class="code" href="a00149.html#a055de4de67357b2ae66534db4473e43c">makeStringAndClear</a>()</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    {</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;        <a class="code" href="a00148.html">OString</a> aRet( pData );</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;        <a class="code" href="a00386.html#a822637c0e075e5d86b839df0f612dbe8">rtl_string_new</a>(&amp;pData);</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        nCapacity = 0;</div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;        <span class="keywordflow">return</span> aRet;</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    }</div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;</div>
<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="a00149.html#a7fe260525c2a37d963ab9671a9d8ad38">  321</a></span>&#160;    sal_Int32 <a class="code" href="a00149.html#a7fe260525c2a37d963ab9671a9d8ad38">getLength</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="keyword">    </span>{</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        <span class="keywordflow">return</span> pData-&gt;length;</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;    }</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;</div>
<div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="a00149.html#ad08a8cf074f3607a980456a72bb18a47">  334</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="a00149.html#ad08a8cf074f3607a980456a72bb18a47">isEmpty</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="keyword">    </span>{</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;        <span class="keywordflow">return</span> pData-&gt;length == 0;</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    }</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div>
<div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="a00149.html#a0876e760064e722aa3aa3045885d6f04">  349</a></span>&#160;    sal_Int32 <a class="code" href="a00149.html#a0876e760064e722aa3aa3045885d6f04">getCapacity</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="keyword">    </span>{</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        <span class="keywordflow">return</span> nCapacity;</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    }</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div>
<div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="a00149.html#a926ea93d243f4fcab5c01c3a6672ebb4">  365</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="a00149.html#a926ea93d243f4fcab5c01c3a6672ebb4">ensureCapacity</a>(sal_Int32 minimumCapacity)</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    {</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        <a class="code" href="a00384.html#a80573ae73117421ba540ee8a5c249ac4">rtl_stringbuffer_ensureCapacity</a>( &amp;pData, &amp;nCapacity, minimumCapacity );</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    }</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;</div>
<div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="a00149.html#a3cbd52488e5956511596cbb7169b9552">  388</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="a00149.html#a3cbd52488e5956511596cbb7169b9552">setLength</a>(sal_Int32 newLength)</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    {</div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        assert(newLength &gt;= 0);</div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        <span class="comment">// Avoid modifications if pData points to const empty string:</span></div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        <span class="keywordflow">if</span>( newLength != pData-&gt;length )</div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;        {</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;            <span class="keywordflow">if</span>( newLength &gt; nCapacity )</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;                <a class="code" href="a00384.html#a80573ae73117421ba540ee8a5c249ac4">rtl_stringbuffer_ensureCapacity</a>(&amp;pData, &amp;nCapacity, newLength);</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;                pData-&gt;buffer[newLength] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;            pData-&gt;length = newLength;</div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        }</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    }</div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;</div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <a class="code" href="a00409.html#a07f97528994e901bd25ab94872fabd03">SAL_DEPRECATED</a>(<span class="stringliteral">&quot;use rtl::OStringBuffer::operator [] instead&quot;</span>)</div>
<div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="a00149.html#a2b205cc9d3f51ae89974f420e9c0b0c6">  416</a></span>&#160;    <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> charAt( sal_Int32 index )</div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;    {</div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;        assert(index &gt;= 0 &amp;&amp; index &lt; pData-&gt;length);</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;        <span class="keywordflow">return</span> pData-&gt;buffer[ index ];</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    }</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;</div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;    <a class="code" href="a00409.html#a07f97528994e901bd25ab94872fabd03">SAL_DEPRECATED</a>(<span class="stringliteral">&quot;use rtl::OStringBuffer::operator [] instead&quot;</span>)</div>
<div class="line"><a name="l00433"></a><span class="lineno"><a class="line" href="a00149.html#a7e985625fb7a79b4140852bdc419430c">  433</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; setCharAt(sal_Int32 index, <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> ch)</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    {</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;        assert(index &gt;= 0 &amp;&amp; index &lt; pData-&gt;length);</div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;        pData-&gt;buffer[ index ] = ch;</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    }</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;</div>
<div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="a00149.html#a6c6e00f4acb337d915dd957e52719501">  443</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a>* <a class="code" href="a00149.html#a6c6e00f4acb337d915dd957e52719501">getStr</a>() const SAL_RETURNS_NONNULL { <span class="keywordflow">return</span> pData-&gt;buffer; }</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;</div>
<div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="a00149.html#add027dc0a676dd03b8b54ded5322bdcd">  454</a></span>&#160;    <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> &amp; operator [](sal_Int32 index)</div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;    {</div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;        assert(index &gt;= 0 &amp;&amp; index &lt; pData-&gt;length);</div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;        <span class="keywordflow">return</span> pData-&gt;buffer[index];</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    }</div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;</div>
<div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="a00149.html#adbf70a3873d4e702fc8c68cab920dea5">  464</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="a00148.html">OString</a> <a class="code" href="a00149.html#adbf70a3873d4e702fc8c68cab920dea5">toString</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="keyword">    </span>{</div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="a00148.html">OString</a>(pData-&gt;buffer, pData-&gt;length);</div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    }</div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;</div>
<div class="line"><a name="l00479"></a><span class="lineno"><a class="line" href="a00149.html#a682377bc6b2d12bd93aaa334767b3d0f">  479</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#a682377bc6b2d12bd93aaa334767b3d0f">append</a>(<span class="keyword">const</span> <a class="code" href="a00148.html">OString</a> &amp;str)</div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;    {</div>
<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;        <span class="keywordflow">return</span> append( str.<a class="code" href="a00148.html#a56df3c85362dcde3374245cbb4476e0c">getStr</a>(), str.<a class="code" href="a00148.html#ae8623ff42d0d50803a2406830d3fc37e">getLength</a>() );</div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    }</div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;</div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T &gt;</div>
<div class="line"><a name="l00496"></a><span class="lineno"><a class="line" href="a00149.html#a033fb94236ee14dce97822cb8d48421c">  496</a></span>&#160;    <span class="keyword">typename</span> <a class="code" href="a00058.html">libreoffice_internal::CharPtrDetector&lt; T, OStringBuffer&amp; &gt;::Type</a> <a class="code" href="a00149.html#a033fb94236ee14dce97822cb8d48421c">append</a>( <span class="keyword">const</span> T&amp; str )</div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;    {</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;        <span class="keywordflow">return</span> append( str, <a class="code" href="a00386.html#a4925896c200938792c611378bd28b693">rtl_str_getLength</a>( str ) );</div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;    }</div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;</div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;    <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T &gt;</div>
<div class="line"><a name="l00502"></a><span class="lineno"><a class="line" href="a00149.html#aa2c7d6112a2cef60b84d852da685e72a">  502</a></span>&#160;    <span class="keyword">typename</span> <a class="code" href="a00131.html">libreoffice_internal::NonConstCharArrayDetector&lt; T, OStringBuffer&amp; &gt;::Type</a> <a class="code" href="a00149.html#aa2c7d6112a2cef60b84d852da685e72a">append</a>( T&amp; str )</div>
<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;    {</div>
<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;        <span class="keywordflow">return</span> append( str, <a class="code" href="a00386.html#a4925896c200938792c611378bd28b693">rtl_str_getLength</a>( str ) );</div>
<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;    }</div>
<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T &gt;</div>
<div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="a00149.html#a1826228db7fcb969e650a19fca61e255">  513</a></span>&#160;    <span class="keyword">typename</span> <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt; T, OStringBuffer&amp; &gt;::Type</a> <a class="code" href="a00149.html#a1826228db7fcb969e650a19fca61e255">append</a>( T&amp; literal )</div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    {</div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;        RTL_STRING_CONST_FUNCTION</div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;        assert(</div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;            <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt;T&gt;::isValid</a>(literal));</div>
<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;        <a class="code" href="a00384.html#a4d0111988d63c2d091551d49427cf8aa">rtl_stringbuffer_insert</a>(</div>
<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;            &amp;pData, &amp;nCapacity, getLength(),</div>
<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;            <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt;T&gt;::toPointer</a>(literal),</div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;            <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt;T&gt;::length</a>);</div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;    }</div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;</div>
<div class="line"><a name="l00538"></a><span class="lineno"><a class="line" href="a00149.html#a7056f7572cfb3b94433c406dc0aa5ae6">  538</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#a7056f7572cfb3b94433c406dc0aa5ae6">append</a>( <span class="keyword">const</span> <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> * str, sal_Int32 len)</div>
<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;    {</div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;        assert( len == 0 || str != NULL ); <span class="comment">// cannot assert that in rtl_stringbuffer_insert</span></div>
<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        <a class="code" href="a00384.html#a4d0111988d63c2d091551d49427cf8aa">rtl_stringbuffer_insert</a>( &amp;pData, &amp;nCapacity, getLength(), str, len );</div>
<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    }</div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;</div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;<span class="preprocessor">#ifdef LIBO_INTERNAL_ONLY // &quot;RTL_FAST_STRING&quot;</span></div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;    <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T1, <span class="keyword">typename</span> T2 &gt;</div>
<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a>&amp; append( OStringConcat&lt; T1, T2 &gt;&amp;&amp; c )</div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;    {</div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;        sal_Int32 l = c.length();</div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;        <span class="keywordflow">if</span>( l == 0 )</div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;        l += pData-&gt;length;</div>
<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;        <a class="code" href="a00384.html#a80573ae73117421ba540ee8a5c249ac4">rtl_stringbuffer_ensureCapacity</a>( &amp;pData, &amp;nCapacity, l );</div>
<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;        <span class="keywordtype">char</span>* end = c.addData( pData-&gt;buffer + pData-&gt;length );</div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;        *end = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;        pData-&gt;length = l;</div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;    }</div>
<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00576"></a><span class="lineno"><a class="line" href="a00149.html#a6cc2c1a346a49d3d61cda541bf7270b6">  576</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#a6cc2c1a346a49d3d61cda541bf7270b6">append</a>(<a class="code" href="a00409.html#a66585e12aa9edc6e11fc7994e1c12286">sal_Bool</a> b)</div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;    {</div>
<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;        <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> sz[<a class="code" href="a00386.html#a9a1acbd13cd08701747dd642e61c7653">RTL_STR_MAX_VALUEOFBOOLEAN</a>];</div>
<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;        <span class="keywordflow">return</span> append( sz, <a class="code" href="a00386.html#a37a3919e1f4ee0f016b0d26a83b34487">rtl_str_valueOfBoolean</a>( sz, b ) );</div>
<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;    }</div>
<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;</div>
<div class="line"><a name="l00595"></a><span class="lineno"><a class="line" href="a00149.html#a11899299bae8b8bb376f25bb55bf77c1">  595</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#a11899299bae8b8bb376f25bb55bf77c1">append</a>(<span class="keywordtype">bool</span> b)</div>
<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    {</div>
<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;        <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> sz[<a class="code" href="a00386.html#a9a1acbd13cd08701747dd642e61c7653">RTL_STR_MAX_VALUEOFBOOLEAN</a>];</div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;        <span class="keywordflow">return</span> append( sz, <a class="code" href="a00386.html#a37a3919e1f4ee0f016b0d26a83b34487">rtl_str_valueOfBoolean</a>( sz, b ) );</div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;    }</div>
<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;</div>
<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    <span class="comment">// Pointer can be automatically converted to bool, which is unwanted here.</span></div>
<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    <span class="comment">// Explicitly delete all pointer append() overloads to prevent this</span></div>
<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;    <span class="comment">// (except for char* overload, which is handled elsewhere).</span></div>
<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;    <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T &gt;</div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    <span class="keyword">typename</span> <a class="code" href="a00079.html">libreoffice_internal::Enable</a>&lt; void,</div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;        !<a class="code" href="a00058.html">libreoffice_internal::CharPtrDetector&lt; T* &gt;::ok</a> &gt;::Type</div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;        append( T* ) <a class="code" href="a00409.html#a1f708c2b11d04207c54202e980f9e181">SAL_DELETED_FUNCTION</a>;</div>
<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;</div>
<div class="line"><a name="l00621"></a><span class="lineno"><a class="line" href="a00149.html#abf2e8c294eec0788391b9a74bf955522">  621</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; append(<a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> c)</div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;    {</div>
<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;        <span class="keywordflow">return</span> append( &amp;c, 1 );</div>
<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;    }</div>
<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;</div>
<div class="line"><a name="l00638"></a><span class="lineno"><a class="line" href="a00149.html#a3b39e4961bde5a860d4b7186b03205af">  638</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#a3b39e4961bde5a860d4b7186b03205af">append</a>(sal_Int32 i, sal_Int16 radix = 10 )</div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;    {</div>
<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;        <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> sz[<a class="code" href="a00386.html#a34fb24bbd40d09cfca323211a99edf40">RTL_STR_MAX_VALUEOFINT32</a>];</div>
<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;        <span class="keywordflow">return</span> append( sz, <a class="code" href="a00386.html#a29b1e74f82d862dfdeb150d037b13f3a">rtl_str_valueOfInt32</a>( sz, i, radix ) );</div>
<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;    }</div>
<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;</div>
<div class="line"><a name="l00656"></a><span class="lineno"><a class="line" href="a00149.html#abd2e1596de680dd8d8e212cbe2ce60d4">  656</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#abd2e1596de680dd8d8e212cbe2ce60d4">append</a>(sal_Int64 l, sal_Int16 radix = 10 )</div>
<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;    {</div>
<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;        <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> sz[<a class="code" href="a00386.html#abacb5a4eeccc30233b955d0ba43c9154">RTL_STR_MAX_VALUEOFINT64</a>];</div>
<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;        <span class="keywordflow">return</span> append( sz, <a class="code" href="a00386.html#ab0ae785ce57662e1ecfc9562c64c82de">rtl_str_valueOfInt64</a>( sz, l, radix ) );</div>
<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;    }</div>
<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;</div>
<div class="line"><a name="l00673"></a><span class="lineno"><a class="line" href="a00149.html#a587c6c29bf07d736ac0ab5d70b60e6bf">  673</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#a587c6c29bf07d736ac0ab5d70b60e6bf">append</a>(<span class="keywordtype">float</span> f)</div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;    {</div>
<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;        <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> sz[<a class="code" href="a00386.html#a9b29548a9c2f0372173ff1b0f8896067">RTL_STR_MAX_VALUEOFFLOAT</a>];</div>
<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;        <span class="keywordflow">return</span> append( sz, <a class="code" href="a00386.html#a93e8cd2725116f74d3ffbdaeebee2342">rtl_str_valueOfFloat</a>( sz, f ) );</div>
<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;    }</div>
<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;</div>
<div class="line"><a name="l00690"></a><span class="lineno"><a class="line" href="a00149.html#a93f1e6c0741af63d40bbf3e1d0e486ee">  690</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#a93f1e6c0741af63d40bbf3e1d0e486ee">append</a>(<span class="keywordtype">double</span> d)</div>
<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;    {</div>
<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;        <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> sz[<a class="code" href="a00386.html#a312bc78cc5becf2055c01c49c6fca940">RTL_STR_MAX_VALUEOFDOUBLE</a>];</div>
<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;        <span class="keywordflow">return</span> append( sz, <a class="code" href="a00386.html#a04ea9bd9434c155eb047d2e41360f046">rtl_str_valueOfDouble</a>( sz, d ) );</div>
<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;    }</div>
<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;</div>
<div class="line"><a name="l00711"></a><span class="lineno"><a class="line" href="a00149.html#aa688464318c0809e3d8af60f789a2ea4">  711</a></span>&#160;    <span class="keywordtype">char</span> * <a class="code" href="a00149.html#aa688464318c0809e3d8af60f789a2ea4">appendUninitialized</a>(sal_Int32 length) SAL_RETURNS_NONNULL {</div>
<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;        sal_Int32 n = getLength();</div>
<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;        <a class="code" href="a00384.html#a4d0111988d63c2d091551d49427cf8aa">rtl_stringbuffer_insert</a>(&amp;pData, &amp;nCapacity, n, NULL, length);</div>
<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;        <span class="keywordflow">return</span> pData-&gt;buffer + n;</div>
<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;    }</div>
<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;</div>
<div class="line"><a name="l00732"></a><span class="lineno"><a class="line" href="a00149.html#ad826d2dfb5eb3bbc9dd569a6e535b270">  732</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#ad826d2dfb5eb3bbc9dd569a6e535b270">insert</a>(sal_Int32 offset, <span class="keyword">const</span> <a class="code" href="a00148.html">OString</a> &amp; str)</div>
<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;    {</div>
<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;        <span class="keywordflow">return</span> insert( offset, str.<a class="code" href="a00148.html#a56df3c85362dcde3374245cbb4476e0c">getStr</a>(), str.<a class="code" href="a00148.html#ae8623ff42d0d50803a2406830d3fc37e">getLength</a>() );</div>
<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    }</div>
<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;</div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;    <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T &gt;</div>
<div class="line"><a name="l00755"></a><span class="lineno"><a class="line" href="a00149.html#a8edf59ad78d3f64f4d830d341dc87166">  755</a></span>&#160;    <span class="keyword">typename</span> <a class="code" href="a00058.html">libreoffice_internal::CharPtrDetector&lt; T, OStringBuffer&amp; &gt;::Type</a> <a class="code" href="a00149.html#a8edf59ad78d3f64f4d830d341dc87166">insert</a>( sal_Int32 offset, <span class="keyword">const</span> T&amp; str )</div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;    {</div>
<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;        <span class="keywordflow">return</span> insert( offset, str, <a class="code" href="a00386.html#a4925896c200938792c611378bd28b693">rtl_str_getLength</a>( str ) );</div>
<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;    }</div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;</div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;    <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T &gt;</div>
<div class="line"><a name="l00761"></a><span class="lineno"><a class="line" href="a00149.html#ad63a277fe313d50403e921dd4c0b5c65">  761</a></span>&#160;    <span class="keyword">typename</span> <a class="code" href="a00131.html">libreoffice_internal::NonConstCharArrayDetector&lt; T, OStringBuffer&amp; &gt;::Type</a> <a class="code" href="a00149.html#ad63a277fe313d50403e921dd4c0b5c65">insert</a>( sal_Int32 offset, T&amp; str )</div>
<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;    {</div>
<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;        <span class="keywordflow">return</span> insert( offset, str, <a class="code" href="a00386.html#a4925896c200938792c611378bd28b693">rtl_str_getLength</a>( str ) );</div>
<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;    }</div>
<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;</div>
<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;    <span class="keyword">template</span>&lt; <span class="keyword">typename</span> T &gt;</div>
<div class="line"><a name="l00772"></a><span class="lineno"><a class="line" href="a00149.html#a6938a22368a8098fa70d46fd9f7da97f">  772</a></span>&#160;    <span class="keyword">typename</span> <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt; T, OStringBuffer&amp; &gt;::Type</a> <a class="code" href="a00149.html#a6938a22368a8098fa70d46fd9f7da97f">insert</a>( sal_Int32 offset, T&amp; literal )</div>
<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;    {</div>
<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;        RTL_STRING_CONST_FUNCTION</div>
<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;        assert(</div>
<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;            <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt;T&gt;::isValid</a>(literal));</div>
<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;        <a class="code" href="a00384.html#a4d0111988d63c2d091551d49427cf8aa">rtl_stringbuffer_insert</a>(</div>
<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;            &amp;pData, &amp;nCapacity, offset,</div>
<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;            <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt;T&gt;::toPointer</a>(literal),</div>
<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;            <a class="code" href="a00067.html">libreoffice_internal::ConstCharArrayDetector&lt;T&gt;::length</a>);</div>
<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;    }</div>
<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;</div>
<div class="line"><a name="l00802"></a><span class="lineno"><a class="line" href="a00149.html#a4f2c31f57315e578ebe3907f0259d6f7">  802</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#a4f2c31f57315e578ebe3907f0259d6f7">insert</a>( sal_Int32 offset, <span class="keyword">const</span> <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> * str, sal_Int32 len)</div>
<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;    {</div>
<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;        assert( len == 0 || str != NULL ); <span class="comment">// cannot assert that in rtl_stringbuffer_insert</span></div>
<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;        <a class="code" href="a00384.html#a4d0111988d63c2d091551d49427cf8aa">rtl_stringbuffer_insert</a>( &amp;pData, &amp;nCapacity, offset, str, len );</div>
<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;    }</div>
<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;</div>
<div class="line"><a name="l00826"></a><span class="lineno"><a class="line" href="a00149.html#a9c23e3caf54ccc2058966617e74d3939">  826</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#a9c23e3caf54ccc2058966617e74d3939">insert</a>(sal_Int32 offset, <a class="code" href="a00409.html#a66585e12aa9edc6e11fc7994e1c12286">sal_Bool</a> b)</div>
<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    {</div>
<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;        <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> sz[<a class="code" href="a00386.html#a9a1acbd13cd08701747dd642e61c7653">RTL_STR_MAX_VALUEOFBOOLEAN</a>];</div>
<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;        <span class="keywordflow">return</span> insert( offset, sz, <a class="code" href="a00386.html#a37a3919e1f4ee0f016b0d26a83b34487">rtl_str_valueOfBoolean</a>( sz, b ) );</div>
<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;    }</div>
<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;</div>
<div class="line"><a name="l00851"></a><span class="lineno"><a class="line" href="a00149.html#a66a6d96d61c6ff5368484d7c43475a98">  851</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#a66a6d96d61c6ff5368484d7c43475a98">insert</a>(sal_Int32 offset, <span class="keywordtype">bool</span> b)</div>
<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;    {</div>
<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;        <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> sz[<a class="code" href="a00386.html#a9a1acbd13cd08701747dd642e61c7653">RTL_STR_MAX_VALUEOFBOOLEAN</a>];</div>
<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;        <span class="keywordflow">return</span> insert( offset, sz, <a class="code" href="a00386.html#a37a3919e1f4ee0f016b0d26a83b34487">rtl_str_valueOfBoolean</a>( sz, b ) );</div>
<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;    }</div>
<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;</div>
<div class="line"><a name="l00873"></a><span class="lineno"><a class="line" href="a00149.html#a1786e92e7ba3975ff005e84778d1d9e6">  873</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#a1786e92e7ba3975ff005e84778d1d9e6">insert</a>(sal_Int32 offset, <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> c)</div>
<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;    {</div>
<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;        <span class="keywordflow">return</span> insert( offset, &amp;c, 1 );</div>
<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;    }</div>
<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;</div>
<div class="line"><a name="l00896"></a><span class="lineno"><a class="line" href="a00149.html#ad0a851c1e7aa3d4f6e4fc665bf2439c5">  896</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#ad0a851c1e7aa3d4f6e4fc665bf2439c5">insert</a>(sal_Int32 offset, sal_Int32 i, sal_Int16 radix = 10 )</div>
<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;    {</div>
<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;        <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> sz[<a class="code" href="a00386.html#a34fb24bbd40d09cfca323211a99edf40">RTL_STR_MAX_VALUEOFINT32</a>];</div>
<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;        <span class="keywordflow">return</span> insert( offset, sz, <a class="code" href="a00386.html#a29b1e74f82d862dfdeb150d037b13f3a">rtl_str_valueOfInt32</a>( sz, i, radix ) );</div>
<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;    }</div>
<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;</div>
<div class="line"><a name="l00920"></a><span class="lineno"><a class="line" href="a00149.html#aa91309904bb7448c7a6a1f7ec3400075">  920</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#aa91309904bb7448c7a6a1f7ec3400075">insert</a>(sal_Int32 offset, sal_Int64 l, sal_Int16 radix = 10 )</div>
<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;    {</div>
<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;        <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> sz[<a class="code" href="a00386.html#abacb5a4eeccc30233b955d0ba43c9154">RTL_STR_MAX_VALUEOFINT64</a>];</div>
<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;        <span class="keywordflow">return</span> insert( offset, sz, <a class="code" href="a00386.html#ab0ae785ce57662e1ecfc9562c64c82de">rtl_str_valueOfInt64</a>( sz, l, radix ) );</div>
<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;    }</div>
<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;</div>
<div class="line"><a name="l00943"></a><span class="lineno"><a class="line" href="a00149.html#a87153616e0a88ed1827f5eea0bcd1f51">  943</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> <a class="code" href="a00149.html#a87153616e0a88ed1827f5eea0bcd1f51">insert</a>(sal_Int32 offset, <span class="keywordtype">float</span> f)</div>
<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;    {</div>
<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;        <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> sz[<a class="code" href="a00386.html#a9b29548a9c2f0372173ff1b0f8896067">RTL_STR_MAX_VALUEOFFLOAT</a>];</div>
<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;        <span class="keywordflow">return</span> insert( offset, sz, <a class="code" href="a00386.html#a93e8cd2725116f74d3ffbdaeebee2342">rtl_str_valueOfFloat</a>( sz, f ) );</div>
<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;    }</div>
<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;</div>
<div class="line"><a name="l00966"></a><span class="lineno"><a class="line" href="a00149.html#a777f62ea8eaf652afb7b618913927bc8">  966</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <a class="code" href="a00149.html#a777f62ea8eaf652afb7b618913927bc8">insert</a>(sal_Int32 offset, <span class="keywordtype">double</span> d)</div>
<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;    {</div>
<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;        <a class="code" href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a> sz[<a class="code" href="a00386.html#a312bc78cc5becf2055c01c49c6fca940">RTL_STR_MAX_VALUEOFDOUBLE</a>];</div>
<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;        <span class="keywordflow">return</span> insert( offset, sz, <a class="code" href="a00386.html#a04ea9bd9434c155eb047d2e41360f046">rtl_str_valueOfDouble</a>( sz, d ) );</div>
<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;    }</div>
<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;</div>
<div class="line"><a name="l00984"></a><span class="lineno"><a class="line" href="a00149.html#a1ea2b9d8567b67bcabc680322035727f">  984</a></span>&#160;    <a class="code" href="a00149.html">OStringBuffer</a> &amp; <span class="keyword">remove</span>( sal_Int32 start, sal_Int32 len )</div>
<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;    {</div>
<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;        <a class="code" href="a00384.html#aa1fdfdf1683cb98003e07f7ec83bfa39">rtl_stringbuffer_remove</a>( &amp;pData, start, len );</div>
<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;    }</div>
<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;</div>
<div class="line"><a name="l01007"></a><span class="lineno"><a class="line" href="a00149.html#a22a183918a69c28c3aeaed08f7e4908a"> 1007</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="a00149.html#a22a183918a69c28c3aeaed08f7e4908a">accessInternals</a>(</div>
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;        rtl_String *** pInternalData, sal_Int32 ** pInternalCapacity)</div>
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;    {</div>
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;        *pInternalData = &amp;pData;</div>
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;        *pInternalCapacity = &amp;nCapacity;</div>
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;    }</div>
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;</div>
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;    rtl_String * pData;</div>
<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;</div>
<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;    sal_Int32       nCapacity;</div>
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;};</div>
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;</div>
<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;}</div>
<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;</div>
<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;<span class="preprocessor">#ifdef RTL_STRING_UNITTEST</span></div>
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;<span class="preprocessor"></span><span class="keyword">namespace </span>rtl</div>
<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;{</div>
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;<span class="keyword">typedef</span> rtlunittest::OStringBuffer OStringBuffer;</div>
<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;}</div>
<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;<span class="preprocessor">#undef RTL_STRING_CONST_FUNCTION</span></div>
<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;<span class="preprocessor">#if defined LIBO_INTERNAL_ONLY &amp;&amp; !defined RTL_STRING_UNITTEST</span></div>
<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;<span class="preprocessor"></span>using ::rtl::OStringBuffer;</div>
<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;<span class="preprocessor">#endif // INCLUDED_RTL_STRBUF_HXX</span></div>
<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;</div>
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;<span class="comment">/* vim:set shiftwidth=4 softtabstop=4 expandtab: */</span></div>
<div class="ttc" id="a00149_html_aa91309904bb7448c7a6a1f7ec3400075"><div class="ttname"><a href="a00149.html#aa91309904bb7448c7a6a1f7ec3400075">rtl::OStringBuffer::insert</a></div><div class="ttdeci">OStringBuffer &amp; insert(sal_Int32 offset, sal_Int64 l, sal_Int16 radix=10)</div><div class="ttdoc">Inserts the string representation of the long argument into this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:920</div></div>
<div class="ttc" id="a00149_html_a682377bc6b2d12bd93aaa334767b3d0f"><div class="ttname"><a href="a00149.html#a682377bc6b2d12bd93aaa334767b3d0f">rtl::OStringBuffer::append</a></div><div class="ttdeci">OStringBuffer &amp; append(const OString &amp;str)</div><div class="ttdoc">Appends the string to this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:479</div></div>
<div class="ttc" id="a00149_html_a9e0c379baeb7a085b6aa7fd8695cd344"><div class="ttname"><a href="a00149.html#a9e0c379baeb7a085b6aa7fd8695cd344">rtl::OStringBuffer::OStringBuffer</a></div><div class="ttdeci">OStringBuffer(int length)</div><div class="ttdoc">Constructs a string buffer with no characters in it and an initial capacity specified by the length a...</div><div class="ttdef"><b>Definition:</b> strbuf.hxx:98</div></div>
<div class="ttc" id="a00386_html_a62cb4aeb21abaed051c18c0a3a481d78"><div class="ttname"><a href="a00386.html#a62cb4aeb21abaed051c18c0a3a481d78">rtl_string_alloc</a></div><div class="ttdeci">SAL_DLLPUBLIC rtl_String * rtl_string_alloc(sal_Int32 nLen) SAL_THROW_EXTERN_C()</div><div class="ttdoc">Allocate a new string containing space for a given number of characters. </div></div>
<div class="ttc" id="a00149_html_ad08a8cf074f3607a980456a72bb18a47"><div class="ttname"><a href="a00149.html#ad08a8cf074f3607a980456a72bb18a47">rtl::OStringBuffer::isEmpty</a></div><div class="ttdeci">bool isEmpty() const </div><div class="ttdoc">Checks if a string buffer is empty. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:334</div></div>
<div class="ttc" id="a00386_html_a34fb24bbd40d09cfca323211a99edf40"><div class="ttname"><a href="a00386.html#a34fb24bbd40d09cfca323211a99edf40">RTL_STR_MAX_VALUEOFINT32</a></div><div class="ttdeci">#define RTL_STR_MAX_VALUEOFINT32</div><div class="ttdef"><b>Definition:</b> string.h:627</div></div>
<div class="ttc" id="a00149_html_a033fb94236ee14dce97822cb8d48421c"><div class="ttname"><a href="a00149.html#a033fb94236ee14dce97822cb8d48421c">rtl::OStringBuffer::append</a></div><div class="ttdeci">libreoffice_internal::CharPtrDetector&lt; T, OStringBuffer &amp; &gt;::Type append(const T &amp;str)</div><div class="ttdoc">Appends the string representation of the char array argument to this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:496</div></div>
<div class="ttc" id="a00149_html_a4f2c31f57315e578ebe3907f0259d6f7"><div class="ttname"><a href="a00149.html#a4f2c31f57315e578ebe3907f0259d6f7">rtl::OStringBuffer::insert</a></div><div class="ttdeci">OStringBuffer &amp; insert(sal_Int32 offset, const sal_Char *str, sal_Int32 len)</div><div class="ttdoc">Inserts the string representation of the char array argument into this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:802</div></div>
<div class="ttc" id="a00149_html_aa2c7d6112a2cef60b84d852da685e72a"><div class="ttname"><a href="a00149.html#aa2c7d6112a2cef60b84d852da685e72a">rtl::OStringBuffer::append</a></div><div class="ttdeci">libreoffice_internal::NonConstCharArrayDetector&lt; T, OStringBuffer &amp; &gt;::Type append(T &amp;str)</div><div class="ttdef"><b>Definition:</b> strbuf.hxx:502</div></div>
<div class="ttc" id="a00149_html_adbf70a3873d4e702fc8c68cab920dea5"><div class="ttname"><a href="a00149.html#adbf70a3873d4e702fc8c68cab920dea5">rtl::OStringBuffer::toString</a></div><div class="ttdeci">const OString toString() const </div><div class="ttdoc">Return a OString instance reflecting the current content of this OStringBuffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:464</div></div>
<div class="ttc" id="a00149_html_a4dd5ab8ae219b19ad15de789dc54d66d"><div class="ttname"><a href="a00149.html#a4dd5ab8ae219b19ad15de789dc54d66d">rtl::OStringBuffer::OStringBuffer</a></div><div class="ttdeci">OStringBuffer(const OString &amp;value)</div><div class="ttdoc">Constructs a string buffer so that it represents the same sequence of characters as the string argume...</div><div class="ttdef"><b>Definition:</b> strbuf.hxx:135</div></div>
<div class="ttc" id="a00388_html"><div class="ttname"><a href="a00388.html">stringconcat.hxx</a></div></div>
<div class="ttc" id="a00386_html_a9b29548a9c2f0372173ff1b0f8896067"><div class="ttname"><a href="a00386.html#a9b29548a9c2f0372173ff1b0f8896067">RTL_STR_MAX_VALUEOFFLOAT</a></div><div class="ttdeci">#define RTL_STR_MAX_VALUEOFFLOAT</div><div class="ttdef"><b>Definition:</b> string.h:692</div></div>
<div class="ttc" id="a00149_html_a8edf59ad78d3f64f4d830d341dc87166"><div class="ttname"><a href="a00149.html#a8edf59ad78d3f64f4d830d341dc87166">rtl::OStringBuffer::insert</a></div><div class="ttdeci">libreoffice_internal::CharPtrDetector&lt; T, OStringBuffer &amp; &gt;::Type insert(sal_Int32 offset, const T &amp;str)</div><div class="ttdoc">Inserts the string representation of the char array argument into this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:755</div></div>
<div class="ttc" id="a00149_html_a8cfbf4244dc67482ae9a2a047336a452"><div class="ttname"><a href="a00149.html#a8cfbf4244dc67482ae9a2a047336a452">rtl::OStringBuffer::~OStringBuffer</a></div><div class="ttdeci">~OStringBuffer()</div><div class="ttdoc">Release the string data. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:295</div></div>
<div class="ttc" id="a00149_html_a055de4de67357b2ae66534db4473e43c"><div class="ttname"><a href="a00149.html#a055de4de67357b2ae66534db4473e43c">rtl::OStringBuffer::makeStringAndClear</a></div><div class="ttdeci">SAL_WARN_UNUSED_RESULT OString makeStringAndClear()</div><div class="ttdoc">Fill the string data in the new string and clear the buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:308</div></div>
<div class="ttc" id="a00149_html_a7056f7572cfb3b94433c406dc0aa5ae6"><div class="ttname"><a href="a00149.html#a7056f7572cfb3b94433c406dc0aa5ae6">rtl::OStringBuffer::append</a></div><div class="ttdeci">OStringBuffer &amp; append(const sal_Char *str, sal_Int32 len)</div><div class="ttdoc">Appends the string representation of the char array argument to this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:538</div></div>
<div class="ttc" id="a00079_html"><div class="ttname"><a href="a00079.html">rtl::libreoffice_internal::Enable</a></div><div class="ttdef"><b>Definition:</b> stringutils.hxx:299</div></div>
<div class="ttc" id="a00149_html_a1786e92e7ba3975ff005e84778d1d9e6"><div class="ttname"><a href="a00149.html#a1786e92e7ba3975ff005e84778d1d9e6">rtl::OStringBuffer::insert</a></div><div class="ttdeci">OStringBuffer &amp; insert(sal_Int32 offset, sal_Char c)</div><div class="ttdoc">Inserts the string representation of the char argument into this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:873</div></div>
<div class="ttc" id="a00386_html_abacb5a4eeccc30233b955d0ba43c9154"><div class="ttname"><a href="a00386.html#abacb5a4eeccc30233b955d0ba43c9154">RTL_STR_MAX_VALUEOFINT64</a></div><div class="ttdeci">#define RTL_STR_MAX_VALUEOFINT64</div><div class="ttdef"><b>Definition:</b> string.h:650</div></div>
<div class="ttc" id="a00067_html"><div class="ttname"><a href="a00067.html">rtl::libreoffice_internal::ConstCharArrayDetector</a></div><div class="ttdef"><b>Definition:</b> stringutils.hxx:146</div></div>
<div class="ttc" id="a00148_html_a56df3c85362dcde3374245cbb4476e0c"><div class="ttname"><a href="a00148.html#a56df3c85362dcde3374245cbb4476e0c">rtl::OString::getStr</a></div><div class="ttdeci">const sal_Char * getStr() const SAL_RETURNS_NONNULL</div><div class="ttdoc">Returns a pointer to the characters of this string. </div><div class="ttdef"><b>Definition:</b> string.hxx:431</div></div>
<div class="ttc" id="a00384_html"><div class="ttname"><a href="a00384.html">strbuf.h</a></div></div>
<div class="ttc" id="a00149_html_a9c23e3caf54ccc2058966617e74d3939"><div class="ttname"><a href="a00149.html#a9c23e3caf54ccc2058966617e74d3939">rtl::OStringBuffer::insert</a></div><div class="ttdeci">OStringBuffer &amp; insert(sal_Int32 offset, sal_Bool b)</div><div class="ttdoc">Inserts the string representation of the sal_Bool argument into this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:826</div></div>
<div class="ttc" id="a00149_html_a6c6e00f4acb337d915dd957e52719501"><div class="ttname"><a href="a00149.html#a6c6e00f4acb337d915dd957e52719501">rtl::OStringBuffer::getStr</a></div><div class="ttdeci">const sal_Char * getStr() const SAL_RETURNS_NONNULL</div><div class="ttdoc">Return a null terminated character array. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:443</div></div>
<div class="ttc" id="a00384_html_a80573ae73117421ba540ee8a5c249ac4"><div class="ttname"><a href="a00384.html#a80573ae73117421ba540ee8a5c249ac4">rtl_stringbuffer_ensureCapacity</a></div><div class="ttdeci">SAL_DLLPUBLIC void rtl_stringbuffer_ensureCapacity(rtl_String **This, sal_Int32 *capacity, sal_Int32 minimumCapacity)</div><div class="ttdoc">Ensures that the capacity of the buffer is at least equal to the specified minimum. </div></div>
<div class="ttc" id="a00149_html_a0f8af297ea44ef2d25bba6ca9cea11f9"><div class="ttname"><a href="a00149.html#a0f8af297ea44ef2d25bba6ca9cea11f9">rtl::OStringBuffer::OStringBuffer</a></div><div class="ttdeci">OStringBuffer()</div><div class="ttdoc">Constructs a string buffer with no characters in it and an initial capacity of 16 characters...</div><div class="ttdef"><b>Definition:</b> strbuf.hxx:72</div></div>
<div class="ttc" id="a00149_html_a3cbd52488e5956511596cbb7169b9552"><div class="ttname"><a href="a00149.html#a3cbd52488e5956511596cbb7169b9552">rtl::OStringBuffer::setLength</a></div><div class="ttdeci">void setLength(sal_Int32 newLength)</div><div class="ttdoc">Sets the length of this String buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:388</div></div>
<div class="ttc" id="a00149_html_a926ea93d243f4fcab5c01c3a6672ebb4"><div class="ttname"><a href="a00149.html#a926ea93d243f4fcab5c01c3a6672ebb4">rtl::OStringBuffer::ensureCapacity</a></div><div class="ttdeci">void ensureCapacity(sal_Int32 minimumCapacity)</div><div class="ttdoc">Ensures that the capacity of the buffer is at least equal to the specified minimum. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:365</div></div>
<div class="ttc" id="a00409_html_a50344fc80f122074b8a7e563c5627779"><div class="ttname"><a href="a00409.html#a50344fc80f122074b8a7e563c5627779">sal_Char</a></div><div class="ttdeci">char sal_Char</div><div class="ttdoc">A legacy synonym for char. </div><div class="ttdef"><b>Definition:</b> types.h:120</div></div>
<div class="ttc" id="a00149_html_a11899299bae8b8bb376f25bb55bf77c1"><div class="ttname"><a href="a00149.html#a11899299bae8b8bb376f25bb55bf77c1">rtl::OStringBuffer::append</a></div><div class="ttdeci">OStringBuffer &amp; append(bool b)</div><div class="ttdoc">Appends the string representation of the bool argument to the string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:595</div></div>
<div class="ttc" id="a00387_html"><div class="ttname"><a href="a00387.html">string.hxx</a></div></div>
<div class="ttc" id="a00409_html_a66585e12aa9edc6e11fc7994e1c12286"><div class="ttname"><a href="a00409.html#a66585e12aa9edc6e11fc7994e1c12286">sal_Bool</a></div><div class="ttdeci">unsigned char sal_Bool</div><div class="ttdef"><b>Definition:</b> types.h:38</div></div>
<div class="ttc" id="a00149_html_ac75ee02fd22fc5b0ae2d9b38d79ff431"><div class="ttname"><a href="a00149.html#ac75ee02fd22fc5b0ae2d9b38d79ff431">rtl::OStringBuffer::OStringBuffer</a></div><div class="ttdeci">OStringBuffer(const OStringBuffer &amp;value)</div><div class="ttdoc">Allocates a new string buffer that contains the same sequence of characters as the string buffer argu...</div><div class="ttdef"><b>Definition:</b> strbuf.hxx:85</div></div>
<div class="ttc" id="a00386_html_a17666164caf81d5b242edd0152898df6"><div class="ttname"><a href="a00386.html#a17666164caf81d5b242edd0152898df6">rtl_string_newFromLiteral</a></div><div class="ttdeci">SAL_DLLPUBLIC void rtl_string_newFromLiteral(rtl_String **newStr, const sal_Char *value, sal_Int32 len, sal_Int32 allocExtra) SAL_THROW_EXTERN_C()</div></div>
<div class="ttc" id="a00386_html_a37a3919e1f4ee0f016b0d26a83b34487"><div class="ttname"><a href="a00386.html#a37a3919e1f4ee0f016b0d26a83b34487">rtl_str_valueOfBoolean</a></div><div class="ttdeci">SAL_DLLPUBLIC sal_Int32 rtl_str_valueOfBoolean(sal_Char *str, sal_Bool b) SAL_THROW_EXTERN_C()</div><div class="ttdoc">Create the string representation of a boolean. </div></div>
<div class="ttc" id="a00149_html_ad563964c2c5c30ef1f3f6368964743c3"><div class="ttname"><a href="a00149.html#ad563964c2c5c30ef1f3f6368964743c3">rtl::OStringBuffer::OStringBuffer</a></div><div class="ttdeci">OStringBuffer(const sal_Char *value, sal_Int32 length)</div><div class="ttdoc">Constructs a string buffer so that it represents the same sequence of characters as the string argume...</div><div class="ttdef"><b>Definition:</b> strbuf.hxx:203</div></div>
<div class="ttc" id="a00386_html_a822637c0e075e5d86b839df0f612dbe8"><div class="ttname"><a href="a00386.html#a822637c0e075e5d86b839df0f612dbe8">rtl_string_new</a></div><div class="ttdeci">SAL_DLLPUBLIC void rtl_string_new(rtl_String **newStr) SAL_THROW_EXTERN_C()</div><div class="ttdoc">Allocate a new string containing no characters. </div></div>
<div class="ttc" id="a00386_html_a312bc78cc5becf2055c01c49c6fca940"><div class="ttname"><a href="a00386.html#a312bc78cc5becf2055c01c49c6fca940">RTL_STR_MAX_VALUEOFDOUBLE</a></div><div class="ttdeci">#define RTL_STR_MAX_VALUEOFDOUBLE</div><div class="ttdef"><b>Definition:</b> string.h:711</div></div>
<div class="ttc" id="a00386_html_a29b1e74f82d862dfdeb150d037b13f3a"><div class="ttname"><a href="a00386.html#a29b1e74f82d862dfdeb150d037b13f3a">rtl_str_valueOfInt32</a></div><div class="ttdeci">SAL_DLLPUBLIC sal_Int32 rtl_str_valueOfInt32(sal_Char *str, sal_Int32 i, sal_Int16 radix) SAL_THROW_EXTERN_C()</div><div class="ttdoc">Create the string representation of an integer. </div></div>
<div class="ttc" id="a00058_html"><div class="ttname"><a href="a00058.html">rtl::libreoffice_internal::CharPtrDetector</a></div><div class="ttdef"><b>Definition:</b> stringutils.hxx:105</div></div>
<div class="ttc" id="a00149_html_a798b5de14027a381fb0c9d5cdb86e45e"><div class="ttname"><a href="a00149.html#a798b5de14027a381fb0c9d5cdb86e45e">rtl::OStringBuffer::nCapacity</a></div><div class="ttdeci">nCapacity</div><div class="ttdef"><b>Definition:</b> strbuf.hxx:151</div></div>
<div class="ttc" id="a00386_html_a4925896c200938792c611378bd28b693"><div class="ttname"><a href="a00386.html#a4925896c200938792c611378bd28b693">rtl_str_getLength</a></div><div class="ttdeci">SAL_DLLPUBLIC sal_Int32 rtl_str_getLength(const sal_Char *str) SAL_THROW_EXTERN_C()</div><div class="ttdoc">Return the length of a string. </div></div>
<div class="ttc" id="a00149_html_ad826d2dfb5eb3bbc9dd569a6e535b270"><div class="ttname"><a href="a00149.html#ad826d2dfb5eb3bbc9dd569a6e535b270">rtl::OStringBuffer::insert</a></div><div class="ttdeci">OStringBuffer &amp; insert(sal_Int32 offset, const OString &amp;str)</div><div class="ttdoc">Inserts the string into this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:732</div></div>
<div class="ttc" id="a00384_html_aa1fdfdf1683cb98003e07f7ec83bfa39"><div class="ttname"><a href="a00384.html#aa1fdfdf1683cb98003e07f7ec83bfa39">rtl_stringbuffer_remove</a></div><div class="ttdeci">SAL_DLLPUBLIC void rtl_stringbuffer_remove(rtl_String **This, sal_Int32 start, sal_Int32 len)</div><div class="ttdoc">Removes the characters in a substring of this sequence. </div></div>
<div class="ttc" id="a00149_html_a587c6c29bf07d736ac0ab5d70b60e6bf"><div class="ttname"><a href="a00149.html#a587c6c29bf07d736ac0ab5d70b60e6bf">rtl::OStringBuffer::append</a></div><div class="ttdeci">OStringBuffer &amp; append(float f)</div><div class="ttdoc">Appends the string representation of the float argument to this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:673</div></div>
<div class="ttc" id="a00384_html_a9209f3a3e648365baebd088cf1790278"><div class="ttname"><a href="a00384.html#a9209f3a3e648365baebd088cf1790278">rtl_stringbuffer_newFromStringBuffer</a></div><div class="ttdeci">SAL_DLLPUBLIC sal_Int32 rtl_stringbuffer_newFromStringBuffer(rtl_String **newStr, sal_Int32 capacity, rtl_String *oldStr)</div><div class="ttdoc">Allocates a new String that contains the same sequence of characters as the string argument...</div></div>
<div class="ttc" id="a00384_html_a7ea584d49d2ecdc47083ce2f21ecf273"><div class="ttname"><a href="a00384.html#a7ea584d49d2ecdc47083ce2f21ecf273">rtl_stringbuffer_newFromStr_WithLength</a></div><div class="ttdeci">SAL_DLLPUBLIC void rtl_stringbuffer_newFromStr_WithLength(rtl_String **newStr, const sal_Char *value, sal_Int32 count)</div><div class="ttdoc">Allocates a new String that contains characters from the character array argument. </div></div>
<div class="ttc" id="a00149_html"><div class="ttname"><a href="a00149.html">rtl::OStringBuffer</a></div><div class="ttdoc">A string buffer implements a mutable sequence of characters. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:65</div></div>
<div class="ttc" id="a00149_html_aa688464318c0809e3d8af60f789a2ea4"><div class="ttname"><a href="a00149.html#aa688464318c0809e3d8af60f789a2ea4">rtl::OStringBuffer::appendUninitialized</a></div><div class="ttdeci">char * appendUninitialized(sal_Int32 length) SAL_RETURNS_NONNULL</div><div class="ttdoc">Unsafe way to make space for a fixed amount of characters to be appended into this OStringBuffer...</div><div class="ttdef"><b>Definition:</b> strbuf.hxx:711</div></div>
<div class="ttc" id="a00149_html_ad0a851c1e7aa3d4f6e4fc665bf2439c5"><div class="ttname"><a href="a00149.html#ad0a851c1e7aa3d4f6e4fc665bf2439c5">rtl::OStringBuffer::insert</a></div><div class="ttdeci">OStringBuffer &amp; insert(sal_Int32 offset, sal_Int32 i, sal_Int16 radix=10)</div><div class="ttdoc">Inserts the string representation of the second sal_Int32 argument into this string buffer...</div><div class="ttdef"><b>Definition:</b> strbuf.hxx:896</div></div>
<div class="ttc" id="a00149_html_a6cc2c1a346a49d3d61cda541bf7270b6"><div class="ttname"><a href="a00149.html#a6cc2c1a346a49d3d61cda541bf7270b6">rtl::OStringBuffer::append</a></div><div class="ttdeci">OStringBuffer &amp; append(sal_Bool b)</div><div class="ttdoc">Appends the string representation of the sal_Bool argument to the string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:576</div></div>
<div class="ttc" id="a00149_html_ad63a277fe313d50403e921dd4c0b5c65"><div class="ttname"><a href="a00149.html#ad63a277fe313d50403e921dd4c0b5c65">rtl::OStringBuffer::insert</a></div><div class="ttdeci">libreoffice_internal::NonConstCharArrayDetector&lt; T, OStringBuffer &amp; &gt;::Type insert(sal_Int32 offset, T &amp;str)</div><div class="ttdef"><b>Definition:</b> strbuf.hxx:761</div></div>
<div class="ttc" id="a00149_html_a22a183918a69c28c3aeaed08f7e4908a"><div class="ttname"><a href="a00149.html#a22a183918a69c28c3aeaed08f7e4908a">rtl::OStringBuffer::accessInternals</a></div><div class="ttdeci">void accessInternals(rtl_String ***pInternalData, sal_Int32 **pInternalCapacity)</div><div class="ttdoc">Allows access to the internal data of this OStringBuffer, for effective manipulation. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:1007</div></div>
<div class="ttc" id="a00149_html_a87153616e0a88ed1827f5eea0bcd1f51"><div class="ttname"><a href="a00149.html#a87153616e0a88ed1827f5eea0bcd1f51">rtl::OStringBuffer::insert</a></div><div class="ttdeci">OStringBuffer insert(sal_Int32 offset, float f)</div><div class="ttdoc">Inserts the string representation of the float argument into this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:943</div></div>
<div class="ttc" id="a00149_html_a66a6d96d61c6ff5368484d7c43475a98"><div class="ttname"><a href="a00149.html#a66a6d96d61c6ff5368484d7c43475a98">rtl::OStringBuffer::insert</a></div><div class="ttdeci">OStringBuffer &amp; insert(sal_Int32 offset, bool b)</div><div class="ttdoc">Inserts the string representation of the bool argument into this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:851</div></div>
<div class="ttc" id="a00149_html_a1826228db7fcb969e650a19fca61e255"><div class="ttname"><a href="a00149.html#a1826228db7fcb969e650a19fca61e255">rtl::OStringBuffer::append</a></div><div class="ttdeci">libreoffice_internal::ConstCharArrayDetector&lt; T, OStringBuffer &amp; &gt;::Type append(T &amp;literal)</div><div class="ttdoc">This is an overloaded member function, provided for convenience. It differs from the above function o...</div><div class="ttdef"><b>Definition:</b> strbuf.hxx:513</div></div>
<div class="ttc" id="a00409_html_ae7592498ff29e77d61c157d5a7c5197b"><div class="ttname"><a href="a00409.html#ae7592498ff29e77d61c157d5a7c5197b">SAL_WARN_UNUSED_RESULT</a></div><div class="ttdeci">#define SAL_WARN_UNUSED_RESULT</div><div class="ttdoc">Use this as markup for functions and methods whose return value must be checked. </div><div class="ttdef"><b>Definition:</b> types.h:302</div></div>
<div class="ttc" id="a00148_html_ae8623ff42d0d50803a2406830d3fc37e"><div class="ttname"><a href="a00148.html#ae8623ff42d0d50803a2406830d3fc37e">rtl::OString::getLength</a></div><div class="ttdeci">sal_Int32 getLength() const </div><div class="ttdoc">Returns the length of this string. </div><div class="ttdef"><b>Definition:</b> string.hxx:405</div></div>
<div class="ttc" id="a00386_html_a9d16505afdc0f364f41e6292403e21cb"><div class="ttname"><a href="a00386.html#a9d16505afdc0f364f41e6292403e21cb">rtl_string_new_WithLength</a></div><div class="ttdeci">SAL_DLLPUBLIC void rtl_string_new_WithLength(rtl_String **newStr, sal_Int32 len) SAL_THROW_EXTERN_C()</div><div class="ttdoc">Allocate a new string containing space for a given number of characters. </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="a00386_html_a93e8cd2725116f74d3ffbdaeebee2342"><div class="ttname"><a href="a00386.html#a93e8cd2725116f74d3ffbdaeebee2342">rtl_str_valueOfFloat</a></div><div class="ttdeci">SAL_DLLPUBLIC sal_Int32 rtl_str_valueOfFloat(sal_Char *str, float f) SAL_THROW_EXTERN_C()</div><div class="ttdoc">Create the string representation of a float. </div></div>
<div class="ttc" id="a00131_html"><div class="ttname"><a href="a00131.html">rtl::libreoffice_internal::NonConstCharArrayDetector</a></div><div class="ttdef"><b>Definition:</b> stringutils.hxx:123</div></div>
<div class="ttc" id="a00384_html_a4d0111988d63c2d091551d49427cf8aa"><div class="ttname"><a href="a00384.html#a4d0111988d63c2d091551d49427cf8aa">rtl_stringbuffer_insert</a></div><div class="ttdeci">SAL_DLLPUBLIC void rtl_stringbuffer_insert(rtl_String **This, sal_Int32 *capacity, sal_Int32 offset, const sal_Char *str, sal_Int32 len)</div><div class="ttdoc">Inserts the string representation of the char array argument into this string buffer. </div></div>
<div class="ttc" id="a00389_html"><div class="ttname"><a href="a00389.html">stringutils.hxx</a></div></div>
<div class="ttc" id="a00077_html"><div class="ttname"><a href="a00077.html">rtl::libreoffice_internal::Dummy</a></div><div class="ttdef"><b>Definition:</b> stringutils.hxx:103</div></div>
<div class="ttc" id="a00149_html_abd2e1596de680dd8d8e212cbe2ce60d4"><div class="ttname"><a href="a00149.html#abd2e1596de680dd8d8e212cbe2ce60d4">rtl::OStringBuffer::append</a></div><div class="ttdeci">OStringBuffer &amp; append(sal_Int64 l, sal_Int16 radix=10)</div><div class="ttdoc">Appends the string representation of the long argument to this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:656</div></div>
<div class="ttc" id="a00386_html_ac525b7700f1414fc37e6a0e3f2759e8d"><div class="ttname"><a href="a00386.html#ac525b7700f1414fc37e6a0e3f2759e8d">rtl_string_release</a></div><div class="ttdeci">SAL_DLLPUBLIC void rtl_string_release(rtl_String *str) SAL_THROW_EXTERN_C()</div><div class="ttdoc">Decrement the reference count of a string. </div></div>
<div class="ttc" id="a00149_html_a93f1e6c0741af63d40bbf3e1d0e486ee"><div class="ttname"><a href="a00149.html#a93f1e6c0741af63d40bbf3e1d0e486ee">rtl::OStringBuffer::append</a></div><div class="ttdeci">OStringBuffer &amp; append(double d)</div><div class="ttdoc">Appends the string representation of the double argument to this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:690</div></div>
<div class="ttc" id="a00149_html_a3b39e4961bde5a860d4b7186b03205af"><div class="ttname"><a href="a00149.html#a3b39e4961bde5a860d4b7186b03205af">rtl::OStringBuffer::append</a></div><div class="ttdeci">OStringBuffer &amp; append(sal_Int32 i, sal_Int16 radix=10)</div><div class="ttdoc">Appends the string representation of the sal_Int32 argument to this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:638</div></div>
<div class="ttc" id="a00386_html_ab0ae785ce57662e1ecfc9562c64c82de"><div class="ttname"><a href="a00386.html#ab0ae785ce57662e1ecfc9562c64c82de">rtl_str_valueOfInt64</a></div><div class="ttdeci">SAL_DLLPUBLIC sal_Int32 rtl_str_valueOfInt64(sal_Char *str, sal_Int64 l, sal_Int16 radix) SAL_THROW_EXTERN_C()</div><div class="ttdoc">Create the string representation of a long integer. </div></div>
<div class="ttc" id="a00149_html_a6938a22368a8098fa70d46fd9f7da97f"><div class="ttname"><a href="a00149.html#a6938a22368a8098fa70d46fd9f7da97f">rtl::OStringBuffer::insert</a></div><div class="ttdeci">libreoffice_internal::ConstCharArrayDetector&lt; T, OStringBuffer &amp; &gt;::Type insert(sal_Int32 offset, T &amp;literal)</div><div class="ttdoc">This is an overloaded member function, provided for convenience. It differs from the above function o...</div><div class="ttdef"><b>Definition:</b> strbuf.hxx:772</div></div>
<div class="ttc" id="a00149_html_a0876e760064e722aa3aa3045885d6f04"><div class="ttname"><a href="a00149.html#a0876e760064e722aa3aa3045885d6f04">rtl::OStringBuffer::getCapacity</a></div><div class="ttdeci">sal_Int32 getCapacity() const </div><div class="ttdoc">Returns the current capacity of the String buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:349</div></div>
<div class="ttc" id="a00149_html_a7fe260525c2a37d963ab9671a9d8ad38"><div class="ttname"><a href="a00149.html#a7fe260525c2a37d963ab9671a9d8ad38">rtl::OStringBuffer::getLength</a></div><div class="ttdeci">sal_Int32 getLength() const </div><div class="ttdoc">Returns the length (character count) of this string buffer. </div><div class="ttdef"><b>Definition:</b> strbuf.hxx:321</div></div>
<div class="ttc" id="a00409_html_a07f97528994e901bd25ab94872fabd03"><div class="ttname"><a href="a00409.html#a07f97528994e901bd25ab94872fabd03">SAL_DEPRECATED</a></div><div class="ttdeci">#define SAL_DEPRECATED(message)</div><div class="ttdoc">Use as follows: SAL_DEPRECATED(&amp;quot;Don&amp;#39;t use, it&amp;#39;s evil.&amp;quot;) void doit(int nPara);. </div><div class="ttdef"><b>Definition:</b> types.h:465</div></div>
<div class="ttc" id="a00402_html"><div class="ttname"><a href="a00402.html">config.h</a></div></div>
<div class="ttc" id="a00409_html_a1f708c2b11d04207c54202e980f9e181"><div class="ttname"><a href="a00409.html#a1f708c2b11d04207c54202e980f9e181">SAL_DELETED_FUNCTION</a></div><div class="ttdeci">#define SAL_DELETED_FUNCTION</div><div class="ttdoc">short-circuit extra-verbose API namespaces </div><div class="ttdef"><b>Definition:</b> types.h:396</div></div>
<div class="ttc" id="a00149_html_a4271c6cbbbe7159a988ef870476fe435"><div class="ttname"><a href="a00149.html#a4271c6cbbbe7159a988ef870476fe435">rtl::OStringBuffer::pData</a></div><div class="ttdeci">rtl_stringbuffer_newFromStr_WithLength &amp; pData</div><div class="ttdef"><b>Definition:</b> strbuf.hxx:152</div></div>
<div class="ttc" id="a00409_html_af3f9a0ae90b2fa68c7ccb7488d0f4304"><div class="ttname"><a href="a00409.html#af3f9a0ae90b2fa68c7ccb7488d0f4304">SAL_WARN_UNUSED</a></div><div class="ttdeci">#define SAL_WARN_UNUSED</div><div class="ttdoc">Annotate classes where a compiler should warn if an instance is unused. </div><div class="ttdef"><b>Definition:</b> types.h:578</div></div>
<div class="ttc" id="a00148_html"><div class="ttname"><a href="a00148.html">rtl::OString</a></div><div class="ttdoc">This String class provide base functionality for C++ like 8-Bit character array handling. </div><div class="ttdef"><b>Definition:</b> string.hxx:97</div></div>
<div class="ttc" id="a00386_html_a9a1acbd13cd08701747dd642e61c7653"><div class="ttname"><a href="a00386.html#a9a1acbd13cd08701747dd642e61c7653">RTL_STR_MAX_VALUEOFBOOLEAN</a></div><div class="ttdeci">#define RTL_STR_MAX_VALUEOFBOOLEAN</div><div class="ttdef"><b>Definition:</b> string.h:585</div></div>
<div class="ttc" id="a00386_html_a04ea9bd9434c155eb047d2e41360f046"><div class="ttname"><a href="a00386.html#a04ea9bd9434c155eb047d2e41360f046">rtl_str_valueOfDouble</a></div><div class="ttdeci">SAL_DLLPUBLIC sal_Int32 rtl_str_valueOfDouble(sal_Char *str, double d) SAL_THROW_EXTERN_C()</div><div class="ttdoc">Create the string representation of a double. </div></div>
<div class="ttc" id="a00149_html_a777f62ea8eaf652afb7b618913927bc8"><div class="ttname"><a href="a00149.html#a777f62ea8eaf652afb7b618913927bc8">rtl::OStringBuffer::insert</a></div><div class="ttdeci">OStringBuffer &amp; insert(sal_Int32 offset, double d)</div><div class="ttdoc">Inserts the string representation of the double argument into this string buffer. ...</div><div class="ttdef"><b>Definition:</b> strbuf.hxx:966</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>