Teuchos - Trilinos Tools Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Protected Member Functions | List of all members
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:
Teuchos::VerboseObject< ObjectType >

Public Member Functions

Constructors/Initializers
virtual ~VerboseObjectBase ()
 
 VerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null)
 Calls initializeVerboseObject(). More...
 
virtual const VerboseObjectBasesetOStream (const RCP< FancyOStream > &oStream) const
 The output stream for *this object. More...
 
virtual const VerboseObjectBasesetOverridingOStream (const RCP< FancyOStream > &oStream) const
 Set the overriding the output stream for *this object. More...
 
virtual VerboseObjectBasesetLinePrefix (const std::string &linePrefix)
 Set line prefix name for this object. More...
 
Query functions
virtual RCP< FancyOStreamgetOStream () const
 Return the output stream to be used for out for *this object. More...
 
virtual RCP< FancyOStreamgetOverridingOStream () const
 Return the the overriding output stream if set. More...
 
virtual std::string getLinePrefix () const
 Get the line prefix for this object. More...
 
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. More...
 

Static Public Member Functions

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

Protected Member Functions

void initializeVerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null)
 Calls initializeVerboseObject(). More...
 
virtual void informUpdatedVerbosityState () const
 Function that is called whenever the verbosity state is updated. More...
 

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.

Examples:
FancyOutputting_test.cpp.

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.

Examples:
ArrayRCP_test.cpp, and FancyOutputting_test.cpp.

Definition at line 77 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 109 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 118 of file Teuchos_VerboseObject.cpp.

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

Set line prefix name for this object.

Definition at line 129 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 141 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 152 of file Teuchos_VerboseObject.cpp.

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

Get the line prefix for this object.

Definition at line 158 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 167 of file Teuchos_VerboseObject.cpp.

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

Calls initializeVerboseObject().

Definition at line 100 of file Teuchos_VerboseObject.cpp.

void Teuchos::VerboseObjectBase::informUpdatedVerbosityState ( ) const
protectedvirtual

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 181 of file Teuchos_VerboseObject.cpp.


The documentation for this class was generated from the following files: