Teuchos Package Browser (Single Doxygen Collection) Version of the Day
Protected Member Functions | Static Private Member Functions | Private Attributes
Teuchos::VerboseObjectBase Class Reference

Non-templated base class for objects that can print their activities to a stream. More...

#include <Teuchos_VerboseObject.hpp>

Inheritance diagram for Teuchos::VerboseObjectBase:
Inheritance graph
[legend]

List of all members.

Protected Member Functions

virtual void informUpdatedVerbosityState () const
 Function that is called whenever the verbosity state is updated.

Static Private Member Functions

static RCP< FancyOStream > & privateDefaultOStream ()

Private Attributes

std::string thisLinePrefix_
RCP< FancyOStreamthisOStream_
RCP< FancyOStreamthisOverridingOStream_

Public static member functions

static void setDefaultOStream (const RCP< FancyOStream > &defaultOStream)
 Set the default output stream object.
static RCP< FancyOStreamgetDefaultOStream ()
 Get the default output stream object.

Constructors/Initializers

virtual ~VerboseObjectBase ()
 
 VerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null)
 Calls initializeVerboseObject().
virtual void initializeVerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null)
 Calls initializeVerboseObject().
virtual const VerboseObjectBasesetOStream (const RCP< FancyOStream > &oStream) const
 The output stream for *this object.
virtual const VerboseObjectBasesetOverridingOStream (const RCP< FancyOStream > &oStream) const
 Set the overriding the output stream for *this object.
virtual VerboseObjectBasesetLinePrefix (const std::string &linePrefix)
 Set line prefix name for this object.

Query functions

virtual RCP< FancyOStreamgetOStream () const
 Return the output stream to be used for out for *this object.
virtual RCP< FancyOStreamgetOverridingOStream () const
 Return the the overriding output stream if set.
virtual std::string getLinePrefix () const
 Get the line prefix for this object.

Utilities

virtual OSTab getOSTab (const int tabs=1, const std::string &linePrefix="") const
 Create a tab object which sets the number of tabs and optionally the line prefix.

Detailed Description

Non-templated base class for objects that can print their activities to a stream.

Objects that derive from this interface print to a default class-owned (i.e. static) output stream object (set using setDefaultOStream()) or the output stream can be set on an object-by-object basis using setOStream().

The output stream type is FancyOStream which allows for automated indentation (using the OSTab class) and has other useful features.

Definition at line 66 of file Teuchos_VerboseObject.hpp.


Constructor & Destructor Documentation

Teuchos::VerboseObjectBase::~VerboseObjectBase ( ) [virtual]

Definition at line 84 of file Teuchos_VerboseObject.cpp.

Teuchos::VerboseObjectBase::VerboseObjectBase ( const RCP< FancyOStream > &  oStream = Teuchos::null) [explicit]

Calls initializeVerboseObject().

Definition at line 91 of file Teuchos_VerboseObject.cpp.


Member Function Documentation

void Teuchos::VerboseObjectBase::setDefaultOStream ( const RCP< FancyOStream > &  defaultOStream) [static]

Set the default output stream object.

If this function is not called, then a default stream based on std::cout is used.

Definition at line 68 of file Teuchos_VerboseObject.cpp.

RCP< FancyOStream > Teuchos::VerboseObjectBase::getDefaultOStream ( ) [static]

Get the default output stream object.

Definition at line 77 of file Teuchos_VerboseObject.cpp.

void Teuchos::VerboseObjectBase::initializeVerboseObjectBase ( const RCP< FancyOStream > &  oStream = Teuchos::null) [virtual]

Calls initializeVerboseObject().

Definition at line 100 of file Teuchos_VerboseObject.cpp.

const VerboseObjectBase & Teuchos::VerboseObjectBase::setOStream ( const RCP< FancyOStream > &  oStream) const [virtual]

The output stream for *this object.

This function is supposed by called by general clients to set the output stream according to some general logic in the code.

Definition at line 110 of file Teuchos_VerboseObject.cpp.

const VerboseObjectBase & Teuchos::VerboseObjectBase::setOverridingOStream ( const RCP< FancyOStream > &  oStream) const [virtual]

Set the overriding the output stream for *this object.

This function is supposed to be called by special clients that want to set the output stream in a way that will not be overridden by setOStream().

Definition at line 119 of file Teuchos_VerboseObject.cpp.

VerboseObjectBase & Teuchos::VerboseObjectBase::setLinePrefix ( const std::string &  linePrefix) [virtual]

Set line prefix name for this object.

Definition at line 130 of file Teuchos_VerboseObject.cpp.

RCP< FancyOStream > Teuchos::VerboseObjectBase::getOStream ( ) const [virtual]

Return the output stream to be used for out for *this object.

Definition at line 142 of file Teuchos_VerboseObject.cpp.

RCP< FancyOStream > Teuchos::VerboseObjectBase::getOverridingOStream ( ) const [virtual]

Return the the overriding output stream if set.

This is the output stream that will be returned from getOStream() regardless that stream is set by setOStream().

Definition at line 153 of file Teuchos_VerboseObject.cpp.

std::string Teuchos::VerboseObjectBase::getLinePrefix ( ) const [virtual]

Get the line prefix for this object.

Definition at line 159 of file Teuchos_VerboseObject.cpp.

OSTab Teuchos::VerboseObjectBase::getOSTab ( const int  tabs = 1,
const std::string &  linePrefix = "" 
) const [virtual]

Create a tab object which sets the number of tabs and optionally the line prefix.

Parameters:
tabs[in] The number of relative tabs to add (if tabs > 0) or remove (if tabs < 0). If tabs == OSTab::DISABLE_TABBING then tabbing will be turned off temporarily.
linePrefix[in] Sets a line prefix that overrides this->getLinePrefix().

The side effects of these changes go away as soon as the returned OSTab object is destroyed at the end of the block of code.

Returns OSTab( this->getOStream(), tabs, linePrefix.length() ? linePrefix : this->getLinePrefix() )

Definition at line 168 of file Teuchos_VerboseObject.cpp.

void Teuchos::VerboseObjectBase::informUpdatedVerbosityState ( ) const [protected, virtual]

Function that is called whenever the verbosity state is updated.

Subclasses can override this function to be informed whenever the verbosity state of *this object gets updated.

The default implementation simply does nothing.

Definition at line 182 of file Teuchos_VerboseObject.cpp.

RCP< FancyOStream > & Teuchos::VerboseObjectBase::privateDefaultOStream ( ) [static, private]

Definition at line 52 of file Teuchos_VerboseObject.cpp.


Member Data Documentation

Definition at line 180 of file Teuchos_VerboseObject.hpp.

Definition at line 187 of file Teuchos_VerboseObject.hpp.

Definition at line 188 of file Teuchos_VerboseObject.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines