Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

TextReader Class Reference

Inheritance diagram for TextReader:

AbstractReader List of all members.

Public Types

typedef opShr get
typedef AbstractReader opShr opShr

Public Member Functions

 this (IBuffer buffer, ITokenizer tokenizer=Tokenizers.line)
 this (IConduit conduit, ITokenizer tokenizer=Tokenizers.line)
uint int1 (void *src, uint count)
uint int8 (void *src, uint count)
uint int16 (void *src, uint count)
uint int32 (void *src, uint count)
uint int64 (void *src, uint count)
uint float32 (void *src, uint count)
uint float64 (void *src, uint count)
uint float80 (void *src, uint count)
IReader opShr (inout char[] x)
IReader opShr (inout wchar[] x)
IReader opShr (inout dchar[] x)

Private Member Functions

final Token next ()
 this (IBuffer buffer)
IBuffer getBuffer ()
IArrayAllocator getAllocator ()
void setAllocator (IArrayAllocator memory)
void setDecoder (IDecoder d)
IReader push (uint size)
uint length ()
void wait ()
IReader opShr (IReadable x)
IReader opShr (inout bool x)
IReader opShr (inout ubyte x)
IReader opShr (inout byte x)
IReader opShr (inout ushort x)
IReader opShr (inout short x)
IReader opShr (inout uint x)
IReader opShr (inout int x)
IReader opShr (inout ulong x)
IReader opShr (inout long x)
IReader opShr (inout float x)
IReader opShr (inout double x)
IReader opShr (inout real x)
IReader opShr (inout char x)
IReader opShr (inout wchar x)
IReader opShr (inout dchar x)
IReader opShr (inout ubyte[] x)
IReader opShr (inout byte[] x)
IReader opShr (inout ushort[] x)
IReader opShr (inout short[] x)
IReader opShr (inout uint[] x)
IReader opShr (inout int[] x)
IReader opShr (inout ulong[] x)
IReader opShr (inout long[] x)
IReader opShr (inout float[] x)
IReader opShr (inout double[] x)
IReader opShr (inout real[] x)

Private Attributes

Token token
ITokenizer tokenizer
IBuffer buffer
Decoder decode

Detailed Description

Grok readable input from a stream. All input is tokenized from the associated buffer, and converted as necessary into the destination location. A SpaceTokenizer is used by default, but you can choose an alternative (such as a comma-delimiting tokenizer).

Definition at line 55 of file TextReader.d.


Member Typedef Documentation

typedef opShr get
 

Reimplemented from AbstractReader.

Definition at line 57 of file TextReader.d.

Referenced by VersionArrayReaderSupport::testToken4().

typedef AbstractReader opShr opShr
 

Definition at line 58 of file TextReader.d.


Member Function Documentation

this IBuffer  buffer,
ITokenizer  tokenizer = Tokenizers.line
[inline]
 

Construct a TextReader on the provided buffer, using the specified Tokenizer instead of the default one.

Definition at line 73 of file TextReader.d.

References tokenizer.

this IConduit  conduit,
ITokenizer  tokenizer = Tokenizers.line
[inline]
 

Construct a TextReader upon the buffer associated with the given conduit.

Definition at line 101 of file TextReader.d.

References tokenizer.

final Token next  )  [inline, private]
 

Internal method to isolate the next token.

Definition at line 112 of file TextReader.d.

References Token::getLength(), ITokenizer::next(), and tokenizer.

uint int1 void *  src,
uint  count
[inline]
 

Definition at line 123 of file TextReader.d.

References Token::toString().

uint int8 void *  src,
uint  count
[inline]
 

Definition at line 137 of file TextReader.d.

References Token::toInt().

uint int16 void *  src,
uint  count
[inline]
 

Definition at line 151 of file TextReader.d.

References Token::toInt().

uint int32 void *  src,
uint  count
[inline]
 

Definition at line 165 of file TextReader.d.

References Token::toInt().

uint int64 void *  src,
uint  count
[inline]
 

Definition at line 179 of file TextReader.d.

References Token::toLong().

uint float32 void *  src,
uint  count
[inline]
 

Definition at line 193 of file TextReader.d.

References Token::toReal().

