MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_Describable.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // MueLu: A package for multigrid based preconditioning
4 //
5 // Copyright 2012 NTESS and the MueLu contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef MUELU_DESCRIBABLE_DECL_HPP
11 #define MUELU_DESCRIBABLE_DECL_HPP
12 
13 #include <string> // for string
14 #include "Teuchos_FancyOStream.hpp" // for FancyOStream
15 #include "Teuchos_VerbosityLevel.hpp" // for EVerbosityLevel
16 #include "Teuchos_Describable.hpp"
17 
18 #include "MueLu_VerbosityLevel.hpp"
19 
20 namespace MueLu {
21 
29  : public Teuchos::Describable {
30  mutable std::string shortClassName_ = ""; // cached so that we don't have to call demangleName() every time; mutable so that ShortClassName() can initialize lazily while remaining const
31 
32  public:
34  virtual ~Describable();
35 
37 
38 
39  virtual void describe(Teuchos::FancyOStream &out_arg, const VerbLevel verbLevel = Default) const;
40 
42 
44 
45 
47  virtual std::string description() const;
48 
51 
53 
55  virtual std::string ShortClassName() const;
56 
57 }; // class Describable
58 
59 } // namespace MueLu
60 
61 #define MUELU_DESCRIBABLE_SHORT
62 #endif // MUELU_DESCRIBABLE_DECL_HPP
virtual void describe(Teuchos::FancyOStream &out_arg, const VerbLevel verbLevel=Default) const
virtual std::string ShortClassName() const
Return the class name of the object, without template parameters and without namespace.
static const EVerbosityLevel verbLevel_default
Base class for MueLu classes.
virtual ~Describable()
Destructor.
virtual std::string description() const
Return a simple one-line description of this object.