| Copyright | (c) The University of Glasgow 2008-2009 | 
|---|---|
| License | see libraries/base/LICENSE | 
| Maintainer | libraries@haskell.org | 
| Stability | internal | 
| Portability | non-portable | 
| Safe Haskell | Safe | 
| Language | Haskell2010 | 
GHC.IO.Encoding.Types
Description
Types for text encoding/decoding
Synopsis
- data BufferCodec from to state where
- BufferCodec# { }
 - pattern BufferCodec :: CodeBuffer from to -> (Buffer from -> Buffer to -> IO (Buffer from, Buffer to)) -> IO () -> IO state -> (state -> IO ()) -> BufferCodec from to state
 
 - data TextEncoding = TextEncoding {
- textEncodingName :: String
 - mkTextDecoder :: IO (TextDecoder dstate)
 - mkTextEncoder :: IO (TextEncoder estate)
 
 - type TextEncoder state = BufferCodec CharBufElem Word8 state
 - type TextDecoder state = BufferCodec Word8 CharBufElem state
 - type CodeBuffer from to = Buffer from -> Buffer to -> IO (CodingProgress, Buffer from, Buffer to)
 - type EncodeBuffer = CodeBuffer Char Word8
 - type DecodeBuffer = CodeBuffer Word8 Char
 - data CodingProgress
 - type DecodeBuffer# = CodeBuffer# Word8 Char
 - type EncodeBuffer# = CodeBuffer# Char Word8
 - type DecodingBuffer# = CodingBuffer# Word8 Char
 - type EncodingBuffer# = CodingBuffer# Char Word8
 
Documentation
data BufferCodec from to state Source #
Constructors
| BufferCodec# | |
Fields 
  | |
Bundled Patterns
| pattern BufferCodec :: CodeBuffer from to -> (Buffer from -> Buffer to -> IO (Buffer from, Buffer to)) -> IO () -> IO state -> (state -> IO ()) -> BufferCodec from to state | 
data TextEncoding Source #
A TextEncoding is a specification of a conversion scheme
 between sequences of bytes and sequences of Unicode characters.
For example, UTF-8 is an encoding of Unicode characters into a sequence
 of bytes.  The TextEncoding for UTF-8 is utf8.
Constructors
| TextEncoding | |
Fields 
  | |
Instances
| Show TextEncoding | Since: base-4.3.0.0  | 
Defined in GHC.Internal.IO.Encoding.Types  | |
type TextEncoder state = BufferCodec CharBufElem Word8 state Source #
type TextDecoder state = BufferCodec Word8 CharBufElem state Source #
type CodeBuffer from to = Buffer from -> Buffer to -> IO (CodingProgress, Buffer from, Buffer to) Source #
type EncodeBuffer = CodeBuffer Char Word8 Source #
type DecodeBuffer = CodeBuffer Word8 Char Source #
data CodingProgress Source #
Since: base-4.4.0.0
Constructors
| InputUnderflow | Stopped because the input contains insufficient available elements, or all of the input sequence has been successfully translated.  | 
| OutputUnderflow | Stopped because the output contains insufficient free elements  | 
| InvalidSequence | Stopped because there are sufficient free elements in the output to output at least one encoded ASCII character, but the input contains an invalid or unrepresentable sequence  | 
Instances
| Show CodingProgress | Since: base-4.4.0.0  | 
Defined in GHC.Internal.IO.Encoding.Types  | |
| Eq CodingProgress | Since: base-4.4.0.0  | 
Defined in GHC.Internal.IO.Encoding.Types Methods (==) :: CodingProgress -> CodingProgress -> Bool Source # (/=) :: CodingProgress -> CodingProgress -> Bool Source #  | |
type DecodeBuffer# = CodeBuffer# Word8 Char Source #
type EncodeBuffer# = CodeBuffer# Char Word8 Source #
type DecodingBuffer# = CodingBuffer# Word8 Char Source #
type EncodingBuffer# = CodingBuffer# Char Word8 Source #