Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > bfb47da7e0322bcb0e23e4b1838d9db9 > files > 5088

libstdc++-docs-8.4.0-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::bitmap_allocator&lt; _Tp &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('a10215.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="#pri-types">Private Types</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="a10212.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">__gnu_cxx::bitmap_allocator&lt; _Tp &gt; Class Template Reference<div class="ingroups"><a class="el" href="a01480.html">Utilities</a> &raquo; <a class="el" href="a01474.html">Memory</a> &raquo; <a class="el" href="a01493.html">Allocators</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for __gnu_cxx::bitmap_allocator&lt; _Tp &gt;:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="a10214.svg" width="190" height="123"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<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:a7c1087682c1149172d29f490ada40a33"><td class="memItemLeft" align="right" valign="top"><a id="a7c1087682c1149172d29f490ada40a33"></a>
typedef free_list::__mutex_type&#160;</td><td class="memItemRight" valign="bottom"><b>__mutex_type</b></td></tr>
<tr class="separator:a7c1087682c1149172d29f490ada40a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe0996a5dde6ea45d53e2a0df4a2c26f"><td class="memItemLeft" align="right" valign="top"><a id="afe0996a5dde6ea45d53e2a0df4a2c26f"></a>
typedef const _Tp *&#160;</td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
<tr class="separator:afe0996a5dde6ea45d53e2a0df4a2c26f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c610b2da4e6f51a465166d0686f632a"><td class="memItemLeft" align="right" valign="top"><a id="a1c610b2da4e6f51a465166d0686f632a"></a>
typedef const _Tp &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
<tr class="separator:a1c610b2da4e6f51a465166d0686f632a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5ab375919fd01999ce7ff7b7b151923"><td class="memItemLeft" align="right" valign="top"><a id="af5ab375919fd01999ce7ff7b7b151923"></a>
typedef ptrdiff_t&#160;</td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
<tr class="separator:af5ab375919fd01999ce7ff7b7b151923"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a857a3f720ebea60a3db13c37da833906"><td class="memItemLeft" align="right" valign="top"><a id="a857a3f720ebea60a3db13c37da833906"></a>
typedef _Tp *&#160;</td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
<tr class="separator:a857a3f720ebea60a3db13c37da833906"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91589e45f6a2325fa07f798ffac02aa0"><td class="memItemLeft" align="right" valign="top"><a id="a91589e45f6a2325fa07f798ffac02aa0"></a>
typedef <a class="el" href="a01479.html#ga6a860513044e23d34e553ea986e83fa1">std::true_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>propagate_on_container_move_assignment</b></td></tr>
<tr class="separator:a91589e45f6a2325fa07f798ffac02aa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d6e37bbbb2ca0bc8571aa7644a6a991"><td class="memItemLeft" align="right" valign="top"><a id="a3d6e37bbbb2ca0bc8571aa7644a6a991"></a>
typedef _Tp &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
<tr class="separator:a3d6e37bbbb2ca0bc8571aa7644a6a991"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70a426139d6b1c608bff449b157c5e3a"><td class="memItemLeft" align="right" valign="top"><a id="a70a426139d6b1c608bff449b157c5e3a"></a>
typedef size_t&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
<tr class="separator:a70a426139d6b1c608bff449b157c5e3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a398db4825aa300b970f2a7df6f3eb08d"><td class="memItemLeft" align="right" valign="top"><a id="a398db4825aa300b970f2a7df6f3eb08d"></a>
typedef _Tp&#160;</td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
<tr class="separator:a398db4825aa300b970f2a7df6f3eb08d"><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:a65d19040121fd1758de92226c6d636ad"><td class="memItemLeft" align="right" valign="top"><a id="a65d19040121fd1758de92226c6d636ad"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>bitmap_allocator</b> (const <a class="el" href="a10215.html">bitmap_allocator</a> &amp;) noexcept</td></tr>
<tr class="separator:a65d19040121fd1758de92226c6d636ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f091a18e6a9633b3006288a036578c2"><td class="memTemplParams" colspan="2"><a id="a5f091a18e6a9633b3006288a036578c2"></a>
template&lt;typename _Tp1 &gt; </td></tr>
<tr class="memitem:a5f091a18e6a9633b3006288a036578c2"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>bitmap_allocator</b> (const <a class="el" href="a10215.html">bitmap_allocator</a>&lt; _Tp1 &gt; &amp;) noexcept</td></tr>
<tr class="separator:a5f091a18e6a9633b3006288a036578c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac77b949a33d56571818a29d403d29c0f"><td class="memItemLeft" align="right" valign="top">pointer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a10215.html#ac77b949a33d56571818a29d403d29c0f">_M_allocate_single_object</a> ()</td></tr>
<tr class="separator:ac77b949a33d56571818a29d403d29c0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0ef4419b8cbba9cb3dd18f54767011b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a10215.html#ae0ef4419b8cbba9cb3dd18f54767011b">_M_deallocate_single_object</a> (pointer __p)  throw ()</td></tr>
<tr class="separator:ae0ef4419b8cbba9cb3dd18f54767011b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7e35ed03f832b7b1480573e8bfb5934"><td class="memItemLeft" align="right" valign="top"><a id="aa7e35ed03f832b7b1480573e8bfb5934"></a>
pointer&#160;</td><td class="memItemRight" valign="bottom"><b>address</b> (reference __r) const noexcept</td></tr>
<tr class="separator:aa7e35ed03f832b7b1480573e8bfb5934"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc97a8a29fa13bf361a6a0a11b479bd7"><td class="memItemLeft" align="right" valign="top"><a id="abc97a8a29fa13bf361a6a0a11b479bd7"></a>
const_pointer&#160;</td><td class="memItemRight" valign="bottom"><b>address</b> (const_reference __r) const noexcept</td></tr>
<tr class="separator:abc97a8a29fa13bf361a6a0a11b479bd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28cfcee98ba6030d18f85a39eedaf019"><td class="memItemLeft" align="right" valign="top"><a id="a28cfcee98ba6030d18f85a39eedaf019"></a>
pointer&#160;</td><td class="memItemRight" valign="bottom"><b>allocate</b> (size_type __n)</td></tr>
<tr class="separator:a28cfcee98ba6030d18f85a39eedaf019"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0cb2fb58340bb902e9cc2b26e25d9b6"><td class="memItemLeft" align="right" valign="top"><a id="aa0cb2fb58340bb902e9cc2b26e25d9b6"></a>
pointer&#160;</td><td class="memItemRight" valign="bottom"><b>allocate</b> (size_type __n, typename <a class="el" href="a10215.html">bitmap_allocator</a>&lt; void &gt;::const_pointer)</td></tr>
<tr class="separator:aa0cb2fb58340bb902e9cc2b26e25d9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a432bb6faaa01fd78df4cac7671155994"><td class="memTemplParams" colspan="2"><a id="a432bb6faaa01fd78df4cac7671155994"></a>
template&lt;typename _Up , typename... _Args&gt; </td></tr>
<tr class="memitem:a432bb6faaa01fd78df4cac7671155994"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>construct</b> (_Up *__p, _Args &amp;&amp;... __args)</td></tr>
<tr class="separator:a432bb6faaa01fd78df4cac7671155994"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd404baeaf6ca9e8b3bbd6150998a5c6"><td class="memItemLeft" align="right" valign="top"><a id="abd404baeaf6ca9e8b3bbd6150998a5c6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>deallocate</b> (pointer __p, size_type __n)  throw ()</td></tr>
<tr class="separator:abd404baeaf6ca9e8b3bbd6150998a5c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25079667e0884dc085ff488a2635d53f"><td class="memTemplParams" colspan="2"><a id="a25079667e0884dc085ff488a2635d53f"></a>
template&lt;typename _Up &gt; </td></tr>
<tr class="memitem:a25079667e0884dc085ff488a2635d53f"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>destroy</b> (_Up *__p)</td></tr>
<tr class="separator:a25079667e0884dc085ff488a2635d53f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa503f5a050e796d80094db2f5569a6bf"><td class="memItemLeft" align="right" valign="top"><a id="aa503f5a050e796d80094db2f5569a6bf"></a>
size_type&#160;</td><td class="memItemRight" valign="bottom"><b>max_size</b> () const noexcept</td></tr>
<tr class="separator:aa503f5a050e796d80094db2f5569a6bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a>
Private Types</h2></td></tr>
<tr class="memitem:a53ca9eae5cfd27faf97bf8045614242e"><td class="memItemLeft" align="right" valign="top"><a id="a53ca9eae5cfd27faf97bf8045614242e"></a>
typedef vector_type::iterator&#160;</td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
<tr class="separator:a53ca9eae5cfd27faf97bf8045614242e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5a440e53d4ff6f09d98d7dbcd491dac"><td class="memItemLeft" align="right" valign="top"><a id="ad5a440e53d4ff6f09d98d7dbcd491dac"></a>
typedef <a class="el" href="a10179.html">__detail::__mini_vector</a>&lt; value_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>vector_type</b></td></tr>
<tr class="separator:ad5a440e53d4ff6f09d98d7dbcd491dac"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:aa818ab5db6cd984caf19488acd99e773"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a10207.html#aa818ab5db6cd984caf19488acd99e773">_M_clear</a> ()</td></tr>
<tr class="separator:aa818ab5db6cd984caf19488acd99e773"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97b71b00432393bcd261e184762ca39a"><td class="memItemLeft" align="right" valign="top">size_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a10207.html#a97b71b00432393bcd261e184762ca39a">_M_get</a> (size_t __sz)</td></tr>
<tr class="separator:a97b71b00432393bcd261e184762ca39a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae74ae06db0ef7dad012081a3c73e6483"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a10207.html#ae74ae06db0ef7dad012081a3c73e6483">_M_insert</a> (size_t *__addr)  throw ()</td></tr>
<tr class="separator:ae74ae06db0ef7dad012081a3c73e6483"><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 _Tp&gt;<br />
class __gnu_cxx::bitmap_allocator&lt; _Tp &gt;</h3>

<p>Bitmap Allocator, primary template. </p>

<p class="definition">Definition at line <a class="el" href="a01028_source.html#l00660">660</a> of file <a class="el" href="a01028_source.html">bitmap_allocator.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ac77b949a33d56571818a29d403d29c0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac77b949a33d56571818a29d403d29c0f">&#9670;&nbsp;</a></span>_M_allocate_single_object()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">pointer <a class="el" href="a10215.html">__gnu_cxx::bitmap_allocator</a>&lt; _Tp &gt;::_M_allocate_single_object </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allocates memory for a single object of size sizeof(_Tp). </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">std::bad_alloc.</td><td>If memory can not be allocated.</td></tr>
  </table>
  </dd>
</dl>
<p>Complexity: Worst case complexity is O(N), but that is hardly ever hit. If and when this particular case is encountered, the next few cases are guaranteed to have a worst case complexity of O(1)! That's why this function performs very well on average. You can consider this function to have a complexity referred to commonly as: Amortized Constant time. </p>

<p class="definition">Definition at line <a class="el" href="a01028_source.html#l00824">824</a> of file <a class="el" href="a01028_source.html">bitmap_allocator.h</a>.</p>

<p class="reference">References <a class="el" href="a01028_source.html#l00489">__gnu_cxx::__detail::__bit_allocate()</a>, <a class="el" href="a01028_source.html#l00277">__gnu_cxx::__detail::__num_bitmaps()</a>, and <a class="el" href="a01028_source.html#l00510">__gnu_cxx::_Bit_scan_forward()</a>.</p>

</div>
</div>
<a id="ae0ef4419b8cbba9cb3dd18f54767011b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0ef4419b8cbba9cb3dd18f54767011b">&#9670;&nbsp;</a></span>_M_deallocate_single_object()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a10215.html">__gnu_cxx::bitmap_allocator</a>&lt; _Tp &gt;::_M_deallocate_single_object </td>
          <td>(</td>
          <td class="paramtype">pointer&#160;</td>
          <td class="paramname"><em>__p</em></td><td>)</td>
          <td></td>
        </tr>
        <tr>
          <td align="right">throw </td><td>(</td><td colspan="2"></td>
        </tr>
        <tr>
          <td align="right"></td><td>)</td><td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Deallocates memory that belongs to a single object of size sizeof(_Tp). </p>
<p>Complexity: O(lg(N)), but the worst case is not hit often! This is because containers usually deallocate memory close to each other and this case is handled in O(1) time by the deallocate function. </p>

<p class="definition">Definition at line <a class="el" href="a01028_source.html#l00914">914</a> of file <a class="el" href="a01028_source.html">bitmap_allocator.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a01028_source.html">bitmap_allocator.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="a01547.html">__gnu_cxx</a></li><li class="navelem"><a class="el" href="a10215.html">bitmap_allocator</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>