Dakota
Version
Explore and Predict with Confidence
|
Public Member Functions | |
ConsoleRedirector (std::ostream *&dakota_stream, std::ostream *default_dest) | |
Constructor taking a reference to the Dakota Cout/Cerr handle and a default destination to use when no redirection (or destruct) | |
~ConsoleRedirector () | |
when the redirector stack is destroyed, it will rebind the output handle to the default ostream, then destroy open files | |
void | push_back () |
push back the default or repeat the last pushed file stream | |
void | push_back (const String &filename) |
push back a new output filestream, or repeat the last one if no filename change | |
void | pop_back () |
pop the last redirection | |
Protected Attributes | |
std::ostream *& | ostreamHandle |
The handle (target ostream) through which output is sent; typically dakota_cout or dakota_cerr. Will be rebound to specific streams as they are pushed or popped. | |
std::ostream * | defaultOStream |
initial stream to reset to when redirections are done (typically std::cout or std::cerr) | |
std::vector< std::shared_ptr< OutputWriter > > | ostreamDestinations |
stack of redirections to OutputWriters; shared pointers are used to potentially share the same ostream at multiple levels | |
Private Member Functions | |
ConsoleRedirector () | |
default constructor is disallowed | |
ConsoleRedirector (const ConsoleRedirector &) | |
copy constructor is disallowed due | |
const ConsoleRedirector & | operator= (const ConsoleRedirector &) |
assignment is disallowed | |
Component to manage a set of output or error redirections. Push operations may present a new filename, or none in order to preserve current binding to cout/cerr or file, but place an entry on the stack. Cout/Cerr are rebound as needed when a stream is destroyed on pop.