SoPlex
|
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 | |
virtual | ~SPxOut () |
destructor | |
SPxOut (const SPxOut &) | |
copy constructor | |
SPxOut & | operator= (const SPxOut &) |
assignment operator | |
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 | |
std::ostream ** | m_streams |
array of pointers to internal streams, indexed by verbosity level |
Getting / setting streams | |
virtual void | setStream (const Verbosity &verbosity, std::ostream &stream) |
Sets the stream for the specified verbosity level. | |
std::ostream & | getStream (const Verbosity &verbosity) const |
Returns the stream for the specified verbosity level. | |
std::ostream & | getCurrentStream () const |
Returns the stream for the current verbosity. | |
static void | setScientific (std::ostream &stream, int precision=8) |
Sets the precision of the stream to 16 and the floatfield to scientifix. | |
static void | setFixed (std::ostream &stream, int precision=8) |
Sets the precision of the stream to 8 and the floatfield to fixed. | |
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 DEBUG, ERROR, INFO3, m_streams, m_verbosity, soplex::spx_alloc(), and WARNING.
Referenced by operator=(), and SPxOut().
|
virtual |
copy constructor
Definition at line 63 of file spxout.cpp.
References DEBUG, ERROR, INFO3, m_streams, m_verbosity, soplex::spx_alloc(), SPxOut(), and WARNING.
|
static |
Definition at line 203 of file spxout.h.
Referenced by SVSetBase< Real >::countUnusedMem(), SVSetBase< Real >::deleteVec(), SVSetBase< Real >::ensureMem(), SVSetBase< Real >::memPack(), SVSetBase< Real >::memRemax(), MPSInput::readLine(), SPxBasisBase< Real >::setStatus(), and SVSetBase< Real >::xtend().
|
static |
std::ostream & getCurrentStream | ( | ) | const |
Returns the stream for the current verbosity.
Definition at line 178 of file spxout.h.
References getStream(), and getVerbosity().
Referenced by good(), operator!(), soplex::operator<<(), soplex::operator<<(), soplex::operator<<(), soplex::operator<<(), soplex::operator<<(), soplex::operator<<(), soplex::operator<<(), soplex::operator<<(), soplex::operator<<(), soplex::operator<<(), soplex::operator<<(), soplex::operator<<(), soplex::operator<<(), and 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 m_streams.
Referenced by getCurrentStream().
Verbosity getVerbosity | ( | ) | const |
bool good | ( | ) | const |
Definition at line 143 of file spxout.h.
References getCurrentStream().
bool operator! | ( | ) | const |
Definition at line 148 of file spxout.h.
References getCurrentStream().
assignment operator
Definition at line 52 of file spxout.cpp.
References DEBUG, INFO3, m_streams, m_verbosity, and SPxOut().
std::streamsize precision | ( | ) | const |
Definition at line 153 of file spxout.h.
References getCurrentStream().
Referenced by setFixed(), and setScientific().
|
static |
Sets the precision of the stream to 8 and the floatfield to fixed.
Definition at line 191 of file spxout.h.
References precision().
Referenced by SPxLPBase< Real >::printProblemStatistics().
|
static |
Sets the precision of the stream to 16 and the floatfield to scientifix.
Definition at line 185 of file spxout.h.
References precision().
|
virtual |
|
virtual |
Definition at line 125 of file spxout.h.
References 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 getStream(), operator=(), setStream(), SPxOut(), SPxOut(), and ~SPxOut().
|
private |
verbosity level
Definition at line 223 of file spxout.h.
Referenced by getVerbosity(), operator=(), setVerbosity(), SPxOut(), and SPxOut().