1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
4 <TITLE>Peekable
</TITLE>
5 <LINK REL=
"stylesheet" HREF=
"../../../../boost.css">
6 <LINK REL=
"stylesheet" HREF=
"../theme/iostreams.css">
12 <H1 CLASS=
"title">Peekable
</H1>
20 A Peekable
<A HREF=
"device.html">Device
</A> allows a character read from the input sequence to be putback.
24 The name of the concept is based on the observation that a PeekableDevice allow the user to peek at the first character in the sequence it controls by calling
<A HREF=
"../functions/get.html"><CODE>get
</CODE></A> or
<A HREF=
"../functions/read.html"><CODE>read
</CODE></A> followed by
<A HREF=
"../functions/putback.html"><CODE>putback
</CODE></A>. The names Putbackable and InputRevertable were considered but rejected.
27 <H2>Refinement of
</H2>
29 <A HREF=
"source.html">Source
</A>.
32 <H2>Associated Types
</H2>
34 Same as
<A HREF=
"source.html">Source
</A>.
38 <TABLE CELLPADDING=
"2">
39 <TR><TD><CODE>P
</CODE></TD><TD>-
</TD><TD>A type which is a model of Peekable
</TD></TR>
40 <TR><TD><CODE>p
</CODE></TD><TD>-
</TD><TD>Object of type
<CODE>P
</CODE></TD></TR>
41 <TR><TD><CODE>c
</CODE></TD><TD>-
</TD><TD>Object of type equal to the character type of
<CODE>P
</CODE></TD></TR>
42 <TR><TD><CODE>io
</CODE></TD><TD>-
</TD><TD>Alias for namespace
<CODE>boost::iostreams
</CODE></TD></TR>
45 <H2>Valid Expressions / Semantics
</H2>
47 <TABLE CELLPADDING=
"5" BORDER=
"1">
48 <TR><TH>Expression
</TH><TH>Expression Type
</TH><TH>Precondition
</TH><TH>Semantics
</TH><TH>Postcondition
</TH></TR>
51 <PRE CLASS=
"plain_code"><CODE><A HREF=
"../functions/putback.html">io::putback
</A>(p, c)
</CODE></PRE>
53 <TD><CODE>bool
</CODE></TD>
55 One or more characters has been read from
<CODE>p
</CODE> using
<A HREF=
"../functions/get.html"><CODE>io::get
</CODE></A> or
<A HREF=
"../functions/read.html"><CODE>io::read
</CODE></A>, with no intervening i/o operations having been performed
58 Attempts to put back
<CODE>c
</CODE> to
<CODE>p
</CODE>, returning
<CODE>true
</CODE> for success
61 If putback returns
<CODE>true
</CODE>, the next character read from
<CODE>p
</CODE> using
<A HREF=
"../functions/get.html"><CODE>io::get
</CODE></A> or
<A HREF=
"../functions/read.html"><CODE>io::read
</CODE></A> will be equal to
<CODE>c
</CODE></A>
69 Errors which occur during the execution of
<A CLASS=
"code" HREF=
"../functions/putback.html"><CODE>putback
</CODE></A> are be indicated by throwing exceptions.
74 <LI>Standard input streams and stream buffers.
81 <P CLASS=
"copyright">© Copyright
2008 <a href=
"http://www.coderage.com/" target=
"_top">CodeRage, LLC
</a><br/>© Copyright
2004-
2007 <a href=
"http://www.coderage.com/turkanis/" target=
"_top">Jonathan Turkanis
</a></P>
83 Distributed under the Boost Software License, Version
1.0. (See accompanying file LICENSE_1_0.txt or copy at
<A HREF=
"http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt
</A>)