<!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.3"/> <title>libstdc++: std::basic_streambuf< _CharT, _Traits > 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="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </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">libstdc++ </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.3 --> </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"> $(document).ready(function(){initNavTree('a00433.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#friends">Friends</a> | <a href="a02756.html">List of all members</a> </div> <div class="headertitle"> <div class="title">std::basic_streambuf< _CharT, _Traits > Class Template Reference</div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Inheritance diagram for std::basic_streambuf< _CharT, _Traits >:</div> <div class="dyncontent"> <div class="center"><img src="a02757.png" border="0" usemap="#std_1_1basic__streambuf_3_01___char_t_00_01___traits_01_4_inherit__map" alt="Inheritance graph"/></div> <map name="std_1_1basic__streambuf_3_01___char_t_00_01___traits_01_4_inherit__map" id="std_1_1basic__streambuf_3_01___char_t_00_01___traits_01_4_inherit__map"> <area shape="rect" id="node3" href="a00070.html" title="Provides a layer of compatibility for C.This GNU extension provides extensions for working with stand..." alt="" coords="326,5,493,43"/><area shape="rect" id="node5" href="a00428.html" title="The actual work of input and output (for files).This class associates both its input and output seque..." alt="" coords="346,345,473,383"/><area shape="rect" id="node15" href="a00591.html" title="The actual work of input and output (for std::string).This class associates either or both of its inp..." alt="" coords="346,143,473,182"/><area shape="rect" id="node17" href="a00433.html" title="std::basic_streambuf\l\< char, _Traits \>" alt="" coords="342,206,477,245"/><area shape="rect" id="node19" href="a00433.html" title="std::basic_streambuf\l\< char, char_traits\<\l char \> \>" alt="" coords="342,269,477,321"/><area shape="rect" id="node21" href="a00433.html" title="std::basic_streambuf\l\< _CharT, encoding_char\l_traits\< _CharT \> \>" alt="" coords="329,67,490,119"/><area shape="rect" id="node24" href="a00433.html" title="std::basic_streambuf\l\< char_type, traits_type \>" alt="" coords="330,407,489,446"/><area shape="rect" id="node7" href="a00069.html" title="Provides a layer of compatibility for C/POSIX.This GNU extension provides extensions for working with..." alt="" coords="681,317,836,355"/><area shape="rect" id="node9" href="a00428.html" title="std::basic_filebuf\l\< _CharT, encoding_char\l_traits\< _CharT \> \>" alt="" coords="678,190,839,242"/><area shape="rect" id="node13" href="a00428.html" title="std::basic_filebuf\l\< char_type, traits\l_type \>" alt="" coords="699,390,818,442"/><area shape="rect" id="node11" href="a00042.html" title="class enc_filebuf." alt="" coords="891,197,1039,235"/></map> <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><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:a38ad1721a50a96c7d37d51a3f858a0cf"><td class="memItemLeft" align="right" valign="top">typedef _CharT </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a></td></tr> <tr class="separator:a38ad1721a50a96c7d37d51a3f858a0cf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab3220592ca0efc72cf87e58cdc696bd6"><td class="memItemLeft" align="right" valign="top">typedef _Traits </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#ab3220592ca0efc72cf87e58cdc696bd6">traits_type</a></td></tr> <tr class="separator:ab3220592ca0efc72cf87e58cdc696bd6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1c1565d5b66e703de4d9a8aef4957a8b"><td class="memItemLeft" align="right" valign="top">typedef traits_type::int_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a></td></tr> <tr class="separator:a1c1565d5b66e703de4d9a8aef4957a8b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5bc758d8b84fa134386d3ab683b880aa"><td class="memItemLeft" align="right" valign="top">typedef traits_type::pos_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a5bc758d8b84fa134386d3ab683b880aa">pos_type</a></td></tr> <tr class="separator:a5bc758d8b84fa134386d3ab683b880aa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae0d813da6c3d39659299a6e7831ae265"><td class="memItemLeft" align="right" valign="top">typedef traits_type::off_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#ae0d813da6c3d39659299a6e7831ae265">off_type</a></td></tr> <tr class="separator:ae0d813da6c3d39659299a6e7831ae265"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:a20adcc1bccab9fa3678b34e078e59e8c"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00433.html">basic_streambuf</a><br class="typebreak"/> < <a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>, <a class="el" href="a00433.html#ab3220592ca0efc72cf87e58cdc696bd6">traits_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a20adcc1bccab9fa3678b34e078e59e8c">__streambuf_type</a></td></tr> <tr class="separator:a20adcc1bccab9fa3678b34e078e59e8c"><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:a924a684fe2a6844d766e25f4051b705c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a924a684fe2a6844d766e25f4051b705c">in_avail</a> ()</td></tr> <tr class="separator:a924a684fe2a6844d766e25f4051b705c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a72d8037e21ad370e3643ff3c865f91f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a72d8037e21ad370e3643ff3c865f91f9">sbumpc</a> ()</td></tr> <tr class="separator:a72d8037e21ad370e3643ff3c865f91f9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac773fb2c87cf938fb6eb89c987f8e04e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#ac773fb2c87cf938fb6eb89c987f8e04e">sgetc</a> ()</td></tr> <tr class="separator:ac773fb2c87cf938fb6eb89c987f8e04e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7cfb11ce1eb1a31cf82d7a876c35351b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a7cfb11ce1eb1a31cf82d7a876c35351b">sgetn</a> (<a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> *__s, <a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> __n)</td></tr> <tr class="separator:a7cfb11ce1eb1a31cf82d7a876c35351b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6d281db46069df3043b566f10e5397b2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a6d281db46069df3043b566f10e5397b2">snextc</a> ()</td></tr> <tr class="separator:a6d281db46069df3043b566f10e5397b2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae77ef8a76529317abdc2e6a66336e3ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#ae77ef8a76529317abdc2e6a66336e3ec">sputbackc</a> (<a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> __c)</td></tr> <tr class="separator:ae77ef8a76529317abdc2e6a66336e3ec"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af3504dac5b4cd940dbce97ddc5ed0c25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#af3504dac5b4cd940dbce97ddc5ed0c25">sputc</a> (<a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> __c)</td></tr> <tr class="separator:af3504dac5b4cd940dbce97ddc5ed0c25"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5d2917460a0283e7e2ff51940704ca95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a5d2917460a0283e7e2ff51940704ca95">sputn</a> (const <a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> *__s, <a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> __n)</td></tr> <tr class="separator:a5d2917460a0283e7e2ff51940704ca95"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8d42bd5b22d246f15a8dd0a8614c0e3f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a8d42bd5b22d246f15a8dd0a8614c0e3f">sungetc</a> ()</td></tr> <tr class="separator:a8d42bd5b22d246f15a8dd0a8614c0e3f"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr class="memitem:af9ead45743a5b28a57d385ac881493e1"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#af9ead45743a5b28a57d385ac881493e1">basic_streambuf</a> ()</td></tr> <tr class="separator:af9ead45743a5b28a57d385ac881493e1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a08e47bff97f75d3e8ac1030a749d8050"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a08e47bff97f75d3e8ac1030a749d8050"></a> void </td><td class="memItemRight" valign="bottom"><b>__safe_gbump</b> (<a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> __n)</td></tr> <tr class="separator:a08e47bff97f75d3e8ac1030a749d8050"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acf38c5ab3e2b5b2bf91ad67f255e45bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf38c5ab3e2b5b2bf91ad67f255e45bf"></a> void </td><td class="memItemRight" valign="bottom"><b>__safe_pbump</b> (<a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> __n)</td></tr> <tr class="separator:acf38c5ab3e2b5b2bf91ad67f255e45bf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9d130ff289d2617954156378a79dbdc0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a9d130ff289d2617954156378a79dbdc0">gbump</a> (int __n)</td></tr> <tr class="separator:a9d130ff289d2617954156378a79dbdc0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a70048277614282b8631e5fbf3106093e"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a70048277614282b8631e5fbf3106093e">imbue</a> (const <a class="el" href="a00800.html">locale</a> &__loc)</td></tr> <tr class="separator:a70048277614282b8631e5fbf3106093e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a225634e53ed30e3733299a1b6de0b677"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a225634e53ed30e3733299a1b6de0b677">overflow</a> (<a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> __c=traits_type::eof())</td></tr> <tr class="separator:a225634e53ed30e3733299a1b6de0b677"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8d57a822d984ebf68160724aa9330282"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a8d57a822d984ebf68160724aa9330282">pbackfail</a> (<a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> __c=traits_type::eof())</td></tr> <tr class="separator:a8d57a822d984ebf68160724aa9330282"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abd017296cfc054910ca7de102e6a6998"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#abd017296cfc054910ca7de102e6a6998">pbump</a> (int __n)</td></tr> <tr class="separator:abd017296cfc054910ca7de102e6a6998"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad6d5177e376efdb0dccf62890eebc9b0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00433.html#a5bc758d8b84fa134386d3ab683b880aa">pos_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#ad6d5177e376efdb0dccf62890eebc9b0">seekoff</a> (<a class="el" href="a00433.html#ae0d813da6c3d39659299a6e7831ae265">off_type</a>, <a class="el" href="a00731.html#ac19bbe98949795f6038952b6c7759a0a">ios_base::seekdir</a>, <a class="el" href="a00731.html#aa7e2408680d83e0bac8979774aeecdad">ios_base::openmode</a>=<a class="el" href="a00731.html#a652e2323949eea3d906e1c81bd8ce8f7">ios_base::in</a>|<a class="el" href="a00731.html#a7187e216e5d16ec820ea1791002f85e0">ios_base::out</a>)</td></tr> <tr class="separator:ad6d5177e376efdb0dccf62890eebc9b0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a008405d586f640e109c7ab7bf424aa39"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00433.html#a5bc758d8b84fa134386d3ab683b880aa">pos_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a008405d586f640e109c7ab7bf424aa39">seekpos</a> (<a class="el" href="a00433.html#a5bc758d8b84fa134386d3ab683b880aa">pos_type</a>, <a class="el" href="a00731.html#aa7e2408680d83e0bac8979774aeecdad">ios_base::openmode</a>=<a class="el" href="a00731.html#a652e2323949eea3d906e1c81bd8ce8f7">ios_base::in</a>|<a class="el" href="a00731.html#a7187e216e5d16ec820ea1791002f85e0">ios_base::out</a>)</td></tr> <tr class="separator:a008405d586f640e109c7ab7bf424aa39"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aad2e731291673229100bde1f24ce828f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00433.html">basic_streambuf</a><br class="typebreak"/> < <a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>, _Traits > * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#aad2e731291673229100bde1f24ce828f">setbuf</a> (<a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> *, <a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a>)</td></tr> <tr class="separator:aad2e731291673229100bde1f24ce828f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a38c9b562c20b30bf9d21cf0e4dc90356"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a38c9b562c20b30bf9d21cf0e4dc90356">setg</a> (<a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> *__gbeg, <a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> *__gnext, <a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> *__gend)</td></tr> <tr class="separator:a38c9b562c20b30bf9d21cf0e4dc90356"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab0f1b49870f87d288a737cd9f8f9ec00"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#ab0f1b49870f87d288a737cd9f8f9ec00">setp</a> (<a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> *__pbeg, <a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> *__pend)</td></tr> <tr class="separator:ab0f1b49870f87d288a737cd9f8f9ec00"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a85e9299b4d91188c1c0070111604ece8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a85e9299b4d91188c1c0070111604ece8">showmanyc</a> ()</td></tr> <tr class="separator:a85e9299b4d91188c1c0070111604ece8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a407510ac810a42b173f3bd553959bfb5"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a407510ac810a42b173f3bd553959bfb5">sync</a> ()</td></tr> <tr class="separator:a407510ac810a42b173f3bd553959bfb5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4e0c932f41122eaec83e7008ece5e207"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a4e0c932f41122eaec83e7008ece5e207">uflow</a> ()</td></tr> <tr class="separator:a4e0c932f41122eaec83e7008ece5e207"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aab4011ac7751c858f121b887f124529d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#aab4011ac7751c858f121b887f124529d">underflow</a> ()</td></tr> <tr class="separator:aab4011ac7751c858f121b887f124529d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7403acdc30aa0678bf1f9d211b61f3df"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a7403acdc30aa0678bf1f9d211b61f3df">xsgetn</a> (<a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> *__s, <a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> __n)</td></tr> <tr class="separator:a7403acdc30aa0678bf1f9d211b61f3df"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2e291c3500330e91d2804732aa7e6378"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a2e291c3500330e91d2804732aa7e6378">xsputn</a> (const <a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> *__s, <a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> __n)</td></tr> <tr class="separator:a2e291c3500330e91d2804732aa7e6378"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:a8a98bb10a958b9f1ad62e5444ff614ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a8a98bb10a958b9f1ad62e5444ff614ba">eback</a> () const </td></tr> <tr class="separator:a8a98bb10a958b9f1ad62e5444ff614ba"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad631f06db33ec1d3888302ec244a6ae9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#ad631f06db33ec1d3888302ec244a6ae9">gptr</a> () const </td></tr> <tr class="separator:ad631f06db33ec1d3888302ec244a6ae9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a271d085f48ab53194825e04e7caab94c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a271d085f48ab53194825e04e7caab94c">egptr</a> () const </td></tr> <tr class="separator:a271d085f48ab53194825e04e7caab94c"><td class="memSeparator" colspan="2"> </td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:a3ea4ba600f85337465d093a30519ad91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a3ea4ba600f85337465d093a30519ad91">pbase</a> () const </td></tr> <tr class="separator:a3ea4ba600f85337465d093a30519ad91"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a40fb7ed23cd6414206fc5616ab651275"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a40fb7ed23cd6414206fc5616ab651275">pptr</a> () const </td></tr> <tr class="separator:a40fb7ed23cd6414206fc5616ab651275"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a74a6d83368391e53d884e714c65e43e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a74a6d83368391e53d884e714c65e43e5">epptr</a> () const </td></tr> <tr class="separator:a74a6d83368391e53d884e714c65e43e5"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a> Friends</h2></td></tr> <tr class="memitem:ab633dd1f6a49a9f564dde31a67e8b1ee"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab633dd1f6a49a9f564dde31a67e8b1ee"></a> template<bool _IsMove, typename _CharT2 > </td></tr> <tr class="memitem:ab633dd1f6a49a9f564dde31a67e8b1ee"><td class="memTemplItemLeft" align="right" valign="top">__gnu_cxx::__enable_if<br class="typebreak"/> < __is_char< _CharT2 ><br class="typebreak"/> ::__value, _CharT2 * >::__type </td><td class="memTemplItemRight" valign="bottom"><b>__copy_move_a2</b> (<a class="el" href="a00793.html">istreambuf_iterator</a>< _CharT2 >, <a class="el" href="a00793.html">istreambuf_iterator</a>< _CharT2 >, _CharT2 *)</td></tr> <tr class="separator:ab633dd1f6a49a9f564dde31a67e8b1ee"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab31195a97187cff90d2c7fac4391725e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab31195a97187cff90d2c7fac4391725e"></a> <a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> </td><td class="memItemRight" valign="bottom"><b>__copy_streambufs_eof</b> (<a class="el" href="a00433.html#a20adcc1bccab9fa3678b34e078e59e8c">__streambuf_type</a> *, <a class="el" href="a00433.html#a20adcc1bccab9fa3678b34e078e59e8c">__streambuf_type</a> *, bool &)</td></tr> <tr class="separator:ab31195a97187cff90d2c7fac4391725e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a12e09cd22a6cbff67aebd63e55dad3ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a12e09cd22a6cbff67aebd63e55dad3ee"></a> class </td><td class="memItemRight" valign="bottom"><b>basic_ios< char_type, traits_type ></b></td></tr> <tr class="separator:a12e09cd22a6cbff67aebd63e55dad3ee"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a21edad2ce79435c762031272d6877d63"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21edad2ce79435c762031272d6877d63"></a> class </td><td class="memItemRight" valign="bottom"><b>basic_istream< char_type, traits_type ></b></td></tr> <tr class="separator:a21edad2ce79435c762031272d6877d63"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4887fc11197605c3ef70fa42d1dd633e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4887fc11197605c3ef70fa42d1dd633e"></a> class </td><td class="memItemRight" valign="bottom"><b>basic_ostream< char_type, traits_type ></b></td></tr> <tr class="separator:a4887fc11197605c3ef70fa42d1dd633e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa7948a3a0acd26fb8139dfe763017b45"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa7948a3a0acd26fb8139dfe763017b45"></a> template<typename _CharT2 > </td></tr> <tr class="memitem:aa7948a3a0acd26fb8139dfe763017b45"><td class="memTemplItemLeft" align="right" valign="top">__gnu_cxx::__enable_if<br class="typebreak"/> < __is_char< _CharT2 ><br class="typebreak"/> ::__value, <a class="el" href="a00793.html">istreambuf_iterator</a><br class="typebreak"/> < _CharT2 > >::__type </td><td class="memTemplItemRight" valign="bottom"><b>find</b> (<a class="el" href="a00793.html">istreambuf_iterator</a>< _CharT2 >, <a class="el" href="a00793.html">istreambuf_iterator</a>< _CharT2 >, const _CharT2 &)</td></tr> <tr class="separator:aa7948a3a0acd26fb8139dfe763017b45"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acff33fb156a067b31b4eb94659f1d0af"><td class="memTemplParams" colspan="2"><a class="anchor" id="acff33fb156a067b31b4eb94659f1d0af"></a> template<typename _CharT2 , typename _Traits2 , typename _Alloc > </td></tr> <tr class="memitem:acff33fb156a067b31b4eb94659f1d0af"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00431.html">basic_istream</a>< _CharT2, <br class="typebreak"/> _Traits2 > & </td><td class="memTemplItemRight" valign="bottom"><b>getline</b> (<a class="el" href="a00431.html">basic_istream</a>< _CharT2, _Traits2 > &, <a class="el" href="a00434.html">basic_string</a>< _CharT2, _Traits2, _Alloc > &, _CharT2)</td></tr> <tr class="separator:acff33fb156a067b31b4eb94659f1d0af"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5e445ab8cd4557229e92a7cf2194b776"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e445ab8cd4557229e92a7cf2194b776"></a> class </td><td class="memItemRight" valign="bottom"><b>istreambuf_iterator< char_type, traits_type ></b></td></tr> <tr class="separator:a5e445ab8cd4557229e92a7cf2194b776"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abda6cc53bc2442a17c3a4aa873b917f9"><td class="memTemplParams" colspan="2"><a class="anchor" id="abda6cc53bc2442a17c3a4aa873b917f9"></a> template<typename _CharT2 , typename _Traits2 > </td></tr> <tr class="memitem:abda6cc53bc2442a17c3a4aa873b917f9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00431.html">basic_istream</a>< _CharT2, <br class="typebreak"/> _Traits2 > & </td><td class="memTemplItemRight" valign="bottom"><b>operator>></b> (<a class="el" href="a00431.html">basic_istream</a>< _CharT2, _Traits2 > &, _CharT2 *)</td></tr> <tr class="separator:abda6cc53bc2442a17c3a4aa873b917f9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0710e719075b7906e9664433eb9c8917"><td class="memTemplParams" colspan="2"><a class="anchor" id="a0710e719075b7906e9664433eb9c8917"></a> template<typename _CharT2 , typename _Traits2 , typename _Alloc > </td></tr> <tr class="memitem:a0710e719075b7906e9664433eb9c8917"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00431.html">basic_istream</a>< _CharT2, <br class="typebreak"/> _Traits2 > & </td><td class="memTemplItemRight" valign="bottom"><b>operator>></b> (<a class="el" href="a00431.html">basic_istream</a>< _CharT2, _Traits2 > &, <a class="el" href="a00434.html">basic_string</a>< _CharT2, _Traits2, _Alloc > &)</td></tr> <tr class="separator:a0710e719075b7906e9664433eb9c8917"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad274e0163d00ce8c473351e669b053a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad274e0163d00ce8c473351e669b053a2"></a> class </td><td class="memItemRight" valign="bottom"><b>ostreambuf_iterator< char_type, traits_type ></b></td></tr> <tr class="separator:ad274e0163d00ce8c473351e669b053a2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a08c7afbf0ec4df6f6d8e29a46484197d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a08c7afbf0ec4df6f6d8e29a46484197d">_M_in_beg</a></td></tr> <tr class="separator:a08c7afbf0ec4df6f6d8e29a46484197d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7b4e50d872ecb80867eaab9e7897b625"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a7b4e50d872ecb80867eaab9e7897b625">_M_in_cur</a></td></tr> <tr class="separator:a7b4e50d872ecb80867eaab9e7897b625"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adf0f7b58227c057d018ab6a8b0a123d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#adf0f7b58227c057d018ab6a8b0a123d4">_M_in_end</a></td></tr> <tr class="separator:adf0f7b58227c057d018ab6a8b0a123d4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a66b958241a34e8b7da6ade8f3434ce61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a66b958241a34e8b7da6ade8f3434ce61">_M_out_beg</a></td></tr> <tr class="separator:a66b958241a34e8b7da6ade8f3434ce61"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a83c368ebeed6b39269fd45d38b9a8b53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a83c368ebeed6b39269fd45d38b9a8b53">_M_out_cur</a></td></tr> <tr class="separator:a83c368ebeed6b39269fd45d38b9a8b53"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af2973fa34894190ce5885749fa148bbe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#af2973fa34894190ce5885749fa148bbe">_M_out_end</a></td></tr> <tr class="separator:af2973fa34894190ce5885749fa148bbe"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aef4d5a82b6a51fa750fa43d80b4a8564"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00800.html">locale</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#aef4d5a82b6a51fa750fa43d80b4a8564">_M_buf_locale</a></td></tr> <tr class="separator:aef4d5a82b6a51fa750fa43d80b4a8564"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae09ce37bf4266e600cdc23c7648b7808"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#ae09ce37bf4266e600cdc23c7648b7808">~basic_streambuf</a> ()</td></tr> <tr class="separator:ae09ce37bf4266e600cdc23c7648b7808"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8e7a46a08c85184d8b6ea1e5d87b7736"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00800.html">locale</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a8e7a46a08c85184d8b6ea1e5d87b7736">pubimbue</a> (const <a class="el" href="a00800.html">locale</a> &__loc)</td></tr> <tr class="separator:a8e7a46a08c85184d8b6ea1e5d87b7736"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1ff453933888b07683a6cc3766684465"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00800.html">locale</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a1ff453933888b07683a6cc3766684465">getloc</a> () const </td></tr> <tr class="separator:a1ff453933888b07683a6cc3766684465"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0e3c7c3e736a215b1e05b68fa1b5aec7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a20adcc1bccab9fa3678b34e078e59e8c">__streambuf_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a0e3c7c3e736a215b1e05b68fa1b5aec7">pubsetbuf</a> (<a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> *__s, <a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> __n)</td></tr> <tr class="separator:a0e3c7c3e736a215b1e05b68fa1b5aec7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abaa4b2714067328ce4b91a503b17fa73"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a5bc758d8b84fa134386d3ab683b880aa">pos_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#abaa4b2714067328ce4b91a503b17fa73">pubseekoff</a> (<a class="el" href="a00433.html#ae0d813da6c3d39659299a6e7831ae265">off_type</a> __off, <a class="el" href="a00731.html#ac19bbe98949795f6038952b6c7759a0a">ios_base::seekdir</a> __way, <a class="el" href="a00731.html#aa7e2408680d83e0bac8979774aeecdad">ios_base::openmode</a> __mode=<a class="el" href="a00731.html#a652e2323949eea3d906e1c81bd8ce8f7">ios_base::in</a>|<a class="el" href="a00731.html#a7187e216e5d16ec820ea1791002f85e0">ios_base::out</a>)</td></tr> <tr class="separator:abaa4b2714067328ce4b91a503b17fa73"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3138ab00e52afd7a538cdffa25e21937"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00433.html#a5bc758d8b84fa134386d3ab683b880aa">pos_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#a3138ab00e52afd7a538cdffa25e21937">pubseekpos</a> (<a class="el" href="a00433.html#a5bc758d8b84fa134386d3ab683b880aa">pos_type</a> __sp, <a class="el" href="a00731.html#aa7e2408680d83e0bac8979774aeecdad">ios_base::openmode</a> __mode=<a class="el" href="a00731.html#a652e2323949eea3d906e1c81bd8ce8f7">ios_base::in</a>|<a class="el" href="a00731.html#a7187e216e5d16ec820ea1791002f85e0">ios_base::out</a>)</td></tr> <tr class="separator:a3138ab00e52afd7a538cdffa25e21937"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac81d2dad6dac4c185c31937ee10077ce"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00433.html#ac81d2dad6dac4c185c31937ee10077ce">pubsync</a> ()</td></tr> <tr class="separator:ac81d2dad6dac4c185c31937ee10077ce"><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<typename _CharT, typename _Traits><br/> class std::basic_streambuf< _CharT, _Traits ></h3> <p>The actual work of input and output (interface).</p> <p>This is a base class. Derived stream buffers each control a pair of character sequences: one for input, and one for output. </p> <p>Section [27.5.1] of the standard describes the requirements and behavior of stream buffer classes. That section (three paragraphs) is reproduced here, for simplicity and accuracy.</p> <ol type="1"> <li>Stream buffers can impose various constraints on the sequences they control. Some constraints are:<ul> <li>The controlled input sequence can be not readable.</li> <li>The controlled output sequence can be not writable.</li> <li>The controlled sequences can be associated with the contents of other representations for character sequences, such as external files.</li> <li>The controlled sequences can support operations <em>directly</em> to or from associated sequences.</li> <li>The controlled sequences can impose limitations on how the program can read characters from a sequence, write characters to a sequence, put characters back into an input sequence, or alter the stream position.</li> </ul> </li> <li>Each sequence is characterized by three pointers which, if non-null, all point into the same <code>charT</code> array object. The array object represents, at any moment, a (sub)sequence of characters from the sequence. Operations performed on a sequence alter the values stored in these pointers, perform reads and writes directly to or from associated sequences, and alter <em>the stream position</em> and conversion state as needed to maintain this subsequence relationship. The three pointers are:<ul> <li>the <em>beginning pointer</em>, or lowest element address in the array (called <em>xbeg</em> here);</li> <li>the <em>next pointer</em>, or next element address that is a current candidate for reading or writing (called <em>xnext</em> here);</li> <li>the <em>end pointer</em>, or first element address beyond the end of the array (called <em>xend</em> here).</li> </ul> </li> <li>The following semantic constraints shall always apply for any set of three pointers for a sequence, using the pointer names given immediately above:<ul> <li>If <em>xnext</em> is not a null pointer, then <em>xbeg</em> and <em>xend</em> shall also be non-null pointers into the same <code>charT</code> array, as described above; otherwise, <em>xbeg</em> and <em>xend</em> shall also be null.</li> <li>If <em>xnext</em> is not a null pointer and <em>xnext</em> < <em>xend</em> for an output sequence, then a <em>write position</em> is available. In this case, <em>*xnext</em> shall be assignable as the next element to write (to put, or to store a character value, into the sequence).</li> <li>If <em>xnext</em> is not a null pointer and <em>xbeg</em> < <em>xnext</em> for an input sequence, then a <em>putback position</em> is available. In this case, <em>xnext</em>[-1] shall have a defined value and is the next (preceding) element to store a character that is put back into the input sequence.</li> <li>If <em>xnext</em> is not a null pointer and <em>xnext<</em> <em>xend</em> for an input sequence, then a <em>read position</em> is available. In this case, <em>*xnext</em> shall have a defined value and is the next element to read (to get, or to obtain a character value, from the sequence). </li> </ul> </li> </ol> <p>Definition at line <a class="el" href="a01516_source.html#l00117">117</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div><h2 class="groupheader">Member Typedef Documentation</h2> <a class="anchor" id="a20adcc1bccab9fa3678b34e078e59e8c"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="a00433.html">basic_streambuf</a><<a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>, <a class="el" href="a00433.html#ab3220592ca0efc72cf87e58cdc696bd6">traits_type</a>> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::<a class="el" href="a00433.html#a20adcc1bccab9fa3678b34e078e59e8c">__streambuf_type</a></td> </tr> </table> </div><div class="memdoc"> <p>This is a non-standard type. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00135">135</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <a class="anchor" id="a38ad1721a50a96c7d37d51a3f858a0cf"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="memname"> <tr> <td class="memname">typedef _CharT <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::<a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a></td> </tr> </table> </div><div class="memdoc"> <p>These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00126">126</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <a class="anchor" id="a1c1565d5b66e703de4d9a8aef4957a8b"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="memname"> <tr> <td class="memname">typedef traits_type::int_type <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::<a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a></td> </tr> </table> </div><div class="memdoc"> <p>These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00128">128</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <a class="anchor" id="ae0d813da6c3d39659299a6e7831ae265"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="memname"> <tr> <td class="memname">typedef traits_type::off_type <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::<a class="el" href="a00433.html#ae0d813da6c3d39659299a6e7831ae265">off_type</a></td> </tr> </table> </div><div class="memdoc"> <p>These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00130">130</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <a class="anchor" id="a5bc758d8b84fa134386d3ab683b880aa"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="memname"> <tr> <td class="memname">typedef traits_type::pos_type <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::<a class="el" href="a00433.html#a5bc758d8b84fa134386d3ab683b880aa">pos_type</a></td> </tr> </table> </div><div class="memdoc"> <p>These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00129">129</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <a class="anchor" id="ab3220592ca0efc72cf87e58cdc696bd6"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="memname"> <tr> <td class="memname">typedef _Traits <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::<a class="el" href="a00433.html#ab3220592ca0efc72cf87e58cdc696bd6">traits_type</a></td> </tr> </table> </div><div class="memdoc"> <p>These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00127">127</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="ae09ce37bf4266e600cdc23c7648b7808"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::~<a class="el" href="a00433.html">basic_streambuf</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 class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Destructor deallocates no buffer space. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00195">195</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <a class="anchor" id="af9ead45743a5b28a57d385ac881493e1"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::<a class="el" href="a00433.html">basic_streambuf</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 class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Base constructor. </p> <p>Only called from derived constructors, and sets up all the buffer data to zero, including the pointers described in the <a class="el" href="a00433.html" title="The actual work of input and output (interface).This is a base class. Derived stream buffers each con...">basic_streambuf</a> class description. Note that, as a result,</p> <ul> <li>the class starts with no read nor write positions available,</li> <li>this is not an error </li> </ul> <p>Definition at line <a class="el" href="a01516_source.html#l00461">461</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a8a98bb10a958b9f1ad62e5444ff614ba"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>* <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::eback </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">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Access to the get area. </p> <p>These functions are only available to other protected functions, including derived classes.</p> <ul> <li><a class="el" href="a00433.html#a8a98bb10a958b9f1ad62e5444ff614ba" title="Access to the get area.">eback()</a> returns the beginning pointer for the input sequence</li> <li><a class="el" href="a00433.html#ad631f06db33ec1d3888302ec244a6ae9" title="Access to the get area.">gptr()</a> returns the next pointer for the input sequence</li> <li><a class="el" href="a00433.html#a271d085f48ab53194825e04e7caab94c" title="Access to the get area.">egptr()</a> returns the end pointer for the input sequence </li> </ul> <p>Definition at line <a class="el" href="a01516_source.html#l00480">480</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01198_source.html#l00191">std::basic_filebuf< char_type, traits_type >::_M_destroy_pback()</a>, <a class="el" href="a01516_source.html#l00370">std::basic_streambuf< char_type, traits_type >::sputbackc()</a>, and <a class="el" href="a01516_source.html#l00395">std::basic_streambuf< char_type, traits_type >::sungetc()</a>.</p> </div> </div> <a class="anchor" id="a271d085f48ab53194825e04e7caab94c"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>* <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::egptr </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">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Access to the get area. </p> <p>These functions are only available to other protected functions, including derived classes.</p> <ul> <li><a class="el" href="a00433.html#a8a98bb10a958b9f1ad62e5444ff614ba" title="Access to the get area.">eback()</a> returns the beginning pointer for the input sequence</li> <li><a class="el" href="a00433.html#ad631f06db33ec1d3888302ec244a6ae9" title="Access to the get area.">gptr()</a> returns the next pointer for the input sequence</li> <li><a class="el" href="a00433.html#a271d085f48ab53194825e04e7caab94c" title="Access to the get area.">egptr()</a> returns the end pointer for the input sequence </li> </ul> <p>Definition at line <a class="el" href="a01516_source.html#l00486">486</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01198_source.html#l00174">std::basic_filebuf< char_type, traits_type >::_M_create_pback()</a>, <a class="el" href="a01516_source.html#l00282">std::basic_streambuf< char_type, traits_type >::in_avail()</a>, <a class="el" href="a01516_source.html#l00314">std::basic_streambuf< char_type, traits_type >::sbumpc()</a>, <a class="el" href="a01516_source.html#l00336">std::basic_streambuf< char_type, traits_type >::sgetc()</a>, <a class="el" href="a01479_source.html#l00166">std::basic_stringbuf< _CharT, _Traits, _Alloc >::showmanyc()</a>, and <a class="el" href="a01479_source.html#l00122">std::basic_stringbuf< _CharT, _Traits, _Alloc >::str()</a>.</p> </div> </div> <a class="anchor" id="a74a6d83368391e53d884e714c65e43e5"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>* <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::epptr </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">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Access to the put area. </p> <p>These functions are only available to other protected functions, including derived classes.</p> <ul> <li><a class="el" href="a00433.html#a3ea4ba600f85337465d093a30519ad91" title="Access to the put area.">pbase()</a> returns the beginning pointer for the output sequence</li> <li><a class="el" href="a00433.html#a40fb7ed23cd6414206fc5616ab651275" title="Access to the put area.">pptr()</a> returns the next pointer for the output sequence</li> <li><a class="el" href="a00433.html#a74a6d83368391e53d884e714c65e43e5" title="Access to the put area.">epptr()</a> returns the end pointer for the output sequence </li> </ul> <p>Definition at line <a class="el" href="a01516_source.html#l00533">533</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00422">std::basic_streambuf< char_type, traits_type >::sputc()</a>.</p> </div> </div> <a class="anchor" id="a9d130ff289d2617954156378a79dbdc0"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::gbump </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>__n</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Moving the read position. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__n</td><td>The delta by which to move.</td></tr> </table> </dd> </dl> <p>This just advances the read position without returning any data. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00496">496</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00314">std::basic_streambuf< char_type, traits_type >::sbumpc()</a>, <a class="el" href="a01516_source.html#l00370">std::basic_streambuf< char_type, traits_type >::sputbackc()</a>, <a class="el" href="a01516_source.html#l00395">std::basic_streambuf< char_type, traits_type >::sungetc()</a>, and <a class="el" href="a01516_source.html#l00698">std::basic_streambuf< char_type, traits_type >::uflow()</a>.</p> </div> </div> <a class="anchor" id="a1ff453933888b07683a6cc3766684465"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00800.html">locale</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::getloc </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> </td> </tr> </table> </div><div class="memdoc"> <p>Locale access. </p> <dl class="section return"><dt>Returns</dt><dd>The current locale in effect.</dd></dl> <p>If pubimbue(loc) has been called, then the most recent <code>loc</code> is returned. Otherwise the global locale in effect at the time of construction is returned. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00224">224</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00207">std::basic_streambuf< char_type, traits_type >::pubimbue()</a>.</p> </div> </div> <a class="anchor" id="ad631f06db33ec1d3888302ec244a6ae9"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>* <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::gptr </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">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Access to the get area. </p> <p>These functions are only available to other protected functions, including derived classes.</p> <ul> <li><a class="el" href="a00433.html#a8a98bb10a958b9f1ad62e5444ff614ba" title="Access to the get area.">eback()</a> returns the beginning pointer for the input sequence</li> <li><a class="el" href="a00433.html#ad631f06db33ec1d3888302ec244a6ae9" title="Access to the get area.">gptr()</a> returns the next pointer for the input sequence</li> <li><a class="el" href="a00433.html#a271d085f48ab53194825e04e7caab94c" title="Access to the get area.">egptr()</a> returns the end pointer for the input sequence </li> </ul> <p>Definition at line <a class="el" href="a01516_source.html#l00483">483</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01198_source.html#l00174">std::basic_filebuf< char_type, traits_type >::_M_create_pback()</a>, <a class="el" href="a01198_source.html#l00191">std::basic_filebuf< char_type, traits_type >::_M_destroy_pback()</a>, <a class="el" href="a01516_source.html#l00282">std::basic_streambuf< char_type, traits_type >::in_avail()</a>, <a class="el" href="a01516_source.html#l00314">std::basic_streambuf< char_type, traits_type >::sbumpc()</a>, <a class="el" href="a01516_source.html#l00336">std::basic_streambuf< char_type, traits_type >::sgetc()</a>, <a class="el" href="a01479_source.html#l00166">std::basic_stringbuf< _CharT, _Traits, _Alloc >::showmanyc()</a>, <a class="el" href="a01516_source.html#l00370">std::basic_streambuf< char_type, traits_type >::sputbackc()</a>, <a class="el" href="a01516_source.html#l00395">std::basic_streambuf< char_type, traits_type >::sungetc()</a>, and <a class="el" href="a01516_source.html#l00698">std::basic_streambuf< char_type, traits_type >::uflow()</a>.</p> </div> </div> <a class="anchor" id="a70048277614282b8631e5fbf3106093e"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::imbue </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00800.html">locale</a> & </td> <td class="paramname"><em>__loc</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Changes translations. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__loc</td><td>A new locale.</td></tr> </table> </dd> </dl> <p>Translations done during I/O which depend on the current locale are changed by this call. The standard adds, <em>Between invocations of this function a class derived from streambuf can safely cache results of calls to locale functions and to members of facets so obtained.</em></p> <dl class="section note"><dt>Note</dt><dd>Base class version does nothing. </dd></dl> <p>Reimplemented in <a class="el" href="a00428.html#a4e8214d23c9895a180231de6cf463449">std::basic_filebuf< _CharT, _Traits ></a>, <a class="el" href="a00428.html#a4e8214d23c9895a180231de6cf463449">std::basic_filebuf< _CharT, encoding_char_traits< _CharT > ></a>, and <a class="el" href="a00428.html#a4e8214d23c9895a180231de6cf463449">std::basic_filebuf< char_type, traits_type ></a>.</p> <p>Definition at line <a class="el" href="a01516_source.html#l00574">574</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00207">std::basic_streambuf< char_type, traits_type >::pubimbue()</a>.</p> </div> </div> <a class="anchor" id="a924a684fe2a6844d766e25f4051b705c"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::in_avail </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>Looking ahead into the stream. </p> <dl class="section return"><dt>Returns</dt><dd>The number of characters available.</dd></dl> <p>If a read position is available, returns the number of characters available for reading before the buffer must be refilled. Otherwise returns the derived <code><a class="el" href="a00433.html#a85e9299b4d91188c1c0070111604ece8" title="Investigating the data available.">showmanyc()</a></code>. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00282">282</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <a class="anchor" id="a225634e53ed30e3733299a1b6de0b677"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::overflow </td> <td>(</td> <td class="paramtype"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> </td> <td class="paramname"><em>__c</em> = <code>traits_type::eof()</code></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Consumes data from the buffer; writes to the controlled sequence. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__c</td><td>An additional character to consume. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>eof() to indicate failure, something else (usually <em>__c</em>, or not_eof())</dd></dl> <p>Informally, this function is called when the output buffer is full (or does not exist, as buffering need not actually be done). If a buffer exists, it is <em>consumed</em>, with <em>some effect</em> on the controlled sequence. (Typically, the buffer is written out to the sequence verbatim.) In either case, the character <em>c</em> is also written out, if <em>__c</em> is not <code>eof()</code>.</p> <p>For a formal definition of this function, see a good text such as Langer & Kreft, or [27.5.2.4.5]/3-7.</p> <p>A functioning output streambuf can be created by overriding only this function (no buffer area will be used).</p> <dl class="section note"><dt>Note</dt><dd>Base class version does nothing, returns eof(). </dd></dl> <p>Reimplemented in <a class="el" href="a00428.html#ac1941000c0d1480052cc8ee84fd8a665">std::basic_filebuf< _CharT, _Traits ></a>, <a class="el" href="a00428.html#ac1941000c0d1480052cc8ee84fd8a665">std::basic_filebuf< _CharT, encoding_char_traits< _CharT > ></a>, <a class="el" href="a00428.html#ac1941000c0d1480052cc8ee84fd8a665">std::basic_filebuf< char_type, traits_type ></a>, <a class="el" href="a00591.html#aa183e7ce7fd5dde7bd4f02a93ae41fc1">std::basic_stringbuf< _CharT, _Traits, _Alloc ></a>, and <a class="el" href="a00070.html#a8670cb3d15c3775bef8f03d92758bf71">__gnu_cxx::stdio_sync_filebuf< _CharT, _Traits ></a>.</p> <p>Definition at line <a class="el" href="a01516_source.html#l00766">766</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00422">std::basic_streambuf< char_type, traits_type >::sputc()</a>.</p> </div> </div> <a class="anchor" id="a8d57a822d984ebf68160724aa9330282"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::pbackfail </td> <td>(</td> <td class="paramtype"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> </td> <td class="paramname"><em>__c</em> = <code>traits_type::eof()</code></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Tries to back up the input sequence. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__c</td><td>The character to be inserted back into the sequence. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>eof() on failure, <em>some other value</em> on success </dd></dl> <dl class="section post"><dt>Postcondition</dt><dd>The constraints of <code><a class="el" href="a00433.html#ad631f06db33ec1d3888302ec244a6ae9" title="Access to the get area.">gptr()</a></code>, <code><a class="el" href="a00433.html#a8a98bb10a958b9f1ad62e5444ff614ba" title="Access to the get area.">eback()</a></code>, and <code><a class="el" href="a00433.html#a40fb7ed23cd6414206fc5616ab651275" title="Access to the put area.">pptr()</a></code> are the same as for <code><a class="el" href="a00433.html#aab4011ac7751c858f121b887f124529d" title="Fetches more data from the controlled sequence.">underflow()</a></code>.</dd></dl> <dl class="section note"><dt>Note</dt><dd>Base class version does nothing, returns eof(). </dd></dl> <p>Reimplemented in <a class="el" href="a00428.html#a98e6cafd6256f907c4fff74afa49be3e">std::basic_filebuf< _CharT, _Traits ></a>, <a class="el" href="a00428.html#a98e6cafd6256f907c4fff74afa49be3e">std::basic_filebuf< _CharT, encoding_char_traits< _CharT > ></a>, <a class="el" href="a00428.html#a98e6cafd6256f907c4fff74afa49be3e">std::basic_filebuf< char_type, traits_type ></a>, <a class="el" href="a00591.html#aab3ceb0a125e620d1e1e7646abc9b350">std::basic_stringbuf< _CharT, _Traits, _Alloc ></a>, and <a class="el" href="a00070.html#a2c6b12a6af22e590e5daa1f7ce6e07e2">__gnu_cxx::stdio_sync_filebuf< _CharT, _Traits ></a>.</p> <p>Definition at line <a class="el" href="a01516_source.html#l00722">722</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00370">std::basic_streambuf< char_type, traits_type >::sputbackc()</a>, and <a class="el" href="a01516_source.html#l00395">std::basic_streambuf< char_type, traits_type >::sungetc()</a>.</p> </div> </div> <a class="anchor" id="a3ea4ba600f85337465d093a30519ad91"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>* <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::pbase </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">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Access to the put area. </p> <p>These functions are only available to other protected functions, including derived classes.</p> <ul> <li><a class="el" href="a00433.html#a3ea4ba600f85337465d093a30519ad91" title="Access to the put area.">pbase()</a> returns the beginning pointer for the output sequence</li> <li><a class="el" href="a00433.html#a40fb7ed23cd6414206fc5616ab651275" title="Access to the put area.">pptr()</a> returns the next pointer for the output sequence</li> <li><a class="el" href="a00433.html#a74a6d83368391e53d884e714c65e43e5" title="Access to the put area.">epptr()</a> returns the end pointer for the output sequence </li> </ul> <p>Definition at line <a class="el" href="a01516_source.html#l00527">527</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01479_source.html#l00122">std::basic_stringbuf< _CharT, _Traits, _Alloc >::str()</a>.</p> </div> </div> <a class="anchor" id="abd017296cfc054910ca7de102e6a6998"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::pbump </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>__n</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Moving the write position. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__n</td><td>The delta by which to move.</td></tr> </table> </dd> </dl> <p>This just advances the write position without returning any data. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00543">543</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00422">std::basic_streambuf< char_type, traits_type >::sputc()</a>.</p> </div> </div> <a class="anchor" id="a40fb7ed23cd6414206fc5616ab651275"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>* <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::pptr </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">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Access to the put area. </p> <p>These functions are only available to other protected functions, including derived classes.</p> <ul> <li><a class="el" href="a00433.html#a3ea4ba600f85337465d093a30519ad91" title="Access to the put area.">pbase()</a> returns the beginning pointer for the output sequence</li> <li><a class="el" href="a00433.html#a40fb7ed23cd6414206fc5616ab651275" title="Access to the put area.">pptr()</a> returns the next pointer for the output sequence</li> <li><a class="el" href="a00433.html#a74a6d83368391e53d884e714c65e43e5" title="Access to the put area.">epptr()</a> returns the end pointer for the output sequence </li> </ul> <p>Definition at line <a class="el" href="a01516_source.html#l00530">530</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00422">std::basic_streambuf< char_type, traits_type >::sputc()</a>, and <a class="el" href="a01479_source.html#l00122">std::basic_stringbuf< _CharT, _Traits, _Alloc >::str()</a>.</p> </div> </div> <a class="anchor" id="a8e7a46a08c85184d8b6ea1e5d87b7736"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00800.html">locale</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::pubimbue </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00800.html">locale</a> & </td> <td class="paramname"><em>__loc</em></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>Entry point for <a class="el" href="a00433.html#a70048277614282b8631e5fbf3106093e" title="Changes translations.">imbue()</a>. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__loc</td><td>The new locale. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The previous locale.</dd></dl> <p>Calls the derived imbue(__loc). </p> <p>Definition at line <a class="el" href="a01516_source.html#l00207">207</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <a class="anchor" id="abaa4b2714067328ce4b91a503b17fa73"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a5bc758d8b84fa134386d3ab683b880aa">pos_type</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::pubseekoff </td> <td>(</td> <td class="paramtype"><a class="el" href="a00433.html#ae0d813da6c3d39659299a6e7831ae265">off_type</a> </td> <td class="paramname"><em>__off</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00731.html#ac19bbe98949795f6038952b6c7759a0a">ios_base::seekdir</a> </td> <td class="paramname"><em>__way</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00731.html#aa7e2408680d83e0bac8979774aeecdad">ios_base::openmode</a> </td> <td class="paramname"><em>__mode</em> = <code><a class="el" href="a00731.html#a652e2323949eea3d906e1c81bd8ce8f7">ios_base::in</a> | <a class="el" href="a00731.html#a7187e216e5d16ec820ea1791002f85e0">ios_base::out</a></code> </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>Alters the stream position. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__off</td><td>Offset. </td></tr> <tr><td class="paramname">__way</td><td>Value for <a class="el" href="a00731.html#ac19bbe98949795f6038952b6c7759a0a" title="This is an enumerated type.">ios_base::seekdir</a>. </td></tr> <tr><td class="paramname">__mode</td><td>Value for <a class="el" href="a00731.html#aa7e2408680d83e0bac8979774aeecdad" title="This is a bitmask type.">ios_base::openmode</a>.</td></tr> </table> </dd> </dl> <p>Calls virtual seekoff function. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00249">249</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <a class="anchor" id="a3138ab00e52afd7a538cdffa25e21937"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a5bc758d8b84fa134386d3ab683b880aa">pos_type</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::pubseekpos </td> <td>(</td> <td class="paramtype"><a class="el" href="a00433.html#a5bc758d8b84fa134386d3ab683b880aa">pos_type</a> </td> <td class="paramname"><em>__sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00731.html#aa7e2408680d83e0bac8979774aeecdad">ios_base::openmode</a> </td> <td class="paramname"><em>__mode</em> = <code><a class="el" href="a00731.html#a652e2323949eea3d906e1c81bd8ce8f7">ios_base::in</a> | <a class="el" href="a00731.html#a7187e216e5d16ec820ea1791002f85e0">ios_base::out</a></code> </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>Alters the stream position. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__sp</td><td>Position </td></tr> <tr><td class="paramname">__mode</td><td>Value for <a class="el" href="a00731.html#aa7e2408680d83e0bac8979774aeecdad" title="This is a bitmask type.">ios_base::openmode</a>.</td></tr> </table> </dd> </dl> <p>Calls virtual seekpos function. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00261">261</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <a class="anchor" id="a0e3c7c3e736a215b1e05b68fa1b5aec7"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a20adcc1bccab9fa3678b34e078e59e8c">__streambuf_type</a>* <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::pubsetbuf </td> <td>(</td> <td class="paramtype"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td> <td class="paramname"><em>__s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> </td> <td class="paramname"><em>__n</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>Entry points for derived buffer functions. </p> <p>The public versions of <code>pubfoo</code> dispatch to the protected derived <code>foo</code> member functions, passing the arguments (if any) and returning the result unchanged. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00237">237</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <a class="anchor" id="ac81d2dad6dac4c185c31937ee10077ce"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::pubsync </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>Calls virtual sync function. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00269">269</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01264_source.html#l00783">std::basic_istream< _CharT, _Traits >::sync()</a>.</p> </div> </div> <a class="anchor" id="a72d8037e21ad370e3643ff3c865f91f9"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::sbumpc </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>Getting the next character. </p> <dl class="section return"><dt>Returns</dt><dd>The next character, or eof.</dd></dl> <p>If the input read position is available, returns that character and increments the read pointer, otherwise calls and returns <code><a class="el" href="a00433.html#a4e0c932f41122eaec83e7008ece5e207" title="Fetches more data from the controlled sequence.">uflow()</a></code>. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00314">314</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01264_source.html#l00402">std::basic_istream< _CharT, _Traits >::getline()</a>, <a class="el" href="a01264_source.html#l00462">std::basic_istream< _CharT, _Traits >::ignore()</a>, <a class="el" href="a01518_source.html#l00139">std::istreambuf_iterator< _CharT, _Traits >::operator++()</a>, and <a class="el" href="a01516_source.html#l00296">std::basic_streambuf< char_type, traits_type >::snextc()</a>.</p> </div> </div> <a class="anchor" id="ad6d5177e376efdb0dccf62890eebc9b0"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00433.html#a5bc758d8b84fa134386d3ab683b880aa">pos_type</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::seekoff </td> <td>(</td> <td class="paramtype"><a class="el" href="a00433.html#ae0d813da6c3d39659299a6e7831ae265">off_type</a> </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00731.html#ac19bbe98949795f6038952b6c7759a0a">ios_base::seekdir</a> </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00731.html#aa7e2408680d83e0bac8979774aeecdad">ios_base::openmode</a> </td> <td class="paramname"> = <code><a class="el" href="a00731.html#a652e2323949eea3d906e1c81bd8ce8f7">ios_base::in</a> | <a class="el" href="a00731.html#a7187e216e5d16ec820ea1791002f85e0">ios_base::out</a></code> </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 class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Alters the stream positions. </p> <p>Each derived class provides its own appropriate behavior. </p> <dl class="section note"><dt>Note</dt><dd>Base class version does nothing, returns a <code>pos_type</code> that represents an invalid stream position. </dd></dl> <p>Reimplemented in <a class="el" href="a00428.html#a0152beebcac8c9542b6b0efe3de5bbfb">std::basic_filebuf< _CharT, _Traits ></a>, <a class="el" href="a00428.html#a0152beebcac8c9542b6b0efe3de5bbfb">std::basic_filebuf< _CharT, encoding_char_traits< _CharT > ></a>, <a class="el" href="a00428.html#a0152beebcac8c9542b6b0efe3de5bbfb">std::basic_filebuf< char_type, traits_type ></a>, and <a class="el" href="a00591.html#a8e8718876104df82514c3c20d8da1a22">std::basic_stringbuf< _CharT, _Traits, _Alloc ></a>.</p> <p>Definition at line <a class="el" href="a01516_source.html#l00600">600</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00249">std::basic_streambuf< char_type, traits_type >::pubseekoff()</a>.</p> </div> </div> <a class="anchor" id="a008405d586f640e109c7ab7bf424aa39"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00433.html#a5bc758d8b84fa134386d3ab683b880aa">pos_type</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::seekpos </td> <td>(</td> <td class="paramtype"><a class="el" href="a00433.html#a5bc758d8b84fa134386d3ab683b880aa">pos_type</a> </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00731.html#aa7e2408680d83e0bac8979774aeecdad">ios_base::openmode</a> </td> <td class="paramname"> = <code><a class="el" href="a00731.html#a652e2323949eea3d906e1c81bd8ce8f7">ios_base::in</a> | <a class="el" href="a00731.html#a7187e216e5d16ec820ea1791002f85e0">ios_base::out</a></code> </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 class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Alters the stream positions. </p> <p>Each derived class provides its own appropriate behavior. </p> <dl class="section note"><dt>Note</dt><dd>Base class version does nothing, returns a <code>pos_type</code> that represents an invalid stream position. </dd></dl> <p>Reimplemented in <a class="el" href="a00428.html#a91365d684bb298cb7ad42e3c73cd0252">std::basic_filebuf< _CharT, _Traits ></a>, <a class="el" href="a00428.html#a91365d684bb298cb7ad42e3c73cd0252">std::basic_filebuf< _CharT, encoding_char_traits< _CharT > ></a>, <a class="el" href="a00428.html#a91365d684bb298cb7ad42e3c73cd0252">std::basic_filebuf< char_type, traits_type ></a>, and <a class="el" href="a00591.html#afd575297ab58c3e96a7ab538b9ad47fc">std::basic_stringbuf< _CharT, _Traits, _Alloc ></a>.</p> <p>Definition at line <a class="el" href="a01516_source.html#l00612">612</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00261">std::basic_streambuf< char_type, traits_type >::pubseekpos()</a>.</p> </div> </div> <a class="anchor" id="aad2e731291673229100bde1f24ce828f"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00433.html">basic_streambuf</a><<a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>,_Traits>* <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::setbuf </td> <td>(</td> <td class="paramtype"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> </td> <td class="paramname"> </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 class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Manipulates the buffer. </p> <p>Each derived class provides its own appropriate behavior. See the next-to-last paragraph of <a href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt11ch25s02.html">http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt11ch25s02.html</a> for more on this function.</p> <dl class="section note"><dt>Note</dt><dd>Base class version does nothing, returns <code>this</code>. </dd></dl> <p>Reimplemented in <a class="el" href="a00428.html#afdc468aedafb80e43f14569d09485e6b">std::basic_filebuf< _CharT, _Traits ></a>, <a class="el" href="a00428.html#afdc468aedafb80e43f14569d09485e6b">std::basic_filebuf< _CharT, encoding_char_traits< _CharT > ></a>, <a class="el" href="a00428.html#afdc468aedafb80e43f14569d09485e6b">std::basic_filebuf< char_type, traits_type ></a>, and <a class="el" href="a00591.html#a3ecbb2133b5c6b598b0344b7cbbe1757">std::basic_stringbuf< _CharT, _Traits, _Alloc ></a>.</p> <p>Definition at line <a class="el" href="a01516_source.html#l00589">589</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00237">std::basic_streambuf< char_type, traits_type >::pubsetbuf()</a>.</p> </div> </div> <a class="anchor" id="a38c9b562c20b30bf9d21cf0e4dc90356"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::setg </td> <td>(</td> <td class="paramtype"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td> <td class="paramname"><em>__gbeg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td> <td class="paramname"><em>__gnext</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td> <td class="paramname"><em>__gend</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 class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Setting the three read area pointers. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__gbeg</td><td>A pointer. </td></tr> <tr><td class="paramname">__gnext</td><td>A pointer. </td></tr> <tr><td class="paramname">__gend</td><td>A pointer. </td></tr> </table> </dd> </dl> <dl class="section post"><dt>Postcondition</dt><dd><em>__gbeg</em> == <code><a class="el" href="a00433.html#a8a98bb10a958b9f1ad62e5444ff614ba" title="Access to the get area.">eback()</a></code>, <em>__gnext</em> == <code><a class="el" href="a00433.html#ad631f06db33ec1d3888302ec244a6ae9" title="Access to the get area.">gptr()</a></code>, and <em>__gend</em> == <code><a class="el" href="a00433.html#a271d085f48ab53194825e04e7caab94c" title="Access to the get area.">egptr()</a></code> </dd></dl> <p>Definition at line <a class="el" href="a01516_source.html#l00507">507</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01198_source.html#l00174">std::basic_filebuf< char_type, traits_type >::_M_create_pback()</a>, <a class="el" href="a01198_source.html#l00191">std::basic_filebuf< char_type, traits_type >::_M_destroy_pback()</a>, and <a class="el" href="a01198_source.html#l00392">std::basic_filebuf< char_type, traits_type >::_M_set_buffer()</a>.</p> </div> </div> <a class="anchor" id="ab0f1b49870f87d288a737cd9f8f9ec00"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::setp </td> <td>(</td> <td class="paramtype"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td> <td class="paramname"><em>__pbeg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td> <td class="paramname"><em>__pend</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 class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Setting the three write area pointers. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__pbeg</td><td>A pointer. </td></tr> <tr><td class="paramname">__pend</td><td>A pointer. </td></tr> </table> </dd> </dl> <dl class="section post"><dt>Postcondition</dt><dd><em>__pbeg</em> == <code><a class="el" href="a00433.html#a3ea4ba600f85337465d093a30519ad91" title="Access to the put area.">pbase()</a></code>, <em>__pbeg</em> == <code><a class="el" href="a00433.html#a40fb7ed23cd6414206fc5616ab651275" title="Access to the put area.">pptr()</a></code>, and <em>__pend</em> == <code><a class="el" href="a00433.html#a74a6d83368391e53d884e714c65e43e5" title="Access to the put area.">epptr()</a></code> </dd></dl> <p>Definition at line <a class="el" href="a01516_source.html#l00553">553</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01198_source.html#l00392">std::basic_filebuf< char_type, traits_type >::_M_set_buffer()</a>.</p> </div> </div> <a class="anchor" id="ac773fb2c87cf938fb6eb89c987f8e04e"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::sgetc </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>Getting the next character. </p> <dl class="section return"><dt>Returns</dt><dd>The next character, or eof.</dd></dl> <p>If the input read position is available, returns that character, otherwise calls and returns <code><a class="el" href="a00433.html#aab4011ac7751c858f121b887f124529d" title="Fetches more data from the controlled sequence.">underflow()</a></code>. Does not move the read position after fetching the character. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00336">336</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01264_source.html#l00311">std::basic_istream< _CharT, _Traits >::get()</a>, <a class="el" href="a01264_source.html#l00402">std::basic_istream< _CharT, _Traits >::getline()</a>, <a class="el" href="a01264_source.html#l00495">std::basic_istream< _CharT, _Traits >::ignore()</a>, <a class="el" href="a01264_source.html#l00049">std::basic_istream< _CharT, _Traits >::sentry::sentry()</a>, and <a class="el" href="a01516_source.html#l00296">std::basic_streambuf< char_type, traits_type >::snextc()</a>.</p> </div> </div> <a class="anchor" id="a7cfb11ce1eb1a31cf82d7a876c35351b"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::sgetn </td> <td>(</td> <td class="paramtype"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td> <td class="paramname"><em>__s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> </td> <td class="paramname"><em>__n</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>Entry point for xsgetn. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__s</td><td>A buffer area. </td></tr> <tr><td class="paramname">__n</td><td>A count.</td></tr> </table> </dd> </dl> <p>Returns xsgetn(__s,__n). The effect is to fill <em>__s</em>[0] through <em>__s</em>[__n-1] with characters from the input sequence, if possible. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00355">355</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <a class="anchor" id="a85e9299b4d91188c1c0070111604ece8"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::showmanyc </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">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Investigating the data available. </p> <dl class="section return"><dt>Returns</dt><dd>An estimate of the number of characters available in the input sequence, or -1.</dd></dl> <p><em>If it returns a positive value, then successive calls to <code><a class="el" href="a00433.html#aab4011ac7751c858f121b887f124529d" title="Fetches more data from the controlled sequence.">underflow()</a></code> will not return <code>traits::eof()</code> until at least that number of characters have been supplied. If <code><a class="el" href="a00433.html#a85e9299b4d91188c1c0070111604ece8" title="Investigating the data available.">showmanyc()</a></code> returns -1, then calls to <code><a class="el" href="a00433.html#aab4011ac7751c858f121b887f124529d" title="Fetches more data from the controlled sequence.">underflow()</a></code> or <code><a class="el" href="a00433.html#a4e0c932f41122eaec83e7008ece5e207" title="Fetches more data from the controlled sequence.">uflow()</a></code> will fail.</em> [27.5.2.4.3]/1</p> <dl class="section note"><dt>Note</dt><dd>Base class version does nothing, returns zero. </dd> <dd> The standard adds that <em>the intention is not only that the calls [to underflow or uflow] will not return <code>eof()</code> but that they will return immediately.</em> </dd> <dd> The standard adds that <em>the morphemes of <code>showmanyc</code> are <b>es-how-many-see</b>, not <b>show-manic</b>.</em> </dd></dl> <p>Reimplemented in <a class="el" href="a00428.html#a0e8e4218ba9766e34b74e69b17fb28b3">std::basic_filebuf< _CharT, _Traits ></a>, <a class="el" href="a00428.html#a0e8e4218ba9766e34b74e69b17fb28b3">std::basic_filebuf< _CharT, encoding_char_traits< _CharT > ></a>, <a class="el" href="a00428.html#a0e8e4218ba9766e34b74e69b17fb28b3">std::basic_filebuf< char_type, traits_type ></a>, and <a class="el" href="a00591.html#a24490a3224662a3c57cbb8f591b2acbc">std::basic_stringbuf< _CharT, _Traits, _Alloc ></a>.</p> <p>Definition at line <a class="el" href="a01516_source.html#l00647">647</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00282">std::basic_streambuf< char_type, traits_type >::in_avail()</a>.</p> </div> </div> <a class="anchor" id="a6d281db46069df3043b566f10e5397b2"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::snextc </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>Getting the next character. </p> <dl class="section return"><dt>Returns</dt><dd>The next character, or eof.</dd></dl> <p>Calls <code><a class="el" href="a00433.html#a72d8037e21ad370e3643ff3c865f91f9" title="Getting the next character.">sbumpc()</a></code>, and if that function returns <code>traits::eof()</code>, so does this function. Otherwise, <code><a class="el" href="a00433.html#ac773fb2c87cf938fb6eb89c987f8e04e" title="Getting the next character.">sgetc()</a></code>. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00296">296</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01264_source.html#l00311">std::basic_istream< _CharT, _Traits >::get()</a>, <a class="el" href="a01264_source.html#l00402">std::basic_istream< _CharT, _Traits >::getline()</a>, <a class="el" href="a01264_source.html#l00495">std::basic_istream< _CharT, _Traits >::ignore()</a>, and <a class="el" href="a01264_source.html#l00049">std::basic_istream< _CharT, _Traits >::sentry::sentry()</a>.</p> </div> </div> <a class="anchor" id="ae77ef8a76529317abdc2e6a66336e3ec"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::sputbackc </td> <td>(</td> <td class="paramtype"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> </td> <td class="paramname"><em>__c</em></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>Pushing characters back into the input stream. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__c</td><td>The character to push back. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The previous character, if possible.</dd></dl> <p>Similar to <a class="el" href="a00433.html#a8d42bd5b22d246f15a8dd0a8614c0e3f" title="Moving backwards in the input stream.">sungetc()</a>, but <em>__c</em> is pushed onto the stream instead of <em>the previous character.</em> If successful, the next character fetched from the input stream will be <em>__c</em>. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00370">370</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01264_source.html#l00713">std::basic_istream< _CharT, _Traits >::putback()</a>.</p> </div> </div> <a class="anchor" id="af3504dac5b4cd940dbce97ddc5ed0c25"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::sputc </td> <td>(</td> <td class="paramtype"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> </td> <td class="paramname"><em>__c</em></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>Entry point for all single-character output functions. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__c</td><td>A character to output. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd><em>__c</em>, if possible.</dd></dl> <p>One of two public output functions.</p> <p>If a write position is available for the output sequence (i.e., the buffer is not full), stores <em>__c</em> in that position, increments the position, and returns <code>traits::to_int_type(__c)</code>. If a write position is not available, returns <code>overflow(__c)</code>. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00422">422</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01264_source.html#l00358">std::basic_istream< _CharT, _Traits >::get()</a>, and <a class="el" href="a01518_source.html#l00252">std::ostreambuf_iterator< _CharT, _Traits >::operator=()</a>.</p> </div> </div> <a class="anchor" id="a5d2917460a0283e7e2ff51940704ca95"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::sputn </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td> <td class="paramname"><em>__s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> </td> <td class="paramname"><em>__n</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>Entry point for all single-character output functions. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__s</td><td>A buffer read area. </td></tr> <tr><td class="paramname">__n</td><td>A count.</td></tr> </table> </dd> </dl> <p>One of two public output functions.</p> <p>Returns xsputn(__s,__n). The effect is to write <em>__s</em>[0] through <em>__s</em>[__n-1] to the output sequence, if possible. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00448">448</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> </div> </div> <a class="anchor" id="a8d42bd5b22d246f15a8dd0a8614c0e3f"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::sungetc </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>Moving backwards in the input stream. </p> <dl class="section return"><dt>Returns</dt><dd>The previous character, if possible.</dd></dl> <p>If a putback position is available, this function decrements the input pointer and returns that character. Otherwise, calls and returns <a class="el" href="a00433.html#a8d57a822d984ebf68160724aa9330282" title="Tries to back up the input sequence.">pbackfail()</a>. The effect is to <em>unget</em> the last character <em>gotten</em>. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00395">395</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01264_source.html#l00748">std::basic_istream< _CharT, _Traits >::unget()</a>.</p> </div> </div> <a class="anchor" id="a407510ac810a42b173f3bd553959bfb5"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual int <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::sync </td> <td>(</td> <td class="paramtype">void </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">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Synchronizes the buffer arrays with the controlled sequences. </p> <dl class="section return"><dt>Returns</dt><dd>-1 on failure.</dd></dl> <p>Each derived class provides its own appropriate behavior, including the definition of <em>failure</em>. </p> <dl class="section note"><dt>Note</dt><dd>Base class version does nothing, returns zero. </dd></dl> <p>Reimplemented in <a class="el" href="a00428.html#af42cd30ec66c6eb0df56026098b6e04f">std::basic_filebuf< _CharT, _Traits ></a>, <a class="el" href="a00428.html#af42cd30ec66c6eb0df56026098b6e04f">std::basic_filebuf< _CharT, encoding_char_traits< _CharT > ></a>, <a class="el" href="a00428.html#af42cd30ec66c6eb0df56026098b6e04f">std::basic_filebuf< char_type, traits_type ></a>, and <a class="el" href="a00070.html#aaf870a6b01d27af87ca27c16e601d1df">__gnu_cxx::stdio_sync_filebuf< _CharT, _Traits ></a>.</p> <p>Definition at line <a class="el" href="a01516_source.html#l00625">625</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00269">std::basic_streambuf< char_type, traits_type >::pubsync()</a>.</p> </div> </div> <a class="anchor" id="a4e0c932f41122eaec83e7008ece5e207"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::uflow </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">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Fetches more data from the controlled sequence. </p> <dl class="section return"><dt>Returns</dt><dd>The first character from the <em>pending sequence</em>.</dd></dl> <p>Informally, this function does the same thing as <code><a class="el" href="a00433.html#aab4011ac7751c858f121b887f124529d" title="Fetches more data from the controlled sequence.">underflow()</a></code>, and in fact is required to call that function. It also returns the new character, like <code><a class="el" href="a00433.html#aab4011ac7751c858f121b887f124529d" title="Fetches more data from the controlled sequence.">underflow()</a></code> does. However, this function also moves the read position forward by one. </p> <p>Reimplemented in <a class="el" href="a00070.html#ad8647cc09ffa804cfe6b903b8415c9aa">__gnu_cxx::stdio_sync_filebuf< _CharT, _Traits ></a>.</p> <p>Definition at line <a class="el" href="a01516_source.html#l00698">698</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00314">std::basic_streambuf< char_type, traits_type >::sbumpc()</a>.</p> </div> </div> <a class="anchor" id="aab4011ac7751c858f121b887f124529d"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00433.html#a1c1565d5b66e703de4d9a8aef4957a8b">int_type</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::underflow </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">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Fetches more data from the controlled sequence. </p> <dl class="section return"><dt>Returns</dt><dd>The first character from the <em>pending sequence</em>.</dd></dl> <p>Informally, this function is called when the input buffer is exhausted (or does not exist, as buffering need not actually be done). If a buffer exists, it is <em>refilled</em>. In either case, the next available character is returned, or <code>traits::eof()</code> to indicate a null pending sequence.</p> <p>For a formal definition of the pending sequence, see a good text such as Langer & Kreft, or [27.5.2.4.3]/7-14.</p> <p>A functioning input streambuf can be created by overriding only this function (no buffer area will be used). For an example, see <a href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt11ch25.html">http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt11ch25.html</a></p> <dl class="section note"><dt>Note</dt><dd>Base class version does nothing, returns eof(). </dd></dl> <p>Reimplemented in <a class="el" href="a00428.html#a051ec9d0aa68d3bbf3a2b8cb2e41c93b">std::basic_filebuf< _CharT, _Traits ></a>, <a class="el" href="a00428.html#a051ec9d0aa68d3bbf3a2b8cb2e41c93b">std::basic_filebuf< _CharT, encoding_char_traits< _CharT > ></a>, <a class="el" href="a00428.html#a051ec9d0aa68d3bbf3a2b8cb2e41c93b">std::basic_filebuf< char_type, traits_type ></a>, <a class="el" href="a00591.html#afe0e6448abec608002693e5be60137e2">std::basic_stringbuf< _CharT, _Traits, _Alloc ></a>, and <a class="el" href="a00070.html#a4789b9e8139b3884909949d7ce9b15cd">__gnu_cxx::stdio_sync_filebuf< _CharT, _Traits ></a>.</p> <p>Definition at line <a class="el" href="a01516_source.html#l00685">685</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00336">std::basic_streambuf< char_type, traits_type >::sgetc()</a>, and <a class="el" href="a01516_source.html#l00698">std::basic_streambuf< char_type, traits_type >::uflow()</a>.</p> </div> </div> <a class="anchor" id="a7403acdc30aa0678bf1f9d211b61f3df"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT , typename _Traits > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> <a class="el" href="a00433.html">basic_streambuf</a>< _CharT, _Traits >::xsgetn </td> <td>(</td> <td class="paramtype"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td> <td class="paramname"><em>__s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> </td> <td class="paramname"><em>__n</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">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Multiple character extraction. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__s</td><td>A buffer area. </td></tr> <tr><td class="paramname">__n</td><td>Maximum number of characters to assign. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The number of characters assigned.</dd></dl> <p>Fills <em>__s</em>[0] through <em>__s</em>[__n-1] with characters from the input sequence, as if by <code><a class="el" href="a00433.html#a72d8037e21ad370e3643ff3c865f91f9" title="Getting the next character.">sbumpc()</a></code>. Stops when either <em>__n</em> characters have been copied, or when <code>traits::eof()</code> would be copied.</p> <p>It is expected that derived classes provide a more efficient implementation by overriding this definition. </p> <p>Reimplemented in <a class="el" href="a00428.html#a4fb6d662a8351a9c790be9fbe78be8b4">std::basic_filebuf< _CharT, _Traits ></a>, <a class="el" href="a00428.html#a4fb6d662a8351a9c790be9fbe78be8b4">std::basic_filebuf< _CharT, encoding_char_traits< _CharT > ></a>, and <a class="el" href="a00428.html#a4fb6d662a8351a9c790be9fbe78be8b4">std::basic_filebuf< char_type, traits_type ></a>.</p> <p>Definition at line <a class="el" href="a01517_source.html#l00047">47</a> of file <a class="el" href="a01517_source.html">streambuf.tcc</a>.</p> <p>References <a class="el" href="a01491_source.html#l00187">std::min()</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00355">std::basic_streambuf< char_type, traits_type >::sgetn()</a>.</p> </div> </div> <a class="anchor" id="a2e291c3500330e91d2804732aa7e6378"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT , typename _Traits > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> <a class="el" href="a00433.html">basic_streambuf</a>< _CharT, _Traits >::xsputn </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a> * </td> <td class="paramname"><em>__s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01604.html#a05eef5582eb5de62b76db4916f7adb84">streamsize</a> </td> <td class="paramname"><em>__n</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">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Multiple character insertion. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__s</td><td>A buffer area. </td></tr> <tr><td class="paramname">__n</td><td>Maximum number of characters to write. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The number of characters written.</dd></dl> <p>Writes <em>__s</em>[0] through <em>__s</em>[__n-1] to the output sequence, as if by <code><a class="el" href="a00433.html#af3504dac5b4cd940dbce97ddc5ed0c25" title="Entry point for all single-character output functions.">sputc()</a></code>. Stops when either <em>n</em> characters have been copied, or when <code><a class="el" href="a00433.html#af3504dac5b4cd940dbce97ddc5ed0c25" title="Entry point for all single-character output functions.">sputc()</a></code> would return <code>traits::eof()</code>.</p> <p>It is expected that derived classes provide a more efficient implementation by overriding this definition. </p> <p>Reimplemented in <a class="el" href="a00428.html#a9e78a1d5dec2c7eea816ada4e43d7576">std::basic_filebuf< _CharT, _Traits ></a>, <a class="el" href="a00428.html#a9e78a1d5dec2c7eea816ada4e43d7576">std::basic_filebuf< _CharT, encoding_char_traits< _CharT > ></a>, and <a class="el" href="a00428.html#a9e78a1d5dec2c7eea816ada4e43d7576">std::basic_filebuf< char_type, traits_type ></a>.</p> <p>Definition at line <a class="el" href="a01517_source.html#l00081">81</a> of file <a class="el" href="a01517_source.html">streambuf.tcc</a>.</p> <p>References <a class="el" href="a01491_source.html#l00187">std::min()</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00448">std::basic_streambuf< char_type, traits_type >::sputn()</a>.</p> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a class="anchor" id="aef4d5a82b6a51fa750fa43d80b4a8564"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00800.html">locale</a> <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::_M_buf_locale</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Current locale setting. </p> <p>Definition at line <a class="el" href="a01516_source.html#l00190">190</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01199_source.html#l00081">std::basic_filebuf< _CharT, _Traits >::basic_filebuf()</a>, <a class="el" href="a01516_source.html#l00224">std::basic_streambuf< char_type, traits_type >::getloc()</a>, and <a class="el" href="a01516_source.html#l00207">std::basic_streambuf< char_type, traits_type >::pubimbue()</a>.</p> </div> </div> <a class="anchor" id="a08c7afbf0ec4df6f6d8e29a46484197d"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>* <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::_M_in_beg</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>This is based on _IO_FILE, just reordered to be more consistent, and is intended to be the most minimal abstraction for an internal buffer.</p> <ul> <li>get == input == read</li> <li>put == output == write </li> </ul> <p>Definition at line <a class="el" href="a01516_source.html#l00182">182</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00480">std::basic_streambuf< char_type, traits_type >::eback()</a>, and <a class="el" href="a01516_source.html#l00507">std::basic_streambuf< char_type, traits_type >::setg()</a>.</p> </div> </div> <a class="anchor" id="a7b4e50d872ecb80867eaab9e7897b625"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>* <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::_M_in_cur</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Entry point for <a class="el" href="a00433.html#a70048277614282b8631e5fbf3106093e" title="Changes translations.">imbue()</a>. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__loc</td><td>The new locale. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The previous locale.</dd></dl> <p>Calls the derived imbue(__loc). </p> <p>Definition at line <a class="el" href="a01516_source.html#l00183">183</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00496">std::basic_streambuf< char_type, traits_type >::gbump()</a>, <a class="el" href="a01516_source.html#l00483">std::basic_streambuf< char_type, traits_type >::gptr()</a>, and <a class="el" href="a01516_source.html#l00507">std::basic_streambuf< char_type, traits_type >::setg()</a>.</p> </div> </div> <a class="anchor" id="adf0f7b58227c057d018ab6a8b0a123d4"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>* <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::_M_in_end</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Entry point for <a class="el" href="a00433.html#a70048277614282b8631e5fbf3106093e" title="Changes translations.">imbue()</a>. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__loc</td><td>The new locale. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The previous locale.</dd></dl> <p>Calls the derived imbue(__loc). </p> <p>Definition at line <a class="el" href="a01516_source.html#l00184">184</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00486">std::basic_streambuf< char_type, traits_type >::egptr()</a>, and <a class="el" href="a01516_source.html#l00507">std::basic_streambuf< char_type, traits_type >::setg()</a>.</p> </div> </div> <a class="anchor" id="a66b958241a34e8b7da6ade8f3434ce61"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>* <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::_M_out_beg</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Entry point for <a class="el" href="a00433.html#a70048277614282b8631e5fbf3106093e" title="Changes translations.">imbue()</a>. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__loc</td><td>The new locale. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The previous locale.</dd></dl> <p>Calls the derived imbue(__loc). </p> <p>Definition at line <a class="el" href="a01516_source.html#l00185">185</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00527">std::basic_streambuf< char_type, traits_type >::pbase()</a>, and <a class="el" href="a01516_source.html#l00553">std::basic_streambuf< char_type, traits_type >::setp()</a>.</p> </div> </div> <a class="anchor" id="a83c368ebeed6b39269fd45d38b9a8b53"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>* <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::_M_out_cur</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Entry point for <a class="el" href="a00433.html#a70048277614282b8631e5fbf3106093e" title="Changes translations.">imbue()</a>. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__loc</td><td>The new locale. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The previous locale.</dd></dl> <p>Calls the derived imbue(__loc). </p> <p>Definition at line <a class="el" href="a01516_source.html#l00186">186</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00543">std::basic_streambuf< char_type, traits_type >::pbump()</a>, <a class="el" href="a01516_source.html#l00530">std::basic_streambuf< char_type, traits_type >::pptr()</a>, and <a class="el" href="a01516_source.html#l00553">std::basic_streambuf< char_type, traits_type >::setp()</a>.</p> </div> </div> <a class="anchor" id="af2973fa34894190ce5885749fa148bbe"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _CharT, typename _Traits> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00433.html#a38ad1721a50a96c7d37d51a3f858a0cf">char_type</a>* <a class="el" href="a00433.html">std::basic_streambuf</a>< _CharT, _Traits >::_M_out_end</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Entry point for <a class="el" href="a00433.html#a70048277614282b8631e5fbf3106093e" title="Changes translations.">imbue()</a>. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__loc</td><td>The new locale. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The previous locale.</dd></dl> <p>Calls the derived imbue(__loc). </p> <p>Definition at line <a class="el" href="a01516_source.html#l00187">187</a> of file <a class="el" href="a01516_source.html">streambuf</a>.</p> <p>Referenced by <a class="el" href="a01516_source.html#l00533">std::basic_streambuf< char_type, traits_type >::epptr()</a>, and <a class="el" href="a01516_source.html#l00553">std::basic_streambuf< char_type, traits_type >::setp()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="a01516_source.html">streambuf</a></li> <li><a class="el" href="a01517_source.html">streambuf.tcc</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="a01604.html">std</a></li><li class="navelem"><a class="el" href="a00433.html">basic_streambuf</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.3 </li> </ul> </div> </body> </html>