MueLu Version of the Day
Loading...
Searching...
No Matches
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
19
20namespace 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
50 void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel = Teuchos::Describable::verbLevel_default) const;
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
Base class for MueLu classes.
virtual std::string ShortClassName() const
Return the class name of the object, without template parameters and without namespace.
virtual ~Describable()
Destructor.
virtual std::string description() const
Return a simple one-line description of this object.
virtual void describe(Teuchos::FancyOStream &out_arg, const VerbLevel verbLevel=Default) const
Namespace for MueLu classes and methods.