faudes::TokenWriter Class Reference

#include <tokenwriter.h>

List of all members.


Detailed Description

A TokenWriter writes sequential tokens to a file, a string or stdout.

It is the counterpart of the TokenReader. Since wrtiting data comparatively straight foreward, there is no explicit support of sections etc. It is left to the calling function to organise the output.

Definition at line 38 of file tokenwriter.h.

Public Types

enum  Mode { File, Stdout, String }
 Mode of operation: write to from file, string or stdout. More...

Public Member Functions

 TokenWriter (Mode mode)
 Console or String TokenWriter constructor.
 TokenWriter (const std::string &rFilename, std::ios::openmode openmode=std::ios::out|std::ios::trunc)
 File TokenWriter constructor.
 ~TokenWriter (void)
 Destructor.
std::string FileName (void) const
 Get the filename.
Mode DestMode (void) const
 Get file mode.
std::string Str (void)
 Retrieve output as string (if in String mode).
int Columns (void) const
 Get number of columns in a line.
void Columns (int columns)
 Set number of columns in a line.
void Endl (void)
 Write endl separator (obmitted in String mode).
void Write (Token &rToken)
 Write next token.
void WriteString (const std::string &rString)
 Write string (may not contain any quotes.
void WriteInteger (Idx index)
 Write non negative integer.
void WriteFloat (const double &val)
 Write float.
void WriteInteger16 (long int val)
 Write integer as hex.
void WriteOption (const std::string &rOpt)
 Write option (may not contain any "+").
void WriteBegin (const std::string &rLabel)
 Write begin label.
void WriteEnd (const std::string &rLabel)
 Write end label.
void WriteComment (const std::string &rComment)
 Write comment.
TokenWriteroperator<< (Token &rToken)
 Operator for writing tokens.
TokenWriteroperator<< (const std::string &rString)
 Operator for writing std::strings to a stream.
TokenWriteroperator<< (const Idx index)
 Operator for writing Idxs to a stream.

Private Attributes

Mode mMode
 output mode
std::ostream * mpStream
 ostream object pointer
std::ofstream mFStream
 actual stream object, file output
std::ostringstream mSStream
 actual stream object, string output
std::string mFileName
 Filename.
int mColumns
 Number of columns.
int mColCount
 Column counter.


Member Enumeration Documentation

enum faudes::TokenWriter::Mode
 

Mode of operation: write to from file, string or stdout.

Enumerator:
File 
Stdout 
String 

Definition at line 45 of file tokenwriter.h.


Constructor & Destructor Documentation

faudes::TokenWriter::TokenWriter Mode  mode  ) 
 

Console or String TokenWriter constructor.

Technical detail: the console tokenwriter holds a ref. to std::cout; it will behave strange and perhaps cause segfaults if it is instantiated befor std::cout is up; you can avoid this issue by instantiating you console tokenwriter using the new operator.

Exceptions:
Exception 

Definition at line 46 of file tokenwriter.cpp.

faudes::TokenWriter::TokenWriter const std::string &  rFilename,
std::ios::openmode  openmode = std::ios::out|std::ios::trunc
 

File TokenWriter constructor.

Parameters:
rFilename File to write
openmode std::ios::openmode
Exceptions:
Exception 

Definition at line 29 of file tokenwriter.cpp.

faudes::TokenWriter::~TokenWriter void   ) 
 

Destructor.

Calls close

Definition at line 84 of file tokenwriter.cpp.


Member Function Documentation

void faudes::TokenWriter::Columns int  columns  ) 
 

Set number of columns in a line.

Parameters:
columns # of columns in a line

Definition at line 104 of file tokenwriter.cpp.

int faudes::TokenWriter::Columns void   )  const
 

Get number of columns in a line.

Returns:
# of columns in a line

Definition at line 99 of file tokenwriter.cpp.

Mode faudes::TokenWriter::DestMode void   )  const [inline]
 

Get file mode.

Returns:
Mode

Definition at line 92 of file tokenwriter.h.

void faudes::TokenWriter::Endl void   ) 
 

Write endl separator (obmitted in String mode).

Exceptions:
Exception 

Definition at line 109 of file tokenwriter.cpp.

std::string faudes::TokenWriter::FileName void   )  const
 

Get the filename.

