Teuchos Package Browser (Single Doxygen Collection)
Version of the Day
|
Templated base class for objects that can print their activities to a stream and have a verbosity level. More...
#include <Teuchos_VerboseObject.hpp>
Protected Member Functions | |
void | initializeVerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) |
Initialize the VerboseObject. More... | |
Protected Member Functions inherited from Teuchos::VerboseObjectBase | |
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... | |
Static Private Member Functions | |
static EVerbosityLevel & | privateDefaultVerbLevel () |
Private Attributes | |
EVerbosityLevel | thisVerbLevel_ |
EVerbosityLevel | thisOverridingVerbLevel_ |
Related Functions | |
(Note that these are not member functions.) | |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT RCP< const ParameterList > | getValidVerboseObjectSublist () |
Return the sublist of valid parameters for the "VerboseObject" sublist. More... | |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | setupVerboseObjectSublist (ParameterList *paramList) |
Setup a sublist called "VerboseObject" in the given parameter list. More... | |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | readVerboseObjectSublist (ParameterList *paramList, RCP< FancyOStream > *oStream, EVerbosityLevel *verbLevel) |
Read the parameters in the "VerboseObject" sublist and set them on the given VerboseObject. More... | |
template<class ObjectType > | |
void | readVerboseObjectSublist (ParameterList *paramList, VerboseObject< ObjectType > *verboseObject) |
Read the parameters in the "VerboseObject" sublist and set them on the given VerboseObject. More... | |
Public static member functions | |
static void | setDefaultVerbLevel (const EVerbosityLevel defaultVerbLevel) |
Set the default verbosity level. More... | |
static EVerbosityLevel | getDefaultVerbLevel () |
Get the default verbosity level. More... | |
Constructors/Initializers | |
VerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) | |
Constructor: calls initializeVerboseObject() . More... | |
virtual const VerboseObject & | setVerbLevel (const EVerbosityLevel verbLevel) const |
Set this object's verbosity level. More... | |
virtual const VerboseObject & | setOverridingVerbLevel (const EVerbosityLevel verbLevel) const |
Set the overriding verbosity level for *this object. More... | |
Query functions | |
virtual EVerbosityLevel | getVerbLevel () const |
Get the verbosity level. More... | |
Templated base class for objects that can print their activities to a stream and have a verbosity level.
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()
. In addition, each object, by default, has a verbosity level that is shared by all objects (set using setDefaultVerbosityLevel()
) or can be set on an object-by-object basis using setVerbLevel()
.
The output stream type is FancyOStream
which allows for automated indentation (using the OSTab
class) and has other useful features.
Note that setOStream()
and setVerbLevel()
are actually declared as const
functions. This is to allow a client to temporarily change the stream and verbosity level. To do this saftely, use the class VerboseObjectTempState
which will revert the output state after it is destroyed.
If the ParameterList subpackage of Teuchos is enabled (which it is by default), you may use the readVerboseObjectSublist nonmember function to pass a verbosity level and output stream filename to a VerboseObject using a ParameterList. The parameters are passed through a "VerboseObject" sublist of the input ParameterList. The sublist in turn takes optional parameters "Verbosity Level" (std::string) and "Output File" (std::string). "Verbosity Level" has six valid values: "VERB_DEFAULT", "VERB_NONE", "VERB_LOW", "VERB_MEDIUM", "VERB_HIGH", and "VERB_EXTREME". "VERB_DEFAULT" tells the object to use its default verbosity level, and the remaining values indicate increasing verbosity starting with "VERB_NONE" (say nothing). "Output File" is the name of a file to use for output; "none" means do not open a file, but write to the default output stream.
Definition at line 202 of file Teuchos_VerboseObject.hpp.
|
explicit |
Constructor: calls initializeVerboseObject()
.
Definition at line 348 of file Teuchos_VerboseObject.hpp.
|
static |
Set the default verbosity level.
If not called, then the default verbosity level is VERB_DEFAULT
.
Definition at line 331 of file Teuchos_VerboseObject.hpp.
|
static |
Get the default verbosity level.
Definition at line 338 of file Teuchos_VerboseObject.hpp.
|
virtual |
Set this object's verbosity level.
This function is supposed by called by general clients to set the output level according to some general logic in the code.
Definition at line 371 of file Teuchos_VerboseObject.hpp.
|
virtual |
Set the overriding verbosity level for *this
object.
This function is supposed to be called by special clients that want to set the output level in a way that will not be overridden by setOStream()
.
Definition at line 381 of file Teuchos_VerboseObject.hpp.
|
virtual |
Get the verbosity level.
Definition at line 395 of file Teuchos_VerboseObject.hpp.
|
protected |
Initialize the VerboseObject.
verbLevel | [in] Initial verbosity level. |
oStream | [in/out] Initial output stream. |
verbLevel
must be the same as the default value for defaultVerbLevel_
. Definition at line 359 of file Teuchos_VerboseObject.hpp.
|
staticprivate |
Definition at line 409 of file Teuchos_VerboseObject.hpp.
|
related |
Return the sublist of valid parameters for the "VerboseObject" sublist.
This function need not be directly called by clients since the function setupVerboseObjectSublist()
sets up the sublist automatically.
|
related |
Setup a sublist called "VerboseObject" in the given parameter list.
paramList | [in/out] The parameter list hat the "VerboseObject" sublist will be added to |
Preconditions:
paramList!=0
|
related |
Read the parameters in the "VerboseObject" sublist and set them on the given VerboseObject.
paramList | [in/out] On input, contains the user's parameter list for the given objet for which "VerboseObject" can be a sublist of. |
oStream | [out] The oStream object to be used. On output, oStream->get()!=0 if an output stream was specified by the parameter sublist. |
verbLevel | [out] The verbosity level to be used. On output, *verbLevel gives the verbosity level set in the parameter list. If no verbosity level was set, then a value of *verbLevel==VERB_DEFAULT will be set on return. |
Preconditions:
oStream!=0
verbLevel!=0
|
related |
Read the parameters in the "VerboseObject" sublist and set them on the given VerboseObject.
paramList | [in/out] On input, contains the user's parameter list for the given object of which "VerboseObject" can be a sublist. |
verboseObject | [in/out] The verbose object that will have its verbosity level and/or output stream set. |
This function just calls the above nontemplated readVerboseObjectSublist()
to validate and and read the verbosity and output stream from the "VerboseObject" sublist.
|
mutableprivate |
Definition at line 269 of file Teuchos_VerboseObject.hpp.
|
mutableprivate |
Definition at line 270 of file Teuchos_VerboseObject.hpp.