<!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> <title>Class Poco::BasicBufferedBidirectionalStreamBuf</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <meta name="author" content="Applied Informatics Software Engineering GmbH and Contributors"/> <meta name="publisher" content="Applied Informatics Software Engineering GmbH and Contributors"/> <meta name="copyright" content="Copyright (c) 2009, Applied Informatics Software Engineering GmbH and Contributors"/> <meta name="language" content="en"/> <meta name="date" content="2009-11-24"/> <meta name="generator" content="PocoDoc"/> <link rel="stylesheet" href="css/styles.css" type="text/css"/> </head> <body bgcolor="#ffffff" leftmargin="0" topmargin="0"> <div class="header"> <h1 class="namespace"><a href="Poco.html" class="namespace">Poco</a></h1> <h1 class="template">template < typename ch, typename tr, typename ba = BufferAllocator < ch > ></h1> <h1 class="symbol">class BasicBufferedBidirectionalStreamBuf</h1> </div> <div class="body"> <p> <b>Library:</b> Foundation<br /> <b>Package:</b> Streams<br /> <b>Header:</b> Poco/BufferedBidirectionalStreamBuf.h</p> <h2>Description</h2> <div class="description"> <p>This is an implementation of a buffered bidirectional streambuf that greatly simplifies the implementation of custom streambufs of various kinds. Derived classes only have to override the methods <a href="Poco.BasicBufferedBidirectionalStreamBuf.html#3977" title="Poco::BasicBufferedBidirectionalStreamBuf::readFromDevice()">readFromDevice</a>() or <a href="Poco.BasicBufferedBidirectionalStreamBuf.html#3980" title="Poco::BasicBufferedBidirectionalStreamBuf::writeToDevice()">writeToDevice</a>(). </p> <p>In contrast to BasicBufferedStreambuf, this class supports simultaneous read and write access, so in addition to istream and ostream this streambuf can also be used for implementing an iostream. </p> </div> <h2>Inheritance</h2> <p><b>Direct Base Classes: </b>std::basic_streambuf < ch, tr ></p> <p><b>All Base Classes: </b>std::basic_streambuf < ch, tr ></p> <h2>Member Summary</h2> <p><b>Member Functions: </b><a href="Poco.BasicBufferedBidirectionalStreamBuf.html#3975" title="Poco::BasicBufferedBidirectionalStreamBuf::getMode()">getMode</a>, <a href="Poco.BasicBufferedBidirectionalStreamBuf.html#3969" title="Poco::BasicBufferedBidirectionalStreamBuf::overflow()">overflow</a>, <a href="Poco.BasicBufferedBidirectionalStreamBuf.html#3976" title="Poco::BasicBufferedBidirectionalStreamBuf::resetBuffers()">resetBuffers</a>, <a href="Poco.BasicBufferedBidirectionalStreamBuf.html#3973" title="Poco::BasicBufferedBidirectionalStreamBuf::setMode()">setMode</a>, <a href="Poco.BasicBufferedBidirectionalStreamBuf.html#3972" title="Poco::BasicBufferedBidirectionalStreamBuf::sync()">sync</a>, <a href="Poco.BasicBufferedBidirectionalStreamBuf.html#3971" title="Poco::BasicBufferedBidirectionalStreamBuf::underflow()">underflow</a></p> <h2>Types</h2> <h3><a name="3960">Allocator</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">typedef ba <a href="Poco.BasicBufferedBidirectionalStreamBuf.html#3960" title="Poco::BasicBufferedBidirectionalStreamBuf::Allocator">Allocator</a>;</p> <div class="description"> <p></p> </div> <h3><a name="3956">Base</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">typedef std::basic_streambuf < ch, tr > <a href="Poco.BasicBufferedBidirectionalStreamBuf.html#3956" title="Poco::BasicBufferedBidirectionalStreamBuf::Base">Base</a>;</p> <div class="description"> <p></p> </div> <h3><a name="3957">IOS</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">typedef std::basic_ios < ch, tr > <a href="Poco.BasicBufferedBidirectionalStreamBuf.html#3957" title="Poco::BasicBufferedBidirectionalStreamBuf::IOS">IOS</a>;</p> <div class="description"> <p></p> </div> <h3><a name="3959">char_traits</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">typedef tr char_traits;</p> <div class="description"> <p></p> </div> <h3><a name="3958">char_type</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">typedef ch char_type;</p> <div class="description"> <p></p> </div> <h3><a name="3961">int_type</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">typedef typename Base::int_type int_type;</p> <div class="description"> <p></p> </div> <h3><a name="3963">off_type</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">typedef typename Base::off_type off_type;</p> <div class="description"> <p></p> </div> <h3><a name="3964">openmode</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">typedef typename IOS::openmode openmode;</p> <div class="description"> <p></p> </div> <h3><a name="3962">pos_type</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">typedef typename Base::pos_type pos_type;</p> <div class="description"> <p></p> </div> <h2>Constructors</h2> <h3><a name="3965">BasicBufferedBidirectionalStreamBuf</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl"><a href="Poco.BasicBufferedBidirectionalStreamBuf.html" title="class Poco::BasicBufferedBidirectionalStreamBuf">BasicBufferedBidirectionalStreamBuf</a>(<br /> std::streamsize bufferSize,<br /> openmode mode<br />);</p> <div class="description"> <p></p> </div> <h2>Destructor</h2> <h3><a name="3968">~BasicBufferedBidirectionalStreamBuf</a> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">~<a href="Poco.BasicBufferedBidirectionalStreamBuf.html" title="class Poco::BasicBufferedBidirectionalStreamBuf">BasicBufferedBidirectionalStreamBuf</a>();</p> <div class="description"> <p></p> </div> <h2>Member Functions</h2> <h3><a name="3969">overflow</a> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">virtual int_type overflow(<br /> int_type c<br />);</p> <div class="description"> <p></p> </div> <h3><a name="3972">sync</a> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">virtual int sync();</p> <div class="description"> <p></p> </div> <h3><a name="3971">underflow</a> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">virtual int_type underflow();</p> <div class="description"> <p></p> </div> <h3><a name="3975">getMode</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">openmode getMode() const;</p> <div class="description"> <p></p> </div> <h3><a name="3976">resetBuffers</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">void resetBuffers();</p> <div class="description"> <p></p> </div> <h3><a name="3973">setMode</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> <img src="images/inline.gif" alt="inline" title="inline" style="vertical-align:baseline;" border="0" /> </h3> <p class="decl">void setMode(<br /> openmode mode<br />);</p> <div class="description"> <p></p> </div> <p class="footer">POCO C++ Libraries 1.3.6-all<br /> Copyright © 2009, <a href="http://pocoproject.org/" target="_blank">Applied Informatics Software Engineering GmbH and Contributors</a></p> </div> </body> </html>