Public Types | Public Attributes | List of all members
moot::TokenBuffer Class Reference

Class for in-memory token buffers using mootSentence. More...

Inheritance diagram for moot::TokenBuffer:
Inheritance graph
[legend]
Collaboration diagram for moot::TokenBuffer:
Collaboration graph
[legend]

Public Types

typedef mootSentence Buffer
 

Public Member Functions

Constructors etc.
 TokenBuffer (int fmt=tiofUnknown, const std::string name="TokenBuffer")
 
virtual ~TokenBuffer (void)
 
I/O Selection
virtual void from_mstream (mootio::mistream *mistreamp)
 
virtual void to_mstream (mootio::mostream *mostreamp)
 
virtual void close ()
 
virtual bool opened ()
 
virtual void from_reader (TokenReader *reader)
 
virtual void to_writer (TokenWriter *writer)
 
virtual void clear_buffer ()
 
Token-Level Access: Input
virtual mootTokenType get_token (void)
 
virtual mootTokenType get_sentence (void)
 
Token-Level Access: Output
virtual void put_token (const mootToken &token)
 
virtual void put_tokens (const mootSentence &tokens)
 
virtual void put_sentence (const mootSentence &tokens)
 
Raw Output
virtual void put_raw_buffer (const char *buf, size_t len)
 
- Public Member Functions inherited from moot::TokenReader
 TokenReader (int fmt=tiofUnknown, const std::string &name="TokenReader")
 
virtual ~TokenReader (void)
 
void tr_clear (void)
 
virtual void from_mstream (mootio::mistream &mis)
 
virtual void from_filename (const char *filename)
 
virtual void from_file (FILE *file)
 
virtual void from_fd (int fd)
 
virtual void from_buffer (const void *buf, size_t len)
 
virtual void from_string (const char *s)
 
virtual void from_cxxstream (std::istream &is)
 
mootTokentoken (void)
 
mootSentencesentence (void)
 
virtual void reader_name (const std::string &myname)
 
virtual size_t line_number (void)
 
virtual size_t line_number (size_t n)
 
virtual size_t column_number (void)
 
virtual size_t column_number (size_t n)
 
virtual mootio::ByteOffset byte_number (void)
 
virtual mootio::ByteOffset byte_number (size_t n)
 
virtual void carp (const char *fmt,...)
 
- Public Member Functions inherited from moot::TokenWriter
 TokenWriter (int fmt=tiofWellDone, const std::string &name="TokenWriter")
 
virtual ~TokenWriter (void)
 
virtual void to_mstream (mootio::mostream &mos)
 
virtual void to_filename (const char *filename)
 
virtual void to_file (FILE *file)
 
virtual void to_fd (int fd)
 
virtual void to_cxxstream (std::ostream &os)
 
virtual bool flush (void)
 
bool autoflush (mootio::mostream *os)
 
virtual void put_comment_block_begin (void)
 
virtual void put_comment_block_end (void)
 
virtual void put_comment_buffer (const char *buf, size_t len)
 
virtual void put_comment (const char *s)
 
virtual void put_comment_buffer (const std::string &s)
 
virtual void printf_comment (const char *fmt,...)
 
virtual void put_raw (const char *s)
 
virtual void put_raw (const std::string &s)
 
virtual void printf_raw (const char *fmt,...)
 
virtual void writer_name (const std::string &myname)
 
virtual void carp (const char *fmt,...)
 

Public Attributes

Buffer tb_buffer
 
mootSentence tb_sentence
 
- Public Attributes inherited from moot::TokenReader
int tr_format
 
std::string tr_name
 
mootio::mistreamtr_istream
 
bool tr_istream_created
 
mootTokentr_token
 
mootSentencetr_sentence
 
void * tr_data
 
- Public Attributes inherited from moot::TokenWriter
int tw_format
 
std::string tw_name
 
mootio::mostreamtw_ostream
 
bool tw_ostream_created
 
bool tw_is_comment_block
 
void * tw_data
 

Additional Inherited Members

- Static Public Member Functions inherited from moot::TokenIO
static int parse_format_string (const std::string &fmtString)
 
static int guess_filename_format (const char *filename)
 
static bool is_empty_format (int fmt)
 
static int sanitize_format (int fmt, int fmt_implied=tiofNone, int fmt_default=tiofNone)
 
static int parse_format_request (const char *request, const char *filename=__null, int fmt_implied=tiofNone, int fmt_default=tiofNone)
 