Return dummy values for console or string mode.

Returns:
Filename

Definition at line 230 of file tokenwriter.cpp.

TokenWriter& faudes::TokenWriter::operator<< const Idx  index  )  [inline]
 

Operator for writing Idxs to a stream.

Parameters:
index Index to write
Returns:
Reference to this TokenWriter
Exceptions:
Exception 

Definition at line 256 of file tokenwriter.h.

TokenWriter& faudes::TokenWriter::operator<< const std::string &  rString  )  [inline]
 

Operator for writing std::strings to a stream.

Parameters:
rString String to write
Returns:
Reference to this TokenWriter
Exceptions:
Exception 

Definition at line 241 of file tokenwriter.h.

TokenWriter& faudes::TokenWriter::operator<< Token rToken  )  [inline]
 

Operator for writing tokens.

Parameters:
rToken Token to write
Returns:
Reference to this TokenWriter
Exceptions:
Exception 

Definition at line 226 of file tokenwriter.h.

std::string faudes::TokenWriter::Str void   ) 
 

Retrieve output as string (if in String mode).

Exceptions:
Exception 

Definition at line 89 of file tokenwriter.cpp.

void faudes::TokenWriter::Write Token rToken  ) 
 

Write next token.

Parameters:
rToken Token to write
Exceptions:
Exception 

Definition at line 123 of file tokenwriter.cpp.

void faudes::TokenWriter::WriteBegin const std::string &  rLabel  ) 
 

Write begin label.

Parameters:
rLabel End label, e.g. "Alphabet"
Exceptions:
Exception 

Definition at line 194 of file tokenwriter.cpp.

void faudes::TokenWriter::WriteComment const std::string &  rComment  ) 
 

Write comment.

Parameters:
rComment Comment to write
Exceptions:
Exception 

Definition at line 208 of file tokenwriter.cpp.

void faudes::TokenWriter::WriteEnd const std::string &  rLabel  ) 
 

Write end label.

Parameters:
rLabel End label, e.g. "Alphabet"
Exceptions:
Exception 

Definition at line 201 of file tokenwriter.cpp.

void faudes::TokenWriter::WriteFloat const double &  val  ) 
 

Write float.

Parameters:
val float to write
Exceptions:
Exception 

Definition at line 178 of file tokenwriter.cpp.

void faudes::TokenWriter::WriteInteger Idx  index  ) 
 

Write non negative integer.

Parameters:
index Integer to write
Exceptions:
Exception 

Definition at line 164 of file tokenwriter.cpp.

void faudes::TokenWriter::WriteInteger16 long int  val  ) 
 

Write integer as hex.

Parameters:
val Integer to write
Exceptions:
Exception 

Definition at line 171 of file tokenwriter.cpp.

void faudes::TokenWriter::WriteOption const std::string &  rOpt  ) 
 

Write option (may not contain any "+").

Parameters:
rOpt option to write
Exceptions:
Exception 

Definition at line 186 of file tokenwriter.cpp.

void faudes::TokenWriter::WriteString const std::string &  rString  ) 
 

Write string (may not contain any quotes.

Parameters:
rString String to write
Exceptions:
Exception 

Definition at line 151 of file tokenwriter.cpp.


Member Data Documentation

int faudes::TokenWriter::mColCount [private]
 

Column counter.

Definition at line 282 of file tokenwriter.h.

int faudes::TokenWriter::mColumns [private]
 

Number of columns.

Definition at line 279 of file tokenwriter.h.

std::string faudes::TokenWriter::mFileName [private]
 

Filename.

Definition at line 276 of file tokenwriter.h.

std::ofstream faudes::TokenWriter::mFStream [private]
 

actual stream object, file output

Definition at line 270 of file tokenwriter.h.

Mode faudes::TokenWriter::mMode [private]
 

output mode

Definition at line 264 of file tokenwriter.h.

std::ostream* faudes::TokenWriter::mpStream [private]
 

ostream object pointer

Definition at line 267 of file tokenwriter.h.

std::ostringstream faudes::TokenWriter::mSStream [private]
 

actual stream object, string output

Definition at line 273 of file tokenwriter.h.


The documentation for this class was generated from the following files:
Generated on Mon Nov 10 08:13:17 2008 for libFAUDES 2.11v by  doxygen 1.4.4