uint float64 void *  src,
uint  count
[inline]
 

Definition at line 207 of file TextReader.d.

References Token::toReal().

uint float80 void *  src,
uint  count
[inline]
 

Definition at line 221 of file TextReader.d.

References Token::toReal().

IReader opShr inout char[]  x  )  [inline]
 

Reimplemented from AbstractReader.

Definition at line 235 of file TextReader.d.

References Token::toString().

IReader opShr inout wchar[]  x  )  [inline]
 

Todo:
  • Tokenizer needs to handle wchar[] before this will operate correctly

Reimplemented from AbstractReader.

Definition at line 249 of file TextReader.d.

IReader opShr inout dchar[]  x  )  [inline]
 

Todo:
  • Tokenizer needs to handle dchar[] before this will operate correctly

Reimplemented from AbstractReader.

Definition at line 262 of file TextReader.d.

this IBuffer  buffer  )  [inline, inherited]
 

Return the buffer associated with this reader

Reimplemented in HttpReader, EndianReader, and Reader.

Definition at line 150 of file AbstractReader.d.

References AbstractReader::setAllocator().

IBuffer getBuffer  )  [inline, inherited]
 

Return the buffer associated with this reader

Reimplemented from IReader.

Definition at line 162 of file AbstractReader.d.

IArrayAllocator getAllocator  )  [inline, inherited]
 

Return the allocator associated with this reader.See ArrayAllocator for more information.

Reimplemented from IReader.

Definition at line 174 of file AbstractReader.d.

References AbstractReader::memory.

void setAllocator IArrayAllocator  memory  )  [inline, inherited]
 

Set the allocator to use for array management. Arrays are always allocated by the IReader. That is, you cannot read data into an array slice (for example). Instead, a number of IArrayAllocator classes are available to manage memory allocation when reading array content.

By default, an IReader will allocate each array from the heap. You can change that behavior by calling this method with an IArrayAllocator of choice. For instance, there is a BufferAllocator which will slice an array directly from the buffer where possible. Also available is the record-oriented SliceAllocator, which slices memory from within a pre-allocated heap area, and should be reset by the client code after each record has been read (to avoid unnecessary growth).

See ArrayAllocator for more information.

Reimplemented from IReader.

Definition at line 201 of file AbstractReader.d.

References IArrayAllocator::bind().

Referenced by AbstractReader::this().

void setDecoder IDecoder  d  )  [inline, inherited]
 

Bind an IDecoder to the writer. Decoders are intended to be used as a conversion mechanism between various character representations (encodings), or the translation of any data type from one representation to another. Each data type may be configured with a distinct decoder, covering all native types (15 in total).

An appropriate decoder set should be attached to each IReader, and thus be available for subsequent use. A raw binary implementation is attached by default (no encoding).

See module mango.icu.UMango for an example of decoder implementation -- those classes bind the ICU converters to this IO package.

Reimplemented from IReader.

Definition at line 226 of file AbstractReader.d.

References IDecoder::bind(), AbstractReader::decode, AbstractReader::Decoder::decoders, and IDecoder::type().

IReader push uint  size  )  [inline, inherited]
 

Push the size (in bytes) to use for the next array-read. By default, array sizes are read from the input stream, so this is the means by which one may specify the size where the stream is not formatted in such a manner.

char[] x; int size; IReader reader; reader.push(size).get(x);

Reimplemented from IReader.

Definition at line 248 of file AbstractReader.d.

References AbstractReader::pushed.

uint length  )  [inline, inherited]
 

Read and return an integer from the input stream. This can be used to extract the length of a subsequent array.

Reimplemented from IReader.

Definition at line 264 of file AbstractReader.d.

References AbstractReader::get, and AbstractReader::pushed.

Referenced by AbstractReader::opShr().

void wait  )  [inline, inherited]
 

Wait for something to arrive in the buffer. This may stall the current thread forever, although usage of SocketConduit will take advantage of the timeout facilities provided there.

Reimplemented from IReader.

Definition at line 283 of file AbstractReader.d.

References IBuffer::get().

IReader opShr IReadable  x  )  [inline, inherited]
 

Extract a readable class from the current read-position

