libFAUDES

Sections

Index

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.

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.
void WriteBinary (const char *pData, long int len)
 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

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

Enumerator:
File 
Stdout 
String 


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 

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 

faudes::TokenWriter::~TokenWriter ( void   ) 

Destructor.

Calls close


Member Function Documentation

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

Get the filename.

Return dummy values for console or string mode.

Returns:
Filename

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

Get file mode.

Returns:
Mode

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

Retrieve output as string (if in String mode).

Exceptions:
Exception 

int faudes::TokenWriter::Columns ( void   )  const

Get number of columns in a line.

Returns:
# of columns in a line

void faudes::TokenWriter::Columns ( int  columns  ) 

Set number of columns in a line.

Parameters:
columns # of columns in a line

void faudes::TokenWriter::Endl ( void   ) 

Write endl separator (obmitted in String mode).

Exceptions:
Exception 

void faudes::TokenWriter::Write ( Token rToken  ) 

Write next token.

Parameters:
rToken Token to write
Exceptions:
Exception 

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

Write string (may not contain any quotes.

Parameters:
rString String to write
Exceptions:
Exception 

void faudes::TokenWriter::WriteInteger ( Idx  index  ) 

Write non negative integer.

Parameters:
index Integer to write
Exceptions:
Exception 

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

Write float.

Parameters:
val float to write
Exceptions:
Exception 

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

Write integer as hex.

Parameters:
val Integer to write
Exceptions:
Exception 

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

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

Parameters:
rOpt option to write
Exceptions:
Exception 

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

Write begin label.

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

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

Write end label.

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

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

Write comment.

Parameters:
rComment Comment to write
Exceptions:
Exception 

void faudes::TokenWriter::WriteBinary ( const char *  pData,
long int  len 
)

Write comment.

Parameters:
len Number of bytes to write
pData Data to write
Exceptions:
Exception 

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

Operator for writing tokens.

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

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 

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 


Member Data Documentation

output mode

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

ostream object pointer

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

actual stream object, file output

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

actual stream object, string output

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

Filename.

Number of columns.

Column counter.


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

libFAUDES 2.13a c++ source docu by doxygen 1.5.6