Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > ba6e5e1a033bd8535c43a771ce407926 > files > 275

lib64cxx-gtk-utils2.2-devel-2.2.3-2.mga4.x86_64.rpm

<!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.4"/>
<title>c++-gtk-utils: Cgu::basic_fdinbuf&lt; charT, Traits &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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">c++-gtk-utils
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.4 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceCgu.html">Cgu</a></li><li class="navelem"><a class="el" href="classCgu_1_1basic__fdinbuf.html">basic_fdinbuf</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classCgu_1_1basic__fdinbuf-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Cgu::basic_fdinbuf&lt; charT, Traits &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__fdstreams.html">fdstreams</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Input stream buffer for unix file descriptors.  
 <a href="classCgu_1_1basic__fdinbuf.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="fdstream_8h_source.html">c++-gtk-utils/fdstream.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Cgu::basic_fdinbuf&lt; charT, Traits &gt;:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classCgu_1_1basic__fdinbuf.png" usemap="#Cgu::basic_fdinbuf&lt; charT, Traits &gt;_map" alt=""/>
  <map id="Cgu::basic_fdinbuf&lt; charT, Traits &gt;_map" name="Cgu::basic_fdinbuf&lt; charT, Traits &gt;_map">
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a55223897f352a51f44f4dbe37df623c3"><td class="memItemLeft" align="right" valign="top">typedef charT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a55223897f352a51f44f4dbe37df623c3">char_type</a></td></tr>
<tr class="separator:a55223897f352a51f44f4dbe37df623c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbae14df84ba8a5e07b8561289bab2b3"><td class="memItemLeft" align="right" valign="top">typedef Traits&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#abbae14df84ba8a5e07b8561289bab2b3">traits_type</a></td></tr>
<tr class="separator:abbae14df84ba8a5e07b8561289bab2b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f98ba7d618ae0cd7541691b52a92769"><td class="memItemLeft" align="right" valign="top">typedef traits_type::int_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a4f98ba7d618ae0cd7541691b52a92769">int_type</a></td></tr>
<tr class="separator:a4f98ba7d618ae0cd7541691b52a92769"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a617433c1d5d822bcf5babdf7960bb83d"><td class="memItemLeft" align="right" valign="top">typedef traits_type::pos_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a617433c1d5d822bcf5babdf7960bb83d">pos_type</a></td></tr>
<tr class="separator:a617433c1d5d822bcf5babdf7960bb83d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1085eb6ca0575be146cd5ebbe79c0535"><td class="memItemLeft" align="right" valign="top">typedef traits_type::off_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a1085eb6ca0575be146cd5ebbe79c0535">off_type</a></td></tr>
<tr class="separator:a1085eb6ca0575be146cd5ebbe79c0535"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a018eca5c7c27fa2be8d1ba9687687344"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a018eca5c7c27fa2be8d1ba9687687344">basic_fdinbuf</a> (const <a class="el" href="classCgu_1_1basic__fdinbuf.html">basic_fdinbuf</a> &amp;)=delete</td></tr>
<tr class="separator:a018eca5c7c27fa2be8d1ba9687687344"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a295a2d101ff59bf8f2d0df79b6694a0d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCgu_1_1basic__fdinbuf.html">basic_fdinbuf</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a295a2d101ff59bf8f2d0df79b6694a0d">operator=</a> (const <a class="el" href="classCgu_1_1basic__fdinbuf.html">basic_fdinbuf</a> &amp;)=delete</td></tr>
<tr class="separator:a295a2d101ff59bf8f2d0df79b6694a0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2da45455f7fc7e225345fbbb1c1013e5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a2da45455f7fc7e225345fbbb1c1013e5">basic_fdinbuf</a> (int fd_=-1, bool manage_=true)</td></tr>
<tr class="separator:a2da45455f7fc7e225345fbbb1c1013e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a911652e064ea250862082a32818f643a"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a911652e064ea250862082a32818f643a">~basic_fdinbuf</a> ()</td></tr>
<tr class="separator:a911652e064ea250862082a32818f643a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4c5b83905cce8b10cdcde6a9be8c3a3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#ac4c5b83905cce8b10cdcde6a9be8c3a3">attach_fd</a> (int fd_, bool manage_=true)</td></tr>
<tr class="separator:ac4c5b83905cce8b10cdcde6a9be8c3a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf390264cf8e77c0daa04e8d8a2846e7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#abf390264cf8e77c0daa04e8d8a2846e7">close_fd</a> ()</td></tr>
<tr class="separator:abf390264cf8e77c0daa04e8d8a2846e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85eae1fcb6f581d5176767b3e4c66f86"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a85eae1fcb6f581d5176767b3e4c66f86">get_fd</a> () const </td></tr>
<tr class="separator:a85eae1fcb6f581d5176767b3e4c66f86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a872cdd071826aa07390e99168e3a4170"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a872cdd071826aa07390e99168e3a4170">set_byteswap</a> (bool <a class="el" href="namespaceCgu.html#af7fd3a7ee74c9924a1449a3acad2f821">swap</a>)</td></tr>
<tr class="separator:a872cdd071826aa07390e99168e3a4170"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5de5adbedc87b199a07ef81a1112a13e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a5de5adbedc87b199a07ef81a1112a13e">can_seek</a> () const </td></tr>
<tr class="separator:a5de5adbedc87b199a07ef81a1112a13e"><td class="memSeparator" colspan="2">&#160;</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:a5d5d26156647b81f2dc5560efbf0b839"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCgu_1_1basic__fdinbuf.html#a4f98ba7d618ae0cd7541691b52a92769">int_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a5d5d26156647b81f2dc5560efbf0b839">underflow</a> ()</td></tr>
<tr class="separator:a5d5d26156647b81f2dc5560efbf0b839"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e876a9c13f8719b4826a33deee3d2cd"><td class="memItemLeft" align="right" valign="top">virtual std::streamsize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a3e876a9c13f8719b4826a33deee3d2cd">xsgetn</a> (<a class="el" href="classCgu_1_1basic__fdinbuf.html#a55223897f352a51f44f4dbe37df623c3">char_type</a> *, std::streamsize)</td></tr>
<tr class="separator:a3e876a9c13f8719b4826a33deee3d2cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80f9e9e7a3560ab4edc5afabed006a0c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCgu_1_1basic__fdinbuf.html#a617433c1d5d822bcf5babdf7960bb83d">pos_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a80f9e9e7a3560ab4edc5afabed006a0c">seekoff</a> (<a class="el" href="classCgu_1_1basic__fdinbuf.html#a1085eb6ca0575be146cd5ebbe79c0535">off_type</a> off, std::ios_base::seekdir way, std::ios_base::openmode m=std::ios_base::in|std::ios_base::out)</td></tr>
<tr class="separator:a80f9e9e7a3560ab4edc5afabed006a0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f9737ba52018bfef9ca28068c239832"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCgu_1_1basic__fdinbuf.html#a617433c1d5d822bcf5babdf7960bb83d">pos_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a9f9737ba52018bfef9ca28068c239832">seekpos</a> (<a class="el" href="classCgu_1_1basic__fdinbuf.html#a617433c1d5d822bcf5babdf7960bb83d">pos_type</a> p, std::ios_base::openmode m=std::ios_base::in|std::ios_base::out)</td></tr>
<tr class="separator:a9f9737ba52018bfef9ca28068c239832"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class charT, class Traits = std::char_traits&lt;charT&gt;&gt;<br/>
class Cgu::basic_fdinbuf&lt; charT, Traits &gt;</h3>