Reimplemented from IReader.

Definition at line 294 of file AbstractReader.d.

References IReadable::read().

IReader opShr inout bool  x  )  [inline, inherited]
 

Extract a boolean value from the current read-position

Reimplemented from IReader.

Definition at line 307 of file AbstractReader.d.

References AbstractReader::decode, and AbstractReader::Decoder::int1.

IReader opShr inout ubyte  x  )  [inline, inherited]
 

Extract an unsigned byte value from the current read-position

Reimplemented from IReader.

Definition at line 319 of file AbstractReader.d.

References AbstractReader::decode, and AbstractReader::Decoder::int8u.

IReader opShr inout byte  x  )  [inline, inherited]
 

Extract a byte value from the current read-position

Reimplemented from IReader.

Definition at line 331 of file AbstractReader.d.

References AbstractReader::decode, and AbstractReader::Decoder::int8.

IReader opShr inout ushort  x  )  [inline, inherited]
 

Extract an unsigned short value from the current read-position

Reimplemented from IReader.

Definition at line 343 of file AbstractReader.d.

References AbstractReader::decode, and AbstractReader::Decoder::int16u.

IReader opShr inout short  x  )  [inline, inherited]
 

Extract a short value from the current read-position

Reimplemented from IReader.

Definition at line 356 of file AbstractReader.d.

References AbstractReader::decode, and AbstractReader::Decoder::int16.

IReader opShr inout uint  x  )  [inline, inherited]
 

Extract a unsigned int value from the current read-position

Reimplemented from IReader.

Definition at line 368 of file AbstractReader.d.

References AbstractReader::decode, and AbstractReader::Decoder::int32u.

IReader opShr inout int  x  )  [inline, inherited]
 

Extract an int value from the current read-position

Reimplemented from IReader.

Definition at line 380 of file AbstractReader.d.

References AbstractReader::decode, and AbstractReader::Decoder::int32.

IReader opShr inout ulong  x  )  [inline, inherited]
 

Extract an unsigned long value from the current read-position

Reimplemented from IReader.

Definition at line 392 of file AbstractReader.d.

References AbstractReader::decode, and AbstractReader::Decoder::int64u.

IReader opShr inout long  x  )  [inline, inherited]
 

Extract a long value from the current read-position

Reimplemented from IReader.

Definition at line 404 of file AbstractReader.d.

References AbstractReader::decode, and AbstractReader::Decoder::int64.

IReader opShr inout float  x  )  [inline, inherited]
 

Extract a float value from the current read-position

Reimplemented from IReader.

Definition at line 416 of file AbstractReader.d.

References AbstractReader::decode, and AbstractReader::Decoder::float32.

IReader opShr inout double  x  )  [inline, inherited]
 

Extract a double value from the current read-position

Reimplemented from IReader.

Definition at line 428 of file AbstractReader.d.

References AbstractReader::decode, and AbstractReader::Decoder::float64.

IReader opShr inout real  x  )  [inline, inherited]
 

Extract a real value from the current read-position

Reimplemented from IReader.

Definition at line 440 of file AbstractReader.d.

References AbstractReader::decode, and AbstractReader::Decoder::float80.

IReader opShr inout char  x  )  [inline, inherited]
 

Extract a char value from the current read-position

Reimplemented from IReader.

Definition at line 452 of file AbstractReader.d.

References AbstractReader::Decoder::char8, and AbstractReader::decode.

IReader opShr inout wchar  x  )  [inline, inherited]
 

Extract a wide char value from the current read-position

Reimplemented from IReader.

Definition at line 464 of file AbstractReader.d.

References AbstractReader::Decoder::char16, and AbstractReader::decode.

IReader opShr inout dchar  x  )  [inline, inherited]
 

Extract a double char value from the current read-position

Reimplemented from IReader.

Definition at line 476 of file AbstractReader.d.

References AbstractReader::Decoder::char32, and AbstractReader::decode.

IReader opShr inout ubyte[]  x  )  [inline, inherited]
 

Extract an unsigned byte value from the current read-position

Reimplemented from IReader.

Definition at line 488 of file AbstractReader.d.

