Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Thyra_LinearOpDefaultBase_def.hpp
1 // @HEADER
2 // *****************************************************************************
3 // Thyra: Interfaces and Support for Abstract Numerical Algorithms
4 //
5 // Copyright 2004 NTESS and the Thyra contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef THYRA_LINEAR_OP_DEFAULT_BASE_HPP
11 #define THYRA_LINEAR_OP_DEFAULT_BASE_HPP
12 
13 #include "Thyra_LinearOpDefaultBase_decl.hpp"
14 #include "Thyra_LinearOpBase.hpp"
15 #include "Thyra_VectorSpaceBase.hpp"
16 #include "Thyra_describeLinearOp.hpp"
17 
18 namespace Thyra {
19 
20 
21 // Overridden from Teuchos::Describable
22 
23 
24 template<class Scalar>
26 {
27  std::ostringstream oss;
29  l_range = this->range();
31  l_domain = this->domain();
33  if(!l_range.get()) {
34  oss << "{range=NULL,domain=NULL}";
35  }
36  else {
37  const Ordinal dimDomain = l_domain->dim(), dimRange = l_range->dim();
38  oss
39  << "{rangeDim=" << dimRange
40  << ",domainDim=" << dimDomain << "}";
41  }
42  return oss.str();
43 }
44 
45 
46 template<class Scalar>
49  const Teuchos::EVerbosityLevel verbLevel
50  ) const
51 {
52  describeLinearOp(*this, out, verbLevel);
53 }
54 
55 
56 } // end namespace Thyra
57 
58 #endif // THYRA_LINEAR_OP_DEFAULT_BASE_HPP
T * get() const
Teuchos::Ordinal Ordinal
Type for the dimension of a vector space. `*.
virtual std::string description() const
void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
Generates a default outputting for all linear operators.
std::string description() const
Default description that gives the label, type, and dimenstion .