<!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::temporary_buffer< _ForwardIterator, _Tp > Struct 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&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&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('a09156.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> | <a href="a09153.html">List of all members</a> </div> <div class="headertitle"> <div class="title">__gnu_cxx::temporary_buffer< _ForwardIterator, _Tp > Struct Template Reference<div class="ingroups"><a class="el" href="a01458.html">Extensions</a> » <a class="el" href="a01459.html">SGI</a></div></div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Inheritance diagram for __gnu_cxx::temporary_buffer< _ForwardIterator, _Tp >:</div> <div class="dyncontent"> <div class="center"><iframe scrolling="no" frameborder="0" src="a09155.svg" width="174" height="150"><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:a8ce63b97866e00cfc035d5763488425c"><td class="memItemLeft" align="right" valign="top"><a id="a8ce63b97866e00cfc035d5763488425c"></a> typedef pointer </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr> <tr class="separator:a8ce63b97866e00cfc035d5763488425c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afcc8c0ce6f514979e73cbfc760397f3e"><td class="memItemLeft" align="right" valign="top"><a id="afcc8c0ce6f514979e73cbfc760397f3e"></a> typedef value_type * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr> <tr class="separator:afcc8c0ce6f514979e73cbfc760397f3e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad3aa5a36137fab80d8868cb9bfe00195"><td class="memItemLeft" align="right" valign="top"><a id="ad3aa5a36137fab80d8868cb9bfe00195"></a> typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr> <tr class="separator:ad3aa5a36137fab80d8868cb9bfe00195"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a973e435136b8b9e6107d3e76dc791d35"><td class="memItemLeft" align="right" valign="top"><a id="a973e435136b8b9e6107d3e76dc791d35"></a> typedef _Tp </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr> <tr class="separator:a973e435136b8b9e6107d3e76dc791d35"><td class="memSeparator" colspan="2"> </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:a984575528c7bf7f532c7ff4b16a6a09c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a09156.html#a984575528c7bf7f532c7ff4b16a6a09c">temporary_buffer</a> (_ForwardIterator __first, _ForwardIterator __last)</td></tr> <tr class="separator:a984575528c7bf7f532c7ff4b16a6a09c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af2c0719cd475f4291891f508afc14059"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a09156.html#af2c0719cd475f4291891f508afc14059">~temporary_buffer</a> ()</td></tr> <tr class="separator:af2c0719cd475f4291891f508afc14059"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acd631918c7c80bd4d4edd871c5122064"><td class="memItemLeft" align="right" valign="top">iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a07796.html#acd631918c7c80bd4d4edd871c5122064">begin</a> ()</td></tr> <tr class="separator:acd631918c7c80bd4d4edd871c5122064"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0a05d06255dbcf619bb312133b13cc97"><td class="memItemLeft" align="right" valign="top">iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a07796.html#a0a05d06255dbcf619bb312133b13cc97">end</a> ()</td></tr> <tr class="separator:a0a05d06255dbcf619bb312133b13cc97"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6cc6bd1d6df0b852168f5065c01433ca"><td class="memItemLeft" align="right" valign="top">size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a07796.html#a6cc6bd1d6df0b852168f5065c01433ca">requested_size</a> () const</td></tr> <tr class="separator:a6cc6bd1d6df0b852168f5065c01433ca"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9bc2a952203a764d5a1cdf80f94bd2a8"><td class="memItemLeft" align="right" valign="top">size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a07796.html#a9bc2a952203a764d5a1cdf80f94bd2a8">size</a> () const</td></tr> <tr class="separator:a9bc2a952203a764d5a1cdf80f94bd2a8"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr class="memitem:a02e936536a8ea59b7588ebdd778747a7"><td class="memItemLeft" align="right" valign="top"><a id="a02e936536a8ea59b7588ebdd778747a7"></a> pointer </td><td class="memItemRight" valign="bottom"><b>_M_buffer</b></td></tr> <tr class="separator:a02e936536a8ea59b7588ebdd778747a7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af1ebcbdefd6f9520fb4d2c887e9fbdf4"><td class="memItemLeft" align="right" valign="top"><a id="af1ebcbdefd6f9520fb4d2c887e9fbdf4"></a> size_type </td><td class="memItemRight" valign="bottom"><b>_M_len</b></td></tr> <tr class="separator:af1ebcbdefd6f9520fb4d2c887e9fbdf4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3cd59b62ca089fd691c576a3e2276c21"><td class="memItemLeft" align="right" valign="top"><a id="a3cd59b62ca089fd691c576a3e2276c21"></a> size_type </td><td class="memItemRight" valign="bottom"><b>_M_original_len</b></td></tr> <tr class="separator:a3cd59b62ca089fd691c576a3e2276c21"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><h3>template<class _ForwardIterator, class _Tp = typename std::iterator_traits<_ForwardIterator>::value_type><br /> struct __gnu_cxx::temporary_buffer< _ForwardIterator, _Tp ></h3> <p>This class provides similar behavior and semantics of the standard functions get_temporary_buffer() and return_temporary_buffer(), but encapsulated in a type vaguely resembling a standard container.</p> <p>By default, a temporary_buffer<Iter> stores space for objects of whatever type the Iter iterator points to. It is constructed from a typical [first,last) range, and provides the begin(), end(), size() functions, as well as requested_size(). For non-trivial types, copies of *first will be used to initialize the storage.</p> <p><code>malloc</code> is used to obtain underlying storage.</p> <p>Like get_temporary_buffer(), not all the requested memory may be available. Ideally, the created buffer will be large enough to hold a copy of [first,last), but if size() is less than requested_size(), then this didn't happen. </p> <p class="definition">Definition at line <a class="el" href="a16962_source.html#l00183">183</a> of file <a class="el" href="a16962_source.html">ext/memory</a>.</p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a id="a984575528c7bf7f532c7ff4b16a6a09c"></a> <h2 class="memtitle"><span class="permalink"><a href="#a984575528c7bf7f532c7ff4b16a6a09c">◆ </a></span>temporary_buffer()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class _ForwardIterator , class _Tp = typename std::iterator_traits<_ForwardIterator>::value_type> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a09156.html">__gnu_cxx::temporary_buffer</a>< _ForwardIterator, _Tp >::<a class="el" href="a09156.html">temporary_buffer</a> </td> <td>(</td> <td class="paramtype">_ForwardIterator </td> <td class="paramname"><em>__first</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">_ForwardIterator </td> <td class="paramname"><em>__last</em> </td> </tr> <tr> <td></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>Requests storage large enough to hold a copy of [first,last). </p> <p class="definition">Definition at line <a class="el" href="a16962_source.html#l00186">186</a> of file <a class="el" href="a16962_source.html">ext/memory</a>.</p> </div> </div> <a id="af2c0719cd475f4291891f508afc14059"></a> <h2 class="memtitle"><span class="permalink"><a href="#af2c0719cd475f4291891f508afc14059">◆ </a></span>~temporary_buffer()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class _ForwardIterator , class _Tp = typename std::iterator_traits<_ForwardIterator>::value_type> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a09156.html">__gnu_cxx::temporary_buffer</a>< _ForwardIterator, _Tp >::~<a class="el" href="a09156.html">temporary_buffer</a> </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>Destroys objects and frees storage. </p> <p class="definition">Definition at line <a class="el" href="a16962_source.html#l00190">190</a> of file <a class="el" href="a16962_source.html">ext/memory</a>.</p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a id="acd631918c7c80bd4d4edd871c5122064"></a> <h2 class="memtitle"><span class="permalink"><a href="#acd631918c7c80bd4d4edd871c5122064">◆ </a></span>begin()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _ForwardIterator , typename _Tp > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">iterator <a class="el" href="a07796.html">std::_Temporary_buffer</a>< _ForwardIterator, _Tp >::begin </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 class="mlabel">inherited</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>As per Table mumble. </p> <p class="definition">Definition at line <a class="el" href="a00590_source.html#l00151">151</a> of file <a class="el" href="a00590_source.html">stl_tempbuf.h</a>.</p> </div> </div> <a id="a0a05d06255dbcf619bb312133b13cc97"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0a05d06255dbcf619bb312133b13cc97">◆ </a></span>end()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _ForwardIterator , typename _Tp > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">iterator <a class="el" href="a07796.html">std::_Temporary_buffer</a>< _ForwardIterator, _Tp >::end </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 class="mlabel">inherited</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>As per Table mumble. </p> <p class="definition">Definition at line <a class="el" href="a00590_source.html#l00156">156</a> of file <a class="el" href="a00590_source.html">stl_tempbuf.h</a>.</p> </div> </div> <a id="a6cc6bd1d6df0b852168f5065c01433ca"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6cc6bd1d6df0b852168f5065c01433ca">◆ </a></span>requested_size()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _ForwardIterator , typename _Tp > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">size_type <a class="el" href="a07796.html">std::_Temporary_buffer</a>< _ForwardIterator, _Tp >::requested_size </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns the size requested by the constructor; may be >size(). </p> <p class="definition">Definition at line <a class="el" href="a00590_source.html#l00146">146</a> of file <a class="el" href="a00590_source.html">stl_tempbuf.h</a>.</p> </div> </div> <a id="a9bc2a952203a764d5a1cdf80f94bd2a8"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9bc2a952203a764d5a1cdf80f94bd2a8">◆ </a></span>size()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _ForwardIterator , typename _Tp > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">size_type <a class="el" href="a07796.html">std::_Temporary_buffer</a>< _ForwardIterator, _Tp >::size </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>As per Table mumble. </p> <p class="definition">Definition at line <a class="el" href="a00590_source.html#l00141">141</a> of file <a class="el" href="a00590_source.html">stl_tempbuf.h</a>.</p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="a16962_source.html">ext/memory</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="a09156.html">temporary_buffer</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>