Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Thyra_ModelEvaluatorBase.cpp
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 #include "Thyra_ModelEvaluatorBase_decl.hpp"
11 
12 
13 namespace Thyra {
14 
15 
17 {}
18 
19 
20 std::string
22 {
23  std::ostringstream oss;
24  oss << "DerivativeSupport{";
25  if (none()) {
26  oss << "none";
27  }
28  else {
29  bool wroteOutput = false;
30  if (supportsLinearOp_) {
31  oss << "DERIV_LINEAR_OP";
32  wroteOutput = true;
33  }
34  if (supportsMVByCol_) {
35  oss << (wroteOutput?",":"") << toString(DERIV_MV_BY_COL);
36  wroteOutput = true;
37  }
38  if (supportsTransMVByRow_) {
39  oss << (wroteOutput?",":"") << toString(DERIV_TRANS_MV_BY_ROW);
40  wroteOutput = true;
41  }
42  }
43  oss << "}";
44  return oss.str();
45 }
46 
47 
48 } // namespace Thyra
49 
50 
51 #ifdef HAVE_THYRA_EXPLICIT_INSTANTIATION
52 
53 
54 #include "Thyra_ModelEvaluatorBase_def.hpp"
55 #include "Teuchos_ExplicitInstantiationHelpers.hpp"
56 
57 namespace Thyra {
58 
59 TEUCHOS_MACRO_TEMPLATE_INSTANT_SCALAR_TYPES(THYRA_MODEL_EVALUATOR_BASE_INSTANT)
60 
61 } // namespace Thyra
62 
63 #endif // HAVE_THYRA_EXPLICIT_INSTANTIATION
#define TEUCHOS_MACRO_TEMPLATE_INSTANT_SCALAR_TYPES(MACRONAME)
std::string toString(ModelEvaluatorBase::EInArgsMembers)