42 #ifndef TEUCHOS_VERBOSE_OBJECT_HPP 43 #define TEUCHOS_VERBOSE_OBJECT_HPP 46 #include "Teuchos_FancyOStream.hpp" 99 virtual void initializeVerboseObjectBase(
142 virtual std::string getLinePrefix()
const;
162 virtual OSTab getOSTab(
const int tabs = 1,
const std::string &linePrefix =
"")
const;
176 virtual void informUpdatedVerbosityState()
const;
180 std::string thisLinePrefix_;
184 #pragma warning(push) 185 #pragma warning(disable:4251) 233 template<
class ObjectType>
243 static void setDefaultVerbLevel(
const EVerbosityLevel defaultVerbLevel);
266 virtual void initializeVerboseObject(
310 template<
class ObjectType>
319 verboseObject_(verboseObject),
322 if(verboseObject_.get()) {
323 oldOStream_ = verboseObject_->getOStream();
324 oldVerbLevel_ = verboseObject_->getVerbLevel();
325 verboseObject_->setOStream(newOStream);
326 verboseObject_->setVerbLevel(newVerbLevel);
332 if(verboseObject_.get()) {
333 verboseObject_->setOStream(oldOStream_);
334 verboseObject_->setVerbLevel(oldVerbLevel_);
360 template<
class ObjectType>
363 privateDefaultVerbLevel() = defaultVerbLevel;
367 template<
class ObjectType>
370 return privateDefaultVerbLevel();
377 template<
class ObjectType>
388 template<
class ObjectType>
394 thisVerbLevel_ = verbLevel;
399 template<
class ObjectType>
403 thisVerbLevel_ = verbLevel;
409 template<
class ObjectType>
415 thisOverridingVerbLevel_ = verbLevel;
424 template<
class ObjectType>
428 return thisOverridingVerbLevel_;
431 return thisVerbLevel_;
438 template<
class ObjectType>
442 return defaultVerbLevel;
449 #endif // TEUCHOS_VERBOSE_OBJECT_HPP Generate output as defined by the object.
static void setDefaultVerbLevel(const EVerbosityLevel defaultVerbLevel)
Set the default verbosity level.
EVerbosityLevel
Verbosity level.
Tabbing class for helping to create formated, indented output for a basic_FancyOStream object...
virtual void initializeVerboseObject(const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null)
Initialize the VerboseObject.
Set and release a stream and verbosity level.
VerboseObjectTempState(const RCP< const VerboseObject< ObjectType > > &verboseObject, const RCP< FancyOStream > &newOStream, const EVerbosityLevel newVerbLevel)
Templated base class for objects that can print their activities to a stream and have a verbosity lev...
static EVerbosityLevel getDefaultVerbLevel()
Get the default verbosity level.
Non-templated base class for objects that can print their activities to a stream. ...
virtual const VerboseObject & setVerbLevel(const EVerbosityLevel verbLevel) const
Set this object's verbosity level.
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos, as well as a number of utility routines.
virtual void initializeVerboseObjectBase(const RCP< FancyOStream > &oStream=Teuchos::null)
Calls initializeVerboseObject().
VerboseObject(const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null)
Constructor: calls initializeVerboseObject().
Smart reference counting pointer class for automatic garbage collection.
~VerboseObjectTempState()
virtual EVerbosityLevel getVerbLevel() const
Get the verbosity level.
Reference-counted pointer class and non-member templated function implementations.
virtual void informUpdatedVerbosityState() const
Function that is called whenever the verbosity state is updated.
virtual const VerboseObject & setOverridingVerbLevel(const EVerbosityLevel verbLevel) const
Set the overriding verbosity level for *this object.