42#ifndef TEUCHOS_VERBOSE_OBJECT_HPP
43#define TEUCHOS_VERBOSE_OBJECT_HPP
46#include "Teuchos_FancyOStream.hpp"
136 virtual std::string getLinePrefix()
const;
164 void initializeVerboseObjectBase(
176 virtual void informUpdatedVerbosityState()
const;
180 std::string thisLinePrefix_;
185#pragma warning(disable:4251)
233template<
class ObjectType>
312template<
class ObjectType>
324 if(verboseObject_.
get()) {
325 oldOStream_ = verboseObject_->getOStream();
326 oldVerbLevel_ = verboseObject_->getVerbLevel();
334 if(verboseObject_.
get()) {
335 verboseObject_->setOStream(oldOStream_);
336 verboseObject_->setVerbLevel(oldVerbLevel_);
362template<
class ObjectType>
369template<
class ObjectType>
372 return privateDefaultVerbLevel();
379template<
class ObjectType>
390template<
class ObjectType>
396 thisVerbLevel_ = verbLevel;
397 this->initializeVerboseObjectBase(
oStream);
401template<
class ObjectType>
405 thisVerbLevel_ = verbLevel;
406 informUpdatedVerbosityState();
411template<
class ObjectType>
417 thisOverridingVerbLevel_ = verbLevel;
418 informUpdatedVerbosityState();
426template<
class ObjectType>
430 return thisOverridingVerbLevel_;
432 return getDefaultVerbLevel();
433 return thisVerbLevel_;
440template<
class ObjectType>
Reference-counted pointer class and non-member templated function implementations.
Smart reference counting pointer class for automatic garbage collection.
RCP(ENull null_arg=null)
Initialize RCP<T> to NULL.
T * get() const
Get the raw C++ pointer to the underlying object.
Non-templated base class for objects that can print their activities to a stream.
Set and release a stream and verbosity level.
VerboseObjectTempState(const RCP< const VerboseObject< ObjectType > > &verboseObject, const RCP< FancyOStream > &newOStream, const EVerbosityLevel newVerbLevel)
~VerboseObjectTempState()
Templated base class for objects that can print their activities to a stream and have a verbosity lev...
static void setDefaultVerbLevel(const EVerbosityLevel defaultVerbLevel)
Set the default verbosity level.
virtual const VerboseObject & setVerbLevel(const EVerbosityLevel verbLevel) const
Set this object's verbosity level.
virtual EVerbosityLevel getVerbLevel() const
Get the verbosity level.
VerboseObject(const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null)
Constructor: calls initializeVerboseObject().
void initializeVerboseObject(const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null)
Initialize the VerboseObject.
static EVerbosityLevel getDefaultVerbLevel()
Get the default verbosity level.
virtual const VerboseObject & setOverridingVerbLevel(const EVerbosityLevel verbLevel) const
Set the overriding verbosity level for *this object.
Tabbing class for helping to create formated, indented output for a basic_FancyOStream object.
EVerbosityLevel
Verbosity level.
@ VERB_DEFAULT
Generate output as defined by the object.
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...