code::LineReader Class Reference
[Reader]

Inheritance diagram for code::LineReader:

code::InMemoryReader code::Reader List of all members.

Detailed Description

Reader Decorator which adds line-by-line reading.

This is much faster than walking through a reader character by character.

Sample Use:

 include <wdssii/code_LineReader.h>
 include <wdssii/code_URL.h>

 std::string line;
 URL url = "/tmp/readme.gz";
 SmartPtr<LineReader> lineReader = new LineReader (Reader::getReader (url));
 while (lineReader->readLine (line))
 {
   do_something_with_line (line);
 }
 

Author:
Charles Kerr
Version:
Id
code_LineReader.h,v 1.2 2009/06/02 20:17:39 lakshman Exp


Public Member Functions

virtual bool readLine (std::string &setme_line)
 Reads the next line from the Reader.
 LineReader (SmartPtr< Reader > source)
virtual ~LineReader ()
virtual int read (Buffer &, long offset=0, size_t max_bytes=0)

Static Public Member Functions

static SmartPtr< LineReadergetLineReader (const URL &url)
 Convenience function that wraps a lower-level Reader for you.
static int read (const URL &url, Buffer &buffer, long offset=0, size_t max_len=0)
 Convenience function to read `url' into `buf'.
static int read (const URL &url, std::string &s, long offset=0, size_t max_len=0)
 Identical to read(const URL&,Buffer&,long,size_t) except it takes a string instead of a buffer.
static int readRaw (const URL &url, Buffer &b, long offset=0, size_t max_len=0)
 Identical to read() except except it doesn't uncompress files.
static SmartPtr< XML::DocumentreadXMLDocument (const URL &url)
 Returns an XML::Document created by passing the contents of `url' to XML::Parser::parse().
static SmartPtr< ReadergetReader (const URL &url)
 Returns a handle to a reader for the given URL.
static void introduceWDSSIIReaders ()

Protected Attributes

int myIndex
Buffer myBuf


Constructor & Destructor Documentation

code::LineReader::LineReader ( SmartPtr< Reader source  )  [inline]

virtual code::LineReader::~LineReader (  )  [inline, virtual]


Member Function Documentation

static SmartPtr<LineReader> code::LineReader::getLineReader ( const URL url  )  [inline, static]

Convenience function that wraps a lower-level Reader for you.

This makes getting a LineReader a little simpler. The following two lines are equivalent:

 SmartPtr<LineReader> lineReader = new LineReader (Reader :: getReader (url));
 SmartPtr<LineReader> lineReader = LineReader :: getLineReader (url);

static SmartPtr<Reader> code::Reader::getReader ( const URL url  )  [static, inherited]

Returns a handle to a reader for the given URL.

This is useful when you want to make iterative calls to read() or LineReader::readLine().

static void code::Reader::introduceWDSSIIReaders (  )  [static, inherited]

static int code::Reader::read ( const URL url,
std::string &  s,
long  offset = 0,
size_t  max_len = 0 
) [static, inherited]

Identical to read(const URL&,Buffer&,long,size_t) except it takes a string instead of a buffer.

static int code::Reader::read ( const URL url,
Buffer buffer,
long  offset = 0,
size_t  max_len = 0 
) [static, inherited]

Convenience function to read `url' into `buf'.

Handles remote, local, compressed, and uncompressed files transparently.

Parameters:
url the data source.
buffer where source's contents will be stored.
offset number of bytes to skip before read() begins storing.
max_len if nonzero, maximum number of bytes to store in buf.
Returns:
the number of bytes read, or a negative number on error.

virtual int code::InMemoryReader::read ( Buffer ,
long  offset = 0,
size_t  max_bytes = 0 
) [virtual, inherited]

See also:
static int read (URL, Buffer, offset, long, size_t);

Implements code::Reader.

virtual bool code::LineReader::readLine ( std::string &  setme_line  )  [virtual]

Reads the next line from the Reader.

Returns:
true if a line -- even an empty line -- was read.
Parameters:
setme_line on success, the Reader's next line is stored here.

static int code::Reader::readRaw ( const URL url,
Buffer b,
long  offset = 0,
size_t  max_len = 0 
) [static, inherited]

Identical to read() except except it doesn't uncompress files.

This is useful when mirroring compressed files to avoid decompress / recompress steps.

static SmartPtr<XML::Document> code::Reader::readXMLDocument ( const URL url  )  [static, inherited]

Returns an XML::Document created by passing the contents of `url' to XML::Parser::parse().


Member Data Documentation

Buffer code::InMemoryReader::myBuf [protected, inherited]

int code::InMemoryReader::myIndex [protected, inherited]


Generated on Fri May 4 13:40:13 2012 for WDSS-IIw2 by  doxygen 1.4.7