Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Member Functions | Protected Attributes | List of all members
SVOutStream Class Reference

Stream class for writing to comma/tab/...-separated values files. More...

#include <OpenMS/FORMAT/SVOutStream.h>

Inheritance diagram for SVOutStream:

Public Member Functions

 SVOutStream (std::ostream &out, const String &sep="\t", const String &replacement="_", String::QuotingMethod quoting=String::DOUBLE)
 Constructor. More...
 
SVOutStreamoperator<< (String str)
 Stream output operator for String. More...
 
SVOutStreamoperator<< (const std::string &str)
 Stream output operator for std::string. More...
 
SVOutStreamoperator<< (const char *c_str)
 Stream output operator for char*. More...
 
SVOutStreamoperator<< (const char c)
 Stream output operator for char. More...
 
SVOutStreamoperator<< (std::ostream &(*fp)(std::ostream &))
 Stream output operator for manipulators (used to catch std::endl) More...
 
SVOutStreamoperator<< (enum Newline)
 Stream output operator for custom newline (nl) without flushing. More...
 
template<typename T >
SVOutStreamoperator<< (const T &value)
 Generic stream output operator (for non-character-based types) More...
 
SVOutStreamwrite (const String &str)
 Unformatted output (no quoting: useful for comments, but use only on a line of its own!) More...
 
bool modifyStrings (bool modify)
 Switch modification of strings (quoting/replacing of separators) on/off. More...
 
template<typename NumericT >
SVOutStreamwriteValueOrNan (NumericT thing)
 Write a numeric value or "nan"/"inf"/"-inf", if applicable (would not be needed for Linux) More...
 

Protected Attributes

String sep_
 Separator string. More...
 
String replacement_
 Replacement for separator. More...
 
String nan_
 String to use for NaN values. More...
 
String inf_
 String to use for Inf values. More...
 
String::QuotingMethod quoting_
 String quoting method. More...
 
bool modify_strings_
 On/off switch for modification of strings. More...
 
bool newline_
 Are we at the beginning of a line? (Otherwise, insert separator before next item.) More...
 
std::stringstream ss_
 Stream for testing if a manipulator is "std::endl". More...
 

Detailed Description

Stream class for writing to comma/tab/...-separated values files.

Automatically inserts separators between items and handles quoting of strings. Requires nl (preferred) or std::endl as the line delimiter - "\n" won't be accepted.

Constructor & Destructor Documentation

SVOutStream ( std::ostream &  out,
const String sep = "\t",
const String replacement = "_",
String::QuotingMethod  quoting = String::DOUBLE 
)

Constructor.

Parameters
outOutput stream to write to (open file or cout)
sepSeparator string (typically comma, semicolon, or tab)
replacementIf quoting is NONE, used to replace occurrences of sep within strings before writing them
quotingQuoting method for strings (see String::quote)

Member Function Documentation

bool modifyStrings ( bool  modify)

Switch modification of strings (quoting/replacing of separators) on/off.

Returns
previous modification state
SVOutStream& operator<< ( String  str)

Stream output operator for String.

The argument is quoted before writing; it must not contain the newline character

SVOutStream& operator<< ( const std::string &  str)

Stream output operator for std::string.

The argument is quoted before writing; it must not contain the newline character

SVOutStream& operator<< ( const char *  c_str)

Stream output operator for char*.

The argument is quoted before writing; it must not contain the newline character

SVOutStream& operator<< ( const char  c)

Stream output operator for char.

The argument is quoted before writing; it must not contain the newline character

SVOutStream& operator<< ( std::ostream &(*)(std::ostream &)  fp)

Stream output operator for manipulators (used to catch std::endl)

SVOutStream& operator<< ( enum  Newline)

Stream output operator for custom newline (nl) without flushing.

Use "nl" instead of "endl" for improved performance

SVOutStream& operator<< ( const T &  value)
inline

Generic stream output operator (for non-character-based types)

SVOutStream& write ( const String str)

Unformatted output (no quoting: useful for comments, but use only on a line of its own!)

SVOutStream& writeValueOrNan ( NumericT  thing)
inline

Write a numeric value or "nan"/"inf"/"-inf", if applicable (would not be needed for Linux)

References OpenMS::operator<<().

Member Data Documentation

String inf_
protected

String to use for Inf values.

bool modify_strings_
protected

On/off switch for modification of strings.

String nan_
protected

String to use for NaN values.

bool newline_
protected

Are we at the beginning of a line? (Otherwise, insert separator before next item.)

String::QuotingMethod quoting_
protected

String quoting method.

String replacement_
protected

Replacement for separator.

String sep_
protected

Separator string.

std::stringstream ss_
protected

Stream for testing if a manipulator is "std::endl".


OpenMS / TOPP release 2.0.0 Documentation generated on Thu Aug 20 2015 01:44:41 using doxygen 1.8.9.1