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< R >::countUnusedMem(), SVSetBase< R >::deleteVec(), SVSetBase< R >::ensureMem(), SVSetBase< R >::memPack(), SVSetBase< R >::memRemax(), MPSInput::readLine(), SPxBasisBase< R >::setStatus(), and SVSetBase< R >::xtend().
std::ostream & getCurrentStream | ( | ) | const |
Returns the stream for the current verbosity.
Definition at line 178 of file spxout.h.
References SPxOut::getStream(), and SPxOut::getVerbosity().
Referenced by SPxOut::good(), SPxOut::operator!(), soplex::operator<<(), and SPxOut::precision().
std::ostream & getStream | ( | const Verbosity & | verbosity | ) | const |
Returns the stream for the specified verbosity level.
Definition at line 171 of file spxout.h.
References SPxOut::m_streams.
Referenced by SPxOut::getCurrentStream().
Verbosity getVerbosity | ( | ) | const |
Definition at line 131 of file spxout.h.
References SPxOut::m_verbosity.
Referenced by SPxOut::getCurrentStream().
bool good | ( | ) | const |
Definition at line 143 of file spxout.h.
References SPxOut::getCurrentStream().
bool operator! | ( | ) | const |
Definition at line 148 of file spxout.h.
References SPxOut::getCurrentStream().
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.
References SPxOut::getCurrentStream().
Referenced by SPxOut::setFixed(), and SPxOut::setScientific().
|
static |
Sets the precision of the stream to 8 and the floatfield to fixed.
Definition at line 191 of file spxout.h.
References SPxOut::precision().
Referenced by SPxLPBase< R >::printProblemStatistics().
|
static |
Sets the precision of the stream to 16 and the floatfield to scientifix.
Definition at line 185 of file spxout.h.
References SPxOut::precision().
|
virtual |
Sets the stream for the specified verbosity level.
Definition at line 164 of file spxout.h.
References SPxOut::m_streams.
|
virtual |
Definition at line 125 of file spxout.h.
References SPxOut::m_verbosity.
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::getStream(), SPxOut::operator=(), SPxOut::setStream(), SPxOut::SPxOut(), and SPxOut::~SPxOut().
|
private |
verbosity level
Definition at line 223 of file spxout.h.
Referenced by SPxOut::getVerbosity(), SPxOut::operator=(), SPxOut::setVerbosity(), and SPxOut::SPxOut().