Wrapper for several output streams. A verbosity level is used to decide which stream to use and whether to really print a given message. Regardless of whether the verbosity level is set via a manipulator or via the member function, it is persistent until a new value is set. More...
#include <spxout.h>
Classes | |
struct | struct_Verbosity |
helper struct for the output operator More... | |
Public Types | |
Output control types | |
enum | Verbosity { ERROR = 0, WARNING = 1, DEBUG = 2, INFO1 = 3, INFO2 = 4, INFO3 = 5 } |
Verbosity level. More... | |
Public Member Functions | |
Construction / destruction | |
SPxOut () | |
constructor More... | |
virtual | ~SPxOut () |
destructor More... | |
SPxOut (const SPxOut &) | |
copy constructor More... | |
SPxOut & | operator= (const SPxOut &) |
assignment operator More... | |
Verbosity | |
virtual void | setVerbosity (const Verbosity &v) |
Verbosity | getVerbosity () const |
Wrappers for the current stream | |
bool | good () const |
bool | operator! () const |
std::streamsize | precision () const |
Private Attributes | |
Private data | |
Verbosity | m_verbosity |
verbosity level More... | |
std::ostream ** | m_streams |
array of pointers to internal streams, indexed by verbosity level More... | |
Getting / setting streams | |
virtual void | setStream (const Verbosity &verbosity, std::ostream &stream) |
Sets the stream for the specified verbosity level. More... | |
std::ostream & | getStream (const Verbosity &verbosity) const |
Returns the stream for the specified verbosity level. More... | |
std::ostream & | getCurrentStream () const |
Returns the stream for the current verbosity. More... | |
static void | setScientific (std::ostream &stream, int precision=8) |
Sets the precision of the stream to 16 and the floatfield to scientifix. More... | |
static void | setFixed (std::ostream &stream, int precision=8) |
Sets the precision of the stream to 8 and the floatfield to fixed. More... | |
template<typename T , typename... Args, typename std::enable_if< !std::is_base_of< EnableDebugOutput, T >::value, int >::type = 0> | |
static void | debug (const T *, Args &&... args) |
template<typename T , typename... Args, typename std::enable_if< std::is_base_of< EnableDebugOutput, T >::value, int >::type = 0> | |
static void | debug (const T *, Args &&... args) |
Wrapper for several output streams. A verbosity level is used to decide which stream to use and whether to really print a given message. Regardless of whether the verbosity level is set via a manipulator or via the member function, it is persistent until a new value is set.
Most ostream member functions are not provided here; use the corresponding stream manipulators (e.g., setprecision()
) instead. These are passed on to the current ostream, which is chosen according to the verbosity level. In particular, this means that the first element in an output stream should always be the verbosity. For instance, use
or
instead of
in order to make sure that std::setw( 15 )
is applied to the warning stream.
enum Verbosity |
SPxOut | ( | ) |
constructor
Definition at line 32 of file spxout.cpp.
References SPxOut::DEBUG, SPxOut::ERROR, SPxOut::INFO3, SPxOut::m_streams, soplex::spx_alloc(), and SPxOut::WARNING.
|
virtual |
destructor
Definition at line 47 of file spxout.cpp.
References SPxOut::m_streams, and soplex::spx_free().
copy constructor
Definition at line 63 of file spxout.cpp.
References SPxOut::DEBUG, SPxOut::ERROR, SPxOut::INFO3, SPxOut::m_streams, SPxOut::m_verbosity, soplex::spx_alloc(), and SPxOut::WARNING.
|
static |
Definition at line 203 of file spxout.h.
Referenced by SVSetBase< BP >::countUnusedMem(), SVSetBase< BP >::deleteVec(), SVSetBase< BP >::ensureMem(), SVSetBase< BP >::memPack(), SVSetBase< BP >::memRemax(), MPSInput::readLine(), SPxBasisBase< BP >::setStatus(), and SVSetBase< BP >::xtend().
|
static |
std::ostream& getCurrentStream | ( | ) | const |
Returns the stream for the current verbosity.
Definition at line 178 of file spxout.h.
Referenced by soplex::operator<<().
std::ostream& getStream | ( | const Verbosity & | verbosity | ) | const |
assignment operator
Definition at line 52 of file spxout.cpp.
References SPxOut::DEBUG, SPxOut::INFO3, SPxOut::m_streams, and SPxOut::m_verbosity.
std::streamsize precision | ( | ) | const |
Definition at line 153 of file spxout.h.
Referenced by runSoPlex().
|
static |
Sets the precision of the stream to 8 and the floatfield to fixed.
Definition at line 191 of file spxout.h.
Referenced by SPxLPBase< BP >::printProblemStatistics().
|
static |
|
virtual |
|
virtual |
Definition at line 125 of file spxout.h.
Referenced by soplex::operator<<().
|
private |
array of pointers to internal streams, indexed by verbosity level
Definition at line 225 of file spxout.h.
Referenced by SPxOut::operator=(), SPxOut::SPxOut(), and SPxOut::~SPxOut().
|
private |
verbosity level
Definition at line 223 of file spxout.h.
Referenced by SPxOut::operator=(), and SPxOut::SPxOut().