<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >StringBuffer</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_StringBuffer.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >ghc-6.12.3: The GHC API</TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >StringBuffer</FONT ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" ><B >Contents</B ></TD ></TR ><TR ><TD ><DL ><DT ><A HREF="#1" >Creation/destruction </A ></DT ><DT ><A HREF="#2" >Inspection </A ></DT ><DT ><A HREF="#3" >Moving and comparison </A ></DT ><DT ><A HREF="#4" >Conversion </A ></DT ><DT ><A HREF="#5" >Parsing integers </A ></DT ></DL ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AStringBuffer" >StringBuffer</A > = <A HREF="#v%3AStringBuffer" >StringBuffer</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3Abuf" >buf</A > :: !(<A HREF="../base-4.2.0.2/Foreign-ForeignPtr.html#t%3AForeignPtr" >ForeignPtr</A > <A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord8" >Word8</A >)</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Alen" >len</A > :: !<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Acur" >cur</A > :: !<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AhGetStringBuffer" >hGetStringBuffer</A > :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AhGetStringBufferBlock" >hGetStringBufferBlock</A > :: <A HREF="../base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle" >Handle</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AappendStringBuffers" >appendStringBuffers</A > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AstringToStringBuffer" >stringToStringBuffer</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AnextChar" >nextChar</A > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> (<A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A >, <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcurrentChar" >currentChar</A > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AprevChar" >prevChar</A > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AatEnd" >atEnd</A > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AstepOn" >stepOn</A > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AoffsetBytes" >offsetBytes</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AbyteDiff" >byteDiff</A > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlexemeToString" >lexemeToString</A > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlexemeToFastString" >lexemeToFastString</A > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="FastString.html#t%3AFastString" >FastString</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseUnsignedInteger" >parseUnsignedInteger</A > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A > -> (<A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >) -> <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:StringBuffer" ><A NAME="t%3AStringBuffer" ></A ></A ><B >StringBuffer</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >A StringBuffer is an internal pointer to a sized chunk of bytes. The bytes are intended to be *immutable*. There are pure operations to read the contents of a StringBuffer. </P ><P >A StringBuffer may have a finalizer, depending on how it was obtained. </P ></TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:StringBuffer" ><A NAME="v%3AStringBuffer" ></A ></A ><B >StringBuffer</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:buf" ><A NAME="v%3Abuf" ></A ></A ><B >buf</B > :: !(<A HREF="../base-4.2.0.2/Foreign-ForeignPtr.html#t%3AForeignPtr" >ForeignPtr</A > <A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord8" >Word8</A >)</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:len" ><A NAME="v%3Alen" ></A ></A ><B >len</B > :: !<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:cur" ><A NAME="v%3Acur" ></A ></A ><B >cur</B > :: !<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:StringBuffer')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:StringBuffer" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="1" ><A NAME="1" >Creation/destruction </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:hGetStringBuffer" ><A NAME="v%3AhGetStringBuffer" ></A ></A ><B >hGetStringBuffer</B > :: <A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:hGetStringBufferBlock" ><A NAME="v%3AhGetStringBufferBlock" ></A ></A ><B >hGetStringBufferBlock</B > :: <A HREF="../base-4.2.0.2/GHC-IO-Handle.html#t%3AHandle" >Handle</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:appendStringBuffers" ><A NAME="v%3AappendStringBuffers" ></A ></A ><B >appendStringBuffers</B > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:stringToStringBuffer" ><A NAME="v%3AstringToStringBuffer" ></A ></A ><B >stringToStringBuffer</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/System-IO.html#t%3AIO" >IO</A > <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="2" ><A NAME="2" >Inspection </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:nextChar" ><A NAME="v%3AnextChar" ></A ></A ><B >nextChar</B > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> (<A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A >, <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:currentChar" ><A NAME="v%3AcurrentChar" ></A ></A ><B >currentChar</B > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:prevChar" ><A NAME="v%3AprevChar" ></A ></A ><B >prevChar</B > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:atEnd" ><A NAME="v%3AatEnd" ></A ></A ><B >atEnd</B > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="3" ><A NAME="3" >Moving and comparison </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:stepOn" ><A NAME="v%3AstepOn" ></A ></A ><B >stepOn</B > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:offsetBytes" ><A NAME="v%3AoffsetBytes" ></A ></A ><B >offsetBytes</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:byteDiff" ><A NAME="v%3AbyteDiff" ></A ></A ><B >byteDiff</B > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="4" ><A NAME="4" >Conversion </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:lexemeToString" ><A NAME="v%3AlexemeToString" ></A ></A ><B >lexemeToString</B > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:lexemeToFastString" ><A NAME="v%3AlexemeToFastString" ></A ></A ><B >lexemeToFastString</B > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="FastString.html#t%3AFastString" >FastString</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="5" ><A NAME="5" >Parsing integers </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseUnsignedInteger" ><A NAME="v%3AparseUnsignedInteger" ></A ></A ><B >parseUnsignedInteger</B > :: <A HREF="StringBuffer.html#t%3AStringBuffer" >StringBuffer</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A > -> (<A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >) -> <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A ></TD ></TR ><TR ><TD CLASS="doc" >XXX assumes ASCII digits only (by using byteOff) </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.6.1</TD ></TR ></TABLE ></BODY ></HTML >