![]() |
OpenMS
|
Stream class for writing to comma/tab/...-separated values files. More...
#include <OpenMS/FORMAT/SVOutStream.h>
Public Member Functions | |
| SVOutStream (const String &file_out, const String &sep="\t", const String &replacement="_", String::QuotingMethod quoting=String::DOUBLE) | |
| Constructor. More... | |
| SVOutStream (std::ostream &out, const String &sep="\t", const String &replacement="_", String::QuotingMethod quoting=String::DOUBLE) | |
| Constructor. More... | |
| ~SVOutStream () override | |
| Destructor. More... | |
| SVOutStream & | operator<< (String str) |
Stream output operator for String. More... | |
| SVOutStream & | operator<< (const std::string &str) |
Stream output operator for std::string. More... | |
| SVOutStream & | operator<< (const char *c_str) |
Stream output operator for char*. More... | |
| SVOutStream & | operator<< (const char c) |
Stream output operator for char. More... | |
| SVOutStream & | operator<< (std::ostream &(*fp)(std::ostream &)) |
Stream output operator for manipulators (used to catch std::endl) More... | |
| SVOutStream & | operator<< (enum Newline) |
Stream output operator for custom newline (nl) without flushing. More... | |
| template<typename T > | |
| std::enable_if< std::is_arithmetic< typename std::remove_reference< T >::type >::value, SVOutStream & >::type | operator<< (const T &value) |
| template<typename T > | |
| std::enable_if<!std::is_arithmetic< typename std::remove_reference< T >::type >::value, SVOutStream & >::type | operator<< (const T &value) |
| Generic stream output operator (for non-character-based types) More... | |
| SVOutStream & | write (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 > | |
| SVOutStream & | writeValueOrNan (NumericT thing) |
| Write a numeric value or "nan"/"inf"/"-inf", if applicable (would not be needed for Linux) More... | |
Protected Attributes | |
| std::ofstream * | ofs_ |
| internal file stream when C'tor is called with a filename More... | |
| 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... | |
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.
| SVOutStream | ( | const String & | file_out, |
| const String & | sep = "\t", |
||
| const String & | replacement = "_", |
||
| String::QuotingMethod | quoting = String::DOUBLE |
||
| ) |
Constructor.
| file_out | Output filename; will be overwritten if exists |
| sep | Separator string (typically comma, semicolon, or tab) |
| replacement | If quoting is NONE, used to replace occurrences of sep within strings before writing them |
| quoting | Quoting method for strings (see String::quote) |
| SVOutStream | ( | std::ostream & | out, |
| const String & | sep = "\t", |
||
| const String & | replacement = "_", |
||
| String::QuotingMethod | quoting = String::DOUBLE |
||
| ) |
Constructor.
| out | Output stream to write to (open file or cout) |
| sep | Separator string (typically comma, semicolon, or tab) |
| replacement | If quoting is NONE, used to replace occurrences of sep within strings before writing them |
| quoting | Quoting method for strings (see String::quote) |
|
override |
Destructor.
Frees ofstream_* if filename c'tor was used.
| bool modifyStrings | ( | bool | modify | ) |
Switch modification of strings (quoting/replacing of separators) on/off.
Referenced by NucleicAcidSearchEngine::generateLFQInput_().
| 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<< | ( | const std::string & | str | ) |
Stream output operator for std::string.
The argument is quoted before writing; it must not contain the newline character
|
inline |
numeric types should be converted to String first to make use of StringConversion
|
inline |
Generic stream output operator (for non-character-based types)
| SVOutStream& operator<< | ( | enum | Newline | ) |
Stream output operator for custom newline (nl) without flushing.
Use "nl" instead of "endl" for improved performance
| SVOutStream& operator<< | ( | std::ostream &(*)(std::ostream &) | fp | ) |
Stream output operator for manipulators (used to catch std::endl)
| SVOutStream& operator<< | ( | String | str | ) |
Stream output operator for String.
The argument is quoted before writing; it must not contain the newline character
| SVOutStream& write | ( | const String & | str | ) |
Unformatted output (no quoting: useful for comments, but use only on a line of its own!)
|
inline |
Write a numeric value or "nan"/"inf"/"-inf", if applicable (would not be needed for Linux)
References OpenMS::operator<<().
|
protected |
On/off switch for modification of strings.
|
protected |
Are we at the beginning of a line? (Otherwise, insert separator before next item.)
|
protected |
internal file stream when C'tor is called with a filename
|
protected |
String quoting method.
|
protected |
Replacement for separator.
|
protected |
Separator string.
|
protected |
Stream for testing if a manipulator is "std::endl".