<p>Input stream buffer for unix file descriptors. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__fdstreams.html">fdstreams</a></dd></dl>
<p>This class provides an input stream buffer for unix file descriptors. It does the buffering for the <a class="el" href="classCgu_1_1basic__fdistream.html" title="Input stream for unix file descriptors. ">basic_fdistream</a> stream class. </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a55223897f352a51f44f4dbe37df623c3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef charT <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::<a class="el" href="classCgu_1_1basic__fdinbuf.html#a55223897f352a51f44f4dbe37df623c3">char_type</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4f98ba7d618ae0cd7541691b52a92769"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef traits_type::int_type <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::<a class="el" href="classCgu_1_1basic__fdinbuf.html#a4f98ba7d618ae0cd7541691b52a92769">int_type</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a1085eb6ca0575be146cd5ebbe79c0535"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef traits_type::off_type <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::<a class="el" href="classCgu_1_1basic__fdinbuf.html#a1085eb6ca0575be146cd5ebbe79c0535">off_type</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a617433c1d5d822bcf5babdf7960bb83d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef traits_type::pos_type <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::<a class="el" href="classCgu_1_1basic__fdinbuf.html#a617433c1d5d822bcf5babdf7960bb83d">pos_type</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="abbae14df84ba8a5e07b8561289bab2b3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef Traits <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::<a class="el" href="classCgu_1_1basic__fdinbuf.html#abbae14df84ba8a5e07b8561289bab2b3">traits_type</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a018eca5c7c27fa2be8d1ba9687687344"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::<a class="el" href="classCgu_1_1basic__fdinbuf.html">basic_fdinbuf</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCgu_1_1basic__fdinbuf.html">basic_fdinbuf</a>&lt; charT, Traits &gt; &amp;&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This class cannot be copied. The copy constructor is deleted. </p>

