libFAUDES

Sections

Index

faudes::TokenWriter Class Reference

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

#include <cfl_tokenwriter.h>

List of all members.

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.
void Flush (void)
 Flush any buffers.
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.
void Endl (bool on)
 Turn endl separator on/off.
void Write (Token &rToken)
 Write next token.
void WriteString (const std::string &rString)
 Write string.
void WriteVerbatim (const std::string &rString)
 Write string.
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.
bool mEndl
 Endl seperator on/off.

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 cfl_tokenwriter.h.


Member Enumeration Documentation

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

Enumerator:
File 
Stdout 
String 

Definition at line 45 of file cfl_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 47 of file cfl_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 cfl_tokenwriter.cpp.

faudes::TokenWriter::~TokenWriter ( void   ) 

Destructor.

Calls close

Definition at line 87 of file cfl_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 113 of file cfl_tokenwriter.cpp.

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

Get number of columns in a line.

Returns:
# of columns in a line

Definition at line 108 of file cfl_tokenwriter.cpp.

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

Get file mode.

Returns:
Mode

Definition at line 98 of file cfl_tokenwriter.h.

void faudes::TokenWriter::Endl ( bool  on  ) 

Turn endl separator on/off.

Definition at line 131 of file cfl_tokenwriter.cpp.

void faudes::TokenWriter::Endl ( void   ) 

Write endl separator.

Exceptions:
Exception 

Definition at line 118 of file cfl_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 264 of file cfl_tokenwriter.cpp.

void faudes::TokenWriter::Flush ( void   ) 

Flush any buffers.

Definition at line 92 of file cfl_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 296 of file cfl_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 281 of file cfl_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 266 of file cfl_tokenwriter.h.

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

Retrieve output as string (if in String mode).

Exceptions:
Exception 

Definition at line 98 of file cfl_tokenwriter.cpp.

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

Write next token.

Parameters:
rToken Token to write
Exceptions:
Exception 

Definition at line 137 of file cfl_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 224 of file cfl_tokenwriter.cpp.

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 

Definition at line 259 of file cfl_tokenwriter.cpp.

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

Write comment.

Parameters:
rComment Comment to write
Exceptions:
Exception 

Definition at line 238 of file cfl_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 231 of file cfl_tokenwriter.cpp.

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

Write float.

Parameters:
val float to write
Exceptions:
Exception 

Definition at line 208 of file cfl_tokenwriter.cpp.

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

Write non negative integer.

Parameters:
index Integer to write
Exceptions:
Exception 

Definition at line 194 of file cfl_tokenwriter.cpp.

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

Write integer as hex.

Parameters:
val Integer to write
Exceptions:
Exception 

Definition at line 201 of file cfl_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 216 of file cfl_tokenwriter.cpp.

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

Write string.

Writes a std string token, i.e. enclosed in double quotes any quotes in the string will be escaped, controls ignored.

Parameters:
rString String to write
Exceptions:
Exception 

Definition at line 165 of file cfl_tokenwriter.cpp.

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

Write string.

Writes string enclosed in verbatim markes __VERBATIM__, incl controls.

Parameters:
rString String to write
Exceptions:
Exception 

Definition at line 178 of file cfl_tokenwriter.cpp.


Member Data Documentation

Column counter.

Definition at line 322 of file cfl_tokenwriter.h.

Number of columns.

Definition at line 319 of file cfl_tokenwriter.h.

Endl seperator on/off.

Definition at line 325 of file cfl_tokenwriter.h.

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

Filename.

Definition at line 316 of file cfl_tokenwriter.h.

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

Actual stream object, file output.

Definition at line 310 of file cfl_tokenwriter.h.

Output mode.

Definition at line 304 of file cfl_tokenwriter.h.

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

ostream object pointer

Definition at line 307 of file cfl_tokenwriter.h.

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

Actual stream object, string output.

Definition at line 313 of file cfl_tokenwriter.h.


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

libFAUDES 2.16b --- 2010-9-8 --- c++ source docu by doxygen 1.6.3