static std::string format_canonical_string (int fmt)
 
static class TokenReadernew_reader (int fmt)
 
static class TokenWriternew_writer (int fmt)
 
static class TokenReaderfile_reader (const char *filename, const char *fmt_request=__null, int fmt_implied=tiofNone, int fmt_default=tiofNone)
 
static class TokenWriterfile_writer (const char *filename, const char *fmt_request=__null, int fmt_implied=tiofNone, int fmt_default=tiofNone)
 
static size_t pipe_tokens (class TokenReader *reader, class TokenWriter *writer)
 
static size_t pipe_sentences (class TokenReader *reader, class TokenWriter *writer)
 
- Static Public Attributes inherited from moot::TokenReader
static const size_t TR_DEFAULT_BUFSIZE = 256
 

Detailed Description

Data must be written e.g. with put_token() before it it is read with get_token() and its ilk, otherwise EOF will be returned.

Member Typedef Documentation

◆ Buffer

Constructor & Destructor Documentation

◆ TokenBuffer()

moot::TokenBuffer::TokenBuffer ( int  fmt = tiofUnknown,
const std::string  name = "TokenBuffer" 
)
inline

Default constructor

Parameters
fmtbitmask of moot::TokenIOFormat flags
namesymbolic name for the object

◆ ~TokenBuffer()

virtual moot::TokenBuffer::~TokenBuffer ( void  )
virtual

destructor override in descendant classes

Member Function Documentation

◆ from_mstream()

virtual void moot::TokenBuffer::from_mstream ( mootio::mistream mistreamp)
inlinevirtual

TokenReader method from_mstream() just throws an error

Reimplemented from moot::TokenReader.

◆ to_mstream()

virtual void moot::TokenBuffer::to_mstream ( mootio::mostream mostreamp)
inlinevirtual

TokenWriter method to_mstream() just throws an error

Reimplemented from moot::TokenWriter.

◆ close()

virtual void moot::TokenBuffer::close ( void  )
inlinevirtual

close() override does nothing

Reimplemented from moot::TokenReader.

◆ opened()

virtual bool moot::TokenBuffer::opened ( void  )
inlinevirtual

buffers are always "opened"

Reimplemented from moot::TokenReader.

◆ from_reader()

virtual void moot::TokenBuffer::from_reader ( TokenReader reader)
virtual

Append all remaining tokens from reader th buffer

◆ to_writer()

virtual void moot::TokenBuffer::to_writer ( TokenWriter writer)
virtual

Flush buffer contents to writer ; wraps TokenWriter::put_tokens()

◆ clear_buffer()

virtual void moot::TokenBuffer::clear_buffer ( )
virtual

clears internal buffer

◆ get_token()

virtual mootTokenType moot::TokenBuffer::get_token ( void  )
virtual

Get the next token from the buffer. On completion, current token (if any) is in *tr_token.

Reimplemented from moot::TokenReader.

◆ get_sentence()

virtual mootTokenType moot::TokenBuffer::get_sentence ( void  )
virtual

Read in next sentence. On completion, current sentence (if any) is in *tr_sentence. Descendants may override this method for sentence-wise input.

Reimplemented from moot::TokenReader.

◆ put_token()

virtual void moot::TokenBuffer::put_token ( const mootToken token)
virtual

Write a single token to the currently selected output sink. Local override just appends token to tb_buffer

Reimplemented from moot::TokenWriter.

◆ put_tokens()

virtual void moot::TokenBuffer::put_tokens ( const mootSentence tokens)
virtual

Write a single (partial) sentence to the currently selected output sink. Local override just appends tokens tb_buffer

Reimplemented from moot::TokenWriter.

◆ put_sentence()

virtual void moot::TokenBuffer::put_sentence ( const mootSentence tokens)
virtual

Write a single sentence to the currently selected output sink. Local override appends tokens and an EOS-token to tb_buffer

Reimplemented from moot::TokenWriter.

◆ put_raw_buffer()

virtual void moot::TokenBuffer::put_raw_buffer ( const char *  buf,
size_t  len 
)
virtual

Write some data to the currently selected output sink Descendants may override this method.

Reimplemented from moot::TokenWriter.

Member Data Documentation

◆ tb_buffer

Buffer moot::TokenBuffer::tb_buffer

underlying data buffer

◆ tb_sentence

mootSentence moot::TokenBuffer::tb_sentence

secondary buffer for get_sentence()


The documentation for this class was generated from the following file: