10#ifndef TEUCHOS_DESCRIBABLE_HPP
11#define TEUCHOS_DESCRIBABLE_HPP
14#include "Teuchos_FancyOStream.hpp"
15#include "Teuchos_LabeledObject.hpp"
143struct DescribableStreamManipulatorState {
146 DescribableStreamManipulatorState(
150 :describable(_describable)
151 ,verbLevel(_verbLevel)
182 return DescribableStreamManipulatorState(describable,verbLevel);
214 std::ostream& os,
const DescribableStreamManipulatorState& d
Base class for all objects that can describe themselves.
static const EVerbosityLevel verbLevel_default
Default value for the verbLevel argument of describe().
std::ostream & operator<<(std::ostream &os, const DescribableStreamManipulatorState &d)
Output stream operator for Describable manipulator.
DescribableStreamManipulatorState describe(const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
Describable output stream manipulator.
virtual void describe(FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
Print the object with some verbosity level to a FancyOStream.
virtual std::string description() const
Return a simple one-line description of this object.
LabeledObject()
Construct with an empty label.
RCP< basic_FancyOStream< char > > getFancyOStream(const RCP< std::basic_ostream< char > > &out)
Get a FancyOStream from an std::ostream object.
basic_FancyOStream< char > FancyOStream
EVerbosityLevel
Verbosity level.
@ VERB_MEDIUM
Generate more output.
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Deprecated.