Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > 0448c66ab6afa2f787658c5e6488e2d9 > files > 5198

libstdc++-docs-8.3.1-0.20191101.1.mga7.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<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.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libstdc++: __gnu_cxx::__rc_string_base&lt; _CharT, _Traits, _Alloc &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libstdc++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a10548.html','');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="a10545.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">__gnu_cxx::__rc_string_base&lt; _CharT, _Traits, _Alloc &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Inherits __gnu_cxx::__vstring_utility&lt; _CharT, _Traits, _Alloc &gt;.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a11ed2810c7e0e8851e4ad17fd4a42f05"><td class="memItemLeft" align="right" valign="top"><a id="a11ed2810c7e0e8851e4ad17fd4a42f05"></a>
typedef _Util_Base::_CharT_alloc_type&#160;</td><td class="memItemRight" valign="bottom"><b>_CharT_alloc_type</b></td></tr>
<tr class="separator:a11ed2810c7e0e8851e4ad17fd4a42f05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c05ff432df8cf5b93cb28d812b5237e"><td class="memItemLeft" align="right" valign="top"><a id="a7c05ff432df8cf5b93cb28d812b5237e"></a>
typedef __vstring_utility&lt; _CharT, _Traits, _Alloc &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_Util_Base</b></td></tr>
<tr class="separator:a7c05ff432df8cf5b93cb28d812b5237e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a568f2a050b5b8ae920196a0899157ef3"><td class="memItemLeft" align="right" valign="top"><a id="a568f2a050b5b8ae920196a0899157ef3"></a>
typedef _Alloc&#160;</td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr>
<tr class="separator:a568f2a050b5b8ae920196a0899157ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af62415c4f26f81b363ebe6d5b612f260"><td class="memItemLeft" align="right" valign="top"><a id="af62415c4f26f81b363ebe6d5b612f260"></a>
typedef _CharT_alloc_type::size_type&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
<tr class="separator:af62415c4f26f81b363ebe6d5b612f260"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3b1120e0bc31cf2373f6ea2d73a9122"><td class="memItemLeft" align="right" valign="top"><a id="af3b1120e0bc31cf2373f6ea2d73a9122"></a>
typedef _Traits&#160;</td><td class="memItemRight" valign="bottom"><b>traits_type</b></td></tr>
<tr class="separator:af3b1120e0bc31cf2373f6ea2d73a9122"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79883c5956b245aa810d38d871138a9b"><td class="memItemLeft" align="right" valign="top"><a id="a79883c5956b245aa810d38d871138a9b"></a>
typedef _Traits::char_type&#160;</td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
<tr class="separator:a79883c5956b245aa810d38d871138a9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af9ddd3f4c01c56461004dbee1fe365d0"><td class="memItemLeft" align="right" valign="top"><a id="af9ddd3f4c01c56461004dbee1fe365d0"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>__rc_string_base</b> (const _Alloc &amp;__a)</td></tr>
<tr class="separator:af9ddd3f4c01c56461004dbee1fe365d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafa872f0c86a830350edf828c52bf7cb"><td class="memItemLeft" align="right" valign="top"><a id="aafa872f0c86a830350edf828c52bf7cb"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>__rc_string_base</b> (const <a class="el" href="a10548.html">__rc_string_base</a> &amp;__rcs)</td></tr>
<tr class="separator:aafa872f0c86a830350edf828c52bf7cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a125bc6c1aab79fa25ec0d145f828449b"><td class="memItemLeft" align="right" valign="top"><a id="a125bc6c1aab79fa25ec0d145f828449b"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>__rc_string_base</b> (<a class="el" href="a10548.html">__rc_string_base</a> &amp;&amp;__rcs)</td></tr>
<tr class="separator:a125bc6c1aab79fa25ec0d145f828449b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1f37d753351363f325e3af8753d3d60"><td class="memItemLeft" align="right" valign="top"><a id="ac1f37d753351363f325e3af8753d3d60"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>__rc_string_base</b> (size_type __n, _CharT __c, const _Alloc &amp;__a)</td></tr>
<tr class="separator:ac1f37d753351363f325e3af8753d3d60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65f2d5c2c5ccd94ac390b5aed0cde4b8"><td class="memTemplParams" colspan="2"><a id="a65f2d5c2c5ccd94ac390b5aed0cde4b8"></a>
template&lt;typename _InputIterator &gt; </td></tr>
<tr class="memitem:a65f2d5c2c5ccd94ac390b5aed0cde4b8"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>__rc_string_base</b> (_InputIterator __beg, _InputIterator __end, const _Alloc &amp;__a)</td></tr>
<tr class="separator:a65f2d5c2c5ccd94ac390b5aed0cde4b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c1c701941fa28cdce1c50bebebdcd7f"><td class="memItemLeft" align="right" valign="top"><a id="a8c1c701941fa28cdce1c50bebebdcd7f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_M_assign</b> (const <a class="el" href="a10548.html">__rc_string_base</a> &amp;__rcs)</td></tr>
<tr class="separator:a8c1c701941fa28cdce1c50bebebdcd7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52d48c88c4b00e1ae7f3f1480b1d703b"><td class="memItemLeft" align="right" valign="top"><a id="a52d48c88c4b00e1ae7f3f1480b1d703b"></a>
size_type&#160;</td><td class="memItemRight" valign="bottom"><b>_M_capacity</b> () const</td></tr>
<tr class="separator:a52d48c88c4b00e1ae7f3f1480b1d703b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a364acb3f0c4c2aa7f119d873d97f1355"><td class="memItemLeft" align="right" valign="top"><a id="a364acb3f0c4c2aa7f119d873d97f1355"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_M_clear</b> ()</td></tr>
<tr class="separator:a364acb3f0c4c2aa7f119d873d97f1355"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabbe99f6fbcc01b00d7d0a446e142d5c"><td class="memItemLeft" align="right" valign="top"><a id="aabbe99f6fbcc01b00d7d0a446e142d5c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>_M_compare</b> (const <a class="el" href="a10548.html">__rc_string_base</a> &amp;) const</td></tr>
<tr class="separator:aabbe99f6fbcc01b00d7d0a446e142d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e7ce982140629c6953ba48ac88adeec"><td class="memTemplParams" colspan="2"><a id="a3e7ce982140629c6953ba48ac88adeec"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a3e7ce982140629c6953ba48ac88adeec"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>_M_compare</b> (const <a class="el" href="a10548.html">__rc_string_base</a> &amp;__rcs) const</td></tr>
<tr class="separator:a3e7ce982140629c6953ba48ac88adeec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02d3c341476584bdb571b7ca1454ed9d"><td class="memTemplParams" colspan="2"><a id="a02d3c341476584bdb571b7ca1454ed9d"></a>
template&lt;&gt; </td></tr>
<tr class="memitem:a02d3c341476584bdb571b7ca1454ed9d"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>_M_compare</b> (const <a class="el" href="a10548.html">__rc_string_base</a> &amp;__rcs) const</td></tr>
<tr class="separator:a02d3c341476584bdb571b7ca1454ed9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c3f89f712db0b517417cf6d6ceb4adf"><td class="memItemLeft" align="right" valign="top"><a id="a7c3f89f712db0b517417cf6d6ceb4adf"></a>
_CharT *&#160;</td><td class="memItemRight" valign="bottom"><b>_M_data</b> () const</td></tr>
<tr class="separator:a7c3f89f712db0b517417cf6d6ceb4adf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b800764fecb9aa218fa96b2eb991f02"><td class="memItemLeft" align="right" valign="top"><a id="a6b800764fecb9aa218fa96b2eb991f02"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_M_erase</b> (size_type __pos, size_type __n)</td></tr>
<tr class="separator:a6b800764fecb9aa218fa96b2eb991f02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acac154161a71a3535191862ad2f752c5"><td class="memItemLeft" align="right" valign="top"><a id="acac154161a71a3535191862ad2f752c5"></a>
allocator_type &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>_M_get_allocator</b> ()</td></tr>
<tr class="separator:acac154161a71a3535191862ad2f752c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5740be6d7b5adc96cf6ebffc1c909e2"><td class="memItemLeft" align="right" valign="top"><a id="aa5740be6d7b5adc96cf6ebffc1c909e2"></a>
const allocator_type &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>_M_get_allocator</b> () const</td></tr>
<tr class="separator:aa5740be6d7b5adc96cf6ebffc1c909e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4af7efd8c0586654443c2d8620372166"><td class="memItemLeft" align="right" valign="top"><a id="a4af7efd8c0586654443c2d8620372166"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>_M_is_shared</b> () const</td></tr>
<tr class="separator:a4af7efd8c0586654443c2d8620372166"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a798b1ac0d3c8f2c20bd5453af3494f91"><td class="memItemLeft" align="right" valign="top"><a id="a798b1ac0d3c8f2c20bd5453af3494f91"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_M_leak</b> ()</td></tr>
<tr class="separator:a798b1ac0d3c8f2c20bd5453af3494f91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a953c5ada30e5b3f22a602646099b51f7"><td class="memItemLeft" align="right" valign="top"><a id="a953c5ada30e5b3f22a602646099b51f7"></a>
size_type&#160;</td><td class="memItemRight" valign="bottom"><b>_M_length</b> () const</td></tr>
<tr class="separator:a953c5ada30e5b3f22a602646099b51f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09741c8aa1855210b785a2462afb7772"><td class="memItemLeft" align="right" valign="top"><a id="a09741c8aa1855210b785a2462afb7772"></a>
size_type&#160;</td><td class="memItemRight" valign="bottom"><b>_M_max_size</b> () const</td></tr>
<tr class="separator:a09741c8aa1855210b785a2462afb7772"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc54b4d970573f360c78c509fca2daad"><td class="memItemLeft" align="right" valign="top"><a id="adc54b4d970573f360c78c509fca2daad"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_M_mutate</b> (size_type __pos, size_type __len1, const _CharT *__s, size_type __len2)</td></tr>
<tr class="separator:adc54b4d970573f360c78c509fca2daad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69aaa89924c18f34038da9cc70446f3f"><td class="memItemLeft" align="right" valign="top"><a id="a69aaa89924c18f34038da9cc70446f3f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_M_reserve</b> (size_type __res)</td></tr>
<tr class="separator:a69aaa89924c18f34038da9cc70446f3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61947e45f4afe0ab9e31745007d22893"><td class="memItemLeft" align="right" valign="top"><a id="a61947e45f4afe0ab9e31745007d22893"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_M_set_leaked</b> ()</td></tr>
<tr class="separator:a61947e45f4afe0ab9e31745007d22893"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ead2deb5cc0acb1829cf4b4f3227d04"><td class="memItemLeft" align="right" valign="top"><a id="a4ead2deb5cc0acb1829cf4b4f3227d04"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_M_set_length</b> (size_type __n)</td></tr>
<tr class="separator:a4ead2deb5cc0acb1829cf4b4f3227d04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f7c41f7ab447c47904c8cad875f1c1d"><td class="memItemLeft" align="right" valign="top"><a id="a1f7c41f7ab447c47904c8cad875f1c1d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_M_swap</b> (<a class="el" href="a10548.html">__rc_string_base</a> &amp;__rcs)</td></tr>
<tr class="separator:a1f7c41f7ab447c47904c8cad875f1c1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94cabb035d82c6e09298000065c8ec49"><td class="memTemplParams" colspan="2"><a id="a94cabb035d82c6e09298000065c8ec49"></a>
template&lt;typename _InIterator &gt; </td></tr>
<tr class="memitem:a94cabb035d82c6e09298000065c8ec49"><td class="memTemplItemLeft" align="right" valign="top">_CharT *&#160;</td><td class="memTemplItemRight" valign="bottom"><b>_S_construct</b> (_InIterator __beg, _InIterator __end, const _Alloc &amp;__a, <a class="el" href="a07660.html">std::forward_iterator_tag</a>)</td></tr>
<tr class="separator:a94cabb035d82c6e09298000065c8ec49"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:afd5bf3e8b9ed7800015b1d5ac5eb12b7"><td class="memItemLeft" align="right" valign="top"><a id="afd5bf3e8b9ed7800015b1d5ac5eb12b7"></a>
typedef __gnu_cxx::__normal_iterator&lt; const_pointer, <a class="el" href="a10992.html">__gnu_cxx::__versa_string</a>&lt; _CharT, _Traits, _Alloc, <a class="el" href="a10548.html">__rc_string_base</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>__const_rc_iterator</b></td></tr>
<tr class="separator:afd5bf3e8b9ed7800015b1d5ac5eb12b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72a9b8ee2da725fc9e090c4ac025c7e3"><td class="memItemLeft" align="right" valign="top"><a id="a72a9b8ee2da725fc9e090c4ac025c7e3"></a>
typedef __gnu_cxx::__normal_iterator&lt; const_pointer, <a class="el" href="a10992.html">__gnu_cxx::__versa_string</a>&lt; _CharT, _Traits, _Alloc, __sso_string_base &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>__const_sso_iterator</b></td></tr>
<tr class="separator:a72a9b8ee2da725fc9e090c4ac025c7e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e6ef4342dbb141769c88272c99bc8b5"><td class="memItemLeft" align="right" valign="top"><a id="a0e6ef4342dbb141769c88272c99bc8b5"></a>
typedef __gnu_cxx::__normal_iterator&lt; pointer, <a class="el" href="a10992.html">__gnu_cxx::__versa_string</a>&lt; _CharT, _Traits, _Alloc, <a class="el" href="a10548.html">__rc_string_base</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>__rc_iterator</b></td></tr>
<tr class="separator:a0e6ef4342dbb141769c88272c99bc8b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44e976c363fd59b2e2afc9db4dc052bd"><td class="memItemLeft" align="right" valign="top"><a id="a44e976c363fd59b2e2afc9db4dc052bd"></a>
typedef __gnu_cxx::__normal_iterator&lt; pointer, <a class="el" href="a10992.html">__gnu_cxx::__versa_string</a>&lt; _CharT, _Traits, _Alloc, __sso_string_base &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>__sso_iterator</b></td></tr>
<tr class="separator:a44e976c363fd59b2e2afc9db4dc052bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2468540de9b5d2a7e90f323a916f6fa6"><td class="memItemLeft" align="right" valign="top"><a id="a2468540de9b5d2a7e90f323a916f6fa6"></a>
typedef _CharT_alloc_type::const_pointer&#160;</td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
<tr class="separator:a2468540de9b5d2a7e90f323a916f6fa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0ada1008ee1ec1475af0cbf21bba850"><td class="memItemLeft" align="right" valign="top"><a id="ac0ada1008ee1ec1475af0cbf21bba850"></a>
typedef _CharT_alloc_type::difference_type&#160;</td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
<tr class="separator:ac0ada1008ee1ec1475af0cbf21bba850"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6bbb3df89d6a6bfa05b18a03eb20a7a"><td class="memItemLeft" align="right" valign="top"><a id="aa6bbb3df89d6a6bfa05b18a03eb20a7a"></a>
typedef _CharT_alloc_type::pointer&#160;</td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
<tr class="separator:aa6bbb3df89d6a6bfa05b18a03eb20a7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:ae3ce53d55e94c87b48f512554796ae99"><td class="memItemLeft" align="right" valign="top"><a id="ae3ce53d55e94c87b48f512554796ae99"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_S_assign</b> (_CharT *__d, size_type __n, _CharT __c)</td></tr>
<tr class="separator:ae3ce53d55e94c87b48f512554796ae99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a035c54f4c119fd7114316a920c9139c6"><td class="memItemLeft" align="right" valign="top"><a id="a035c54f4c119fd7114316a920c9139c6"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><b>_S_compare</b> (size_type __n1, size_type __n2)</td></tr>
<tr class="separator:a035c54f4c119fd7114316a920c9139c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10e4d89ffb64ded6a0d697b736d5af5d"><td class="memItemLeft" align="right" valign="top"><a id="a10e4d89ffb64ded6a0d697b736d5af5d"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_S_copy</b> (_CharT *__d, const _CharT *__s, size_type __n)</td></tr>
<tr class="separator:a10e4d89ffb64ded6a0d697b736d5af5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e49e2ac574b1196159995e2625981f6"><td class="memTemplParams" colspan="2"><a id="a8e49e2ac574b1196159995e2625981f6"></a>
template&lt;typename _Iterator &gt; </td></tr>
<tr class="memitem:a8e49e2ac574b1196159995e2625981f6"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>_S_copy_chars</b> (_CharT *__p, _Iterator __k1, _Iterator __k2)</td></tr>
<tr class="separator:a8e49e2ac574b1196159995e2625981f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ae7a576de3116a6241af83e1ca3d778"><td class="memItemLeft" align="right" valign="top"><a id="a1ae7a576de3116a6241af83e1ca3d778"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_S_copy_chars</b> (_CharT *__p, __sso_iterator __k1, __sso_iterator __k2)</td></tr>
<tr class="separator:a1ae7a576de3116a6241af83e1ca3d778"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc3a3f425a9ce9021f0d97a74c1bd0d2"><td class="memItemLeft" align="right" valign="top"><a id="abc3a3f425a9ce9021f0d97a74c1bd0d2"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_S_copy_chars</b> (_CharT *__p, __const_sso_iterator __k1, __const_sso_iterator __k2)</td></tr>
<tr class="separator:abc3a3f425a9ce9021f0d97a74c1bd0d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f908984163cf66696644564bebd8983"><td class="memItemLeft" align="right" valign="top"><a id="a9f908984163cf66696644564bebd8983"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_S_copy_chars</b> (_CharT *__p, __rc_iterator __k1, __rc_iterator __k2)</td></tr>
<tr class="separator:a9f908984163cf66696644564bebd8983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a009b150759a0c2aba8bed1dccf2ac5b9"><td class="memItemLeft" align="right" valign="top"><a id="a009b150759a0c2aba8bed1dccf2ac5b9"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_S_copy_chars</b> (_CharT *__p, __const_rc_iterator __k1, __const_rc_iterator __k2)</td></tr>
<tr class="separator:a009b150759a0c2aba8bed1dccf2ac5b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accf3857a389b9f35e13034a3eab1576d"><td class="memItemLeft" align="right" valign="top"><a id="accf3857a389b9f35e13034a3eab1576d"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_S_copy_chars</b> (_CharT *__p, _CharT *__k1, _CharT *__k2)</td></tr>
<tr class="separator:accf3857a389b9f35e13034a3eab1576d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e3807c8de72d22a563a65125ff309be"><td class="memItemLeft" align="right" valign="top"><a id="a4e3807c8de72d22a563a65125ff309be"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_S_copy_chars</b> (_CharT *__p, const _CharT *__k1, const _CharT *__k2)</td></tr>
<tr class="separator:a4e3807c8de72d22a563a65125ff309be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70d3b141492f2ac9b622775952612af7"><td class="memItemLeft" align="right" valign="top"><a id="a70d3b141492f2ac9b622775952612af7"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>_S_move</b> (_CharT *__d, const _CharT *__s, size_type __n)</td></tr>
<tr class="separator:a70d3b141492f2ac9b622775952612af7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename _CharT, typename _Traits, typename _Alloc&gt;<br />
class __gnu_cxx::__rc_string_base&lt; _CharT, _Traits, _Alloc &gt;</h3>

<p>Documentation? What's that? Nathan Myers <a href="#" onclick="location.href='mai'+'lto:'+'ncm'+'@c'+'ant'+'ri'+'p.o'+'rg'; return false;">ncm@c<span style="display: none;">.nosp@m.</span>antr<span style="display: none;">.nosp@m.</span>ip.or<span style="display: none;">.nosp@m.</span>g</a>.</p>
<p>A string looks like this:</p>
<div class="fragment"><div class="line">                                     [_Rep]</div><div class="line">                                     _M_length</div><div class="line">[__rc_string_base&lt;char_type&gt;]        _M_capacity</div><div class="line">_M_dataplus                          _M_refcount</div><div class="line">_M_p ----------------&gt;               unnamed array of char_type</div></div><!-- fragment --><p>Where the _M_p points to the first character in the string, and you cast it to a pointer-to-_Rep and subtract 1 to get a pointer to the header.</p>
<p>This approach has the enormous advantage that a string object requires only one allocation. All the ugliness is confined within a single pair of inline functions, which each compile to a single <em>add</em> instruction: _Rep::_M_refdata(), and __rc_string_base::_M_rep(); and the allocation function which gets a block of raw bytes and with room enough and constructs a _Rep object at the front.</p>
<p>The reason you want _M_data pointing to the character array and not the _Rep is so that the debugger can see the string contents. (Probably we should add a non-inline member to get the _Rep for the debugger to use, so users can check the actual string length.)</p>
<p>Note that the _Rep object is a POD so that you can have a static <em>empty string</em> _Rep object already <em>constructed</em> before static constructors have run. The reference-count encoding is chosen so that a 0 indicates one reference, so you never try to destroy the empty-string _Rep object.</p>
<p>All but the last paragraph is considered pretty conventional for a C++ string implementation. </p>

<p class="definition">Definition at line <a class="el" href="a01067_source.html#l00082">82</a> of file <a class="el" href="a01067_source.html">rc_string_base.h</a>.</p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a01067_source.html">rc_string_base.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="a01544.html">__gnu_cxx</a></li><li class="navelem"><a class="el" href="a10548.html">__rc_string_base</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
  </ul>
</div>
</body>
</html>