References IArrayAllocator::allocate(), AbstractReader::decode, AbstractReader::Decoder::int8u, AbstractReader::length(), and AbstractReader::memory.

IReader opShr inout byte[]  x  )  [inline, inherited]
 

Extract a byte value from the current read-position

Reimplemented from IReader.

Definition at line 500 of file AbstractReader.d.

References IArrayAllocator::allocate(), AbstractReader::decode, AbstractReader::Decoder::int8, AbstractReader::length(), and AbstractReader::memory.

IReader opShr inout ushort[]  x  )  [inline, inherited]
 

Extract an unsigned short value from the current read-position

Reimplemented from IReader.

Definition at line 512 of file AbstractReader.d.

References IArrayAllocator::allocate(), AbstractReader::decode, AbstractReader::Decoder::int16u, AbstractReader::length(), and AbstractReader::memory.

IReader opShr inout short[]  x  )  [inline, inherited]
 

Extract a short value from the current read-position

Reimplemented from IReader.

Definition at line 524 of file AbstractReader.d.

References IArrayAllocator::allocate(), AbstractReader::decode, AbstractReader::Decoder::int16, AbstractReader::length(), and AbstractReader::memory.

IReader opShr inout uint[]  x  )  [inline, inherited]
 

Extract a unsigned int value from the current read-position

Reimplemented from IReader.

Definition at line 536 of file AbstractReader.d.

References IArrayAllocator::allocate(), AbstractReader::decode, AbstractReader::Decoder::int32u, AbstractReader::length(), and AbstractReader::memory.

IReader opShr inout int[]  x  )  [inline, inherited]
 

Extract an int value from the current read-position

Reimplemented from IReader.

Definition at line 548 of file AbstractReader.d.

References IArrayAllocator::allocate(), AbstractReader::decode, AbstractReader::Decoder::int32, AbstractReader::length(), and AbstractReader::memory.

IReader opShr inout ulong[]  x  )  [inline, inherited]
 

Extract an unsigned long value from the current read-position

Reimplemented from IReader.

Definition at line 560 of file AbstractReader.d.

References IArrayAllocator::allocate(), AbstractReader::decode, AbstractReader::Decoder::int64u, AbstractReader::length(), and AbstractReader::memory.

IReader opShr inout long[]  x  )  [inline, inherited]
 

Extract a long value from the current read-position

Reimplemented from IReader.

Definition at line 572 of file AbstractReader.d.

References IArrayAllocator::allocate(), AbstractReader::decode, AbstractReader::Decoder::int64, AbstractReader::length(), and AbstractReader::memory.

IReader opShr inout float[]  x  )  [inline, inherited]
 

Extract a float value from the current read-position

Reimplemented from IReader.

Definition at line 584 of file AbstractReader.d.

References IArrayAllocator::allocate(), AbstractReader::decode, AbstractReader::Decoder::float32, AbstractReader::length(), and AbstractReader::memory.

IReader opShr inout double[]  x  )  [inline, inherited]
 

Extract a double value from the current read-position

Reimplemented from IReader.

Definition at line 596 of file AbstractReader.d.

References IArrayAllocator::allocate(), AbstractReader::decode, AbstractReader::Decoder::float64, AbstractReader::length(), and AbstractReader::memory.

IReader opShr inout real[]  x  )  [inline, inherited]
 

Extract a real value from the current read-position

Reimplemented from IReader.

Definition at line 608 of file AbstractReader.d.

References IArrayAllocator::allocate(), AbstractReader::decode, AbstractReader::Decoder::float80, AbstractReader::length(), and AbstractReader::memory.


Member Data Documentation

Token token [private]
 

Definition at line 61 of file TextReader.d.

ITokenizer tokenizer [private]
 

Definition at line 64 of file TextReader.d.

Referenced by next(), and this().

IBuffer buffer [protected, inherited]
 

Definition at line 133 of file AbstractReader.d.

Decoder decode [protected, inherited]
 

Definition at line 136 of file AbstractReader.d.

Referenced by AbstractReader::opShr(), and AbstractReader::setDecoder().


The documentation for this class was generated from the following file:
Generated on Tue Jan 25 21:18:41 2005 for Mango by doxygen 1.3.6