</div>
</div>
<a class="anchor" id="a2da45455f7fc7e225345fbbb1c1013e5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::<a class="el" href="classCgu_1_1basic__fdinbuf.html">basic_fdinbuf</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>fd_</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>manage_</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>As this constructor has default argument values, it is also a default constructor. It does not throw unless the default constructor of std::basic_streambuf throws. fdstreams do not offer concurrent access from multiple threads to the same stream object, and if that is required users should provide their own synchronisation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fd_</td><td>The file descriptor to be attached to the streambuffer, or -1 to attach it latter with the attach() method.</td></tr>
    <tr><td class="paramname">manage_</td><td>Whether the streambuffer should manage the file descriptor (that is, close it in its destructor or when a new file descriptor is attached). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a911652e064ea250862082a32818f643a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::~<a class="el" href="classCgu_1_1basic__fdinbuf.html">basic_fdinbuf</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">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>The destructor does not throw. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ac4c5b83905cce8b10cdcde6a9be8c3a3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::attach_fd </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>fd_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>manage_</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Attach a new file descriptor to the streambuffer (and close any file descriptor at present managed by it). In the case of a wide character streambuffer, it also switches off byte swapping, if it was previously on. This method does not throw. fdstreams do not offer concurrent access from multiple threads to the same stream object, and if that is required users should provide their own synchronisation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fd_</td><td>The new file descriptor to be attached to the streambuffer.</td></tr>
    <tr><td class="paramname">manage_</td><td>Whether the streambuffer should manage the new file descriptor (that is, close it in its destructor or when a further file descriptor is attached). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5de5adbedc87b199a07ef81a1112a13e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::can_seek </td>
          <td>(</td>
          <td class="paramname">)</td><td></td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This method indicates whether the input device concerned supports random access, so that a call to <a class="el" href="classCgu_1_1basic__fdinbuf.html#a80f9e9e7a3560ab4edc5afabed006a0c">seekoff()</a> or <a class="el" href="classCgu_1_1basic__fdinbuf.html#a9f9737ba52018bfef9ca28068c239832">seekpos()</a> can succeed. This method does not throw. fdstreams do not offer concurrent access from multiple threads to the same stream object, and if that is required users should provide their own synchronisation.</p>
<dl class="section return"><dt>Returns</dt><dd>true if random access is supported, otherwise false. The result is only meaningful if a file descriptor has been attached to this streambuffer. </dd></dl>

</div>
</div>
<a class="anchor" id="abf390264cf8e77c0daa04e8d8a2846e7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::close_fd </td>
          <td>(</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Close the file descriptor at present attached to the streambuffer (if any). This method does not throw. fdstreams do not offer concurrent access from multiple threads to the same stream object, and if that is required users should provide their own synchronisation.</p>
<dl class="section return"><dt>Returns</dt><dd>From version 1.2.6, 'true' if the close succeeded, 'false' if an error arose (including in a case where no descriptor has been attached or it has already been closed). Prior to version 1.2.6, this method had void return type. </dd></dl>

</div>
</div>
<a class="anchor" id="a85eae1fcb6f581d5176767b3e4c66f86"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::get_fd </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>Get the file descriptor at present attached to the streambuffer (if any). This method does not throw. fdstreams do not offer concurrent access from multiple threads to the same stream object, and if that is required users should provide their own synchronisation.</p>
<dl class="section return"><dt>Returns</dt><dd>The file descriptor at present attached to the streambuffer, or -1 if none has been attached </dd></dl>

</div>
</div>
<a class="anchor" id="a295a2d101ff59bf8f2d0df79b6694a0d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCgu_1_1basic__fdinbuf.html">basic_fdinbuf</a>&amp; <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCgu_1_1basic__fdinbuf.html">basic_fdinbuf</a>&lt; charT, Traits &gt; &amp;&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This class cannot be copied. The copy assignment operator is deleted. </p>

</div>
</div>
<a class="anchor" id="a80f9e9e7a3560ab4edc5afabed006a0c"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCgu_1_1basic__fdinbuf.html#a617433c1d5d822bcf5babdf7960bb83d">pos_type</a> <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::seekoff </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a1085eb6ca0575be146cd5ebbe79c0535">off_type</a>&#160;</td>
          <td class="paramname"><em>off</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::ios_base::seekdir&#160;</td>
          <td class="paramname"><em>way</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::ios_base::openmode&#160;</td>
          <td class="paramname"><em>m</em> = <code>std::ios_base::in|std::ios_base::out</code>&#160;</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>This method provides random access on input devices that support it, so supporting the tellg() and seekg() methods of the <a class="el" href="classCgu_1_1basic__fdistream.html" title="Input stream for unix file descriptors. ">basic_fdistream</a> class. This method does not throw, but if it returns pos_type(off_type(-1)) to indicate failure, it will cause the seekg() or tellg() methods of the relevant stream class to throw std::ios_base::failure if such an exception has been required by an explicit call to the exceptions() method of that class (but not otherwise). fdstreams do not offer concurrent access from multiple threads to the same stream object, and if that is required users should provide their own synchronisation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">off</td><td>The offset to be applied to the 'way' argument when seeking. It is a signed integer type, and on wide character streams is dimensioned as the number of wchar_t units not the number of bytes (that is, it is bytes/sizeof(char_type)).</td></tr>
    <tr><td class="paramname">way</td><td>The file position to which the 'off' argument is to be applied (either std::ios_base::beg, std::ios_base::cur or std::ios_base::end).</td></tr>
    <tr><td class="paramname">m</td><td>The required read/write status of the file descriptor attached to this streambuffer for this method to attempt a seek. As this is an input streambuffer, the argument should have the std::ios_base::in bit set. Provided that bit is set, it doesn't matter if others are also set.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If the seek succeeds, a std::char_traits&lt;T&gt;::pos_type object representing the new stream position of the streambuffer after the seek. (This type is std::streampos for narrow character (char) streams, std::wstreampos for wide character (wchar_t) streams, std::u16streampos for the char16_t type and std::u32streampos for the char32_t type.) If the seek failed, pos_type(off_type(-1)) is returned. </dd></dl>

</div>
</div>
<a class="anchor" id="a9f9737ba52018bfef9ca28068c239832"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCgu_1_1basic__fdinbuf.html#a617433c1d5d822bcf5babdf7960bb83d">pos_type</a> <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::seekpos </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a617433c1d5d822bcf5babdf7960bb83d">pos_type</a>&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::ios_base::openmode&#160;</td>
          <td class="paramname"><em>m</em> = <code>std::ios_base::in|std::ios_base::out</code>&#160;</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>This method provides random access on input devices that support it, so supporting the seekg() method of the <a class="el" href="classCgu_1_1basic__fdistream.html" title="Input stream for unix file descriptors. ">basic_fdistream</a> class. It is equivalent to seekoff(off_type(p), std::ios_base::beg, m). This method does not throw, but if it returns pos_type(off_type(-1)) to indicate failure, it will cause the seekg() method of the relevant stream class to throw std::ios_base::failure if such an exception has been required by an explicit call to the exceptions() method of that class (but not otherwise). fdstreams do not offer concurrent access from multiple threads to the same stream object, and if that is required users should provide their own synchronisation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>The absolute position to which the seek is to be made, obtained by a previous call to <a class="el" href="classCgu_1_1basic__fdinbuf.html#a80f9e9e7a3560ab4edc5afabed006a0c">seekoff()</a> or to this method.</td></tr>
    <tr><td class="paramname">m</td><td>The required read/write status of the file descriptor attached to this streambuffer for this method to attempt a seek. As this is an input streambuffer, the argument should have the std::ios_base::in bit set. Provided that bit is set, it doesn't matter if others are also set.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If the seek succeeds, a std::char_traits&lt;T&gt;::pos_type object representing the new stream position of the streambuffer after the seek. (This type is std::streampos for narrow character (char) streams, std::wstreampos for wide character (wchar_t) streams, std::u16streampos for the char16_t type and std::u32streampos for the char32_t type.) If the seek failed, pos_type(off_type(-1)) is returned. </dd></dl>

</div>
</div>
<a class="anchor" id="a872cdd071826aa07390e99168e3a4170"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::set_byteswap </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>swap</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Causes the streambuffer to swap bytes in the incoming text, so as to convert big endian text to little endian text, or little endian text to big endian text. It is called by the user in response to finding a byte order marker (BOM) 0xfffe (UTF-16) or 0xfffe0000 (UTF-32) as the first character of a newly opened file/stream, or if the user knows by some other means that the native endianness of the machine doing the reading differs from the endianness of the file/stream being read. This only has effect on wide character input streambuffers (for example, wfdinbuf), and not the fdinbuf narrow character stream buffer. This method does not throw. fdstreams do not offer concurrent access from multiple threads to the same stream object, and if that is required users should provide their own synchronisation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">swap</td><td>'true' if byte swapping is to be turned on, 'false' if it is to be turned off. This will affect all characters extracted from the streambuffer after this call is made. If any previously extracted character is to be putback(), it must be put back before this function is called (or unget() should be called instead) to avoid a putback mismatch, because this call will byte-swap anything already in the buffers. (Characters extracted after the call to this method may be putback normally.) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5d5d26156647b81f2dc5560efbf0b839"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCgu_1_1basic__fdinbuf.html#a4f98ba7d618ae0cd7541691b52a92769">int_type</a> <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::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">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This method will not throw. This means that the input functions of stream objects which have this streambuffer as a member will not throw unless the underlying functions of the std::basic_istream class throw, which they would not normally do unless they have been required to do so on failbit, badbit or eofbit being set by an explicit call to the exceptions() method of that class. fdstreams do not offer concurrent access from multiple threads to the same stream object, and if that is required users should provide their own synchronisation. </p>

</div>
</div>
<a class="anchor" id="a3e876a9c13f8719b4826a33deee3d2cd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class charT , class Traits  = std::char_traits&lt;charT&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::streamsize <a class="el" href="classCgu_1_1basic__fdinbuf.html">Cgu::basic_fdinbuf</a>&lt; charT, Traits &gt;::xsgetn </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCgu_1_1basic__fdinbuf.html#a55223897f352a51f44f4dbe37df623c3">char_type</a> *&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::streamsize&#160;</td>
          <td class="paramname">&#160;</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>This method will not throw. This means that the input functions of stream objects which have this streambuffer as a member will not throw unless the underlying functions of the std::basic_istream class throw, which they would not normally do unless they have been required to do so on failbit, badbit or eofbit being set by an explicit call to the exceptions() method of that class. fdstreams do not offer concurrent access from multiple threads to the same stream object, and if that is required users should provide their own synchronisation. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="fdstream_8h_source.html">fdstream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Sep 16 2013 20:45:31 for c++-gtk-utils by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.4
</small></address>
</body>
</html>