Teuchos Package Browser (Single Doxygen Collection)  Version of the Day
AlgorithmA.hpp
Go to the documentation of this file.
1 /*
2 // @HEADER
3 // ***********************************************************************
4 //
5 // Teuchos: Common Tools Package
6 // Copyright (2004) Sandia Corporation
7 //
8 // Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
9 // license for use of this work by or on behalf of the U.S. Government.
10 //
11 // Redistribution and use in source and binary forms, with or without
12 // modification, are permitted provided that the following conditions are
13 // met:
14 //
15 // 1. Redistributions of source code must retain the above copyright
16 // notice, this list of conditions and the following disclaimer.
17 //
18 // 2. Redistributions in binary form must reproduce the above copyright
19 // notice, this list of conditions and the following disclaimer in the
20 // documentation and/or other materials provided with the distribution.
21 //
22 // 3. Neither the name of the Corporation nor the names of the
23 // contributors may be used to endorse or promote products derived from
24 // this software without specific prior written permission.
25 //
26 // THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 //
38 // Questions? Contact Michael A. Heroux (maherou@sandia.gov)
39 //
40 // ***********************************************************************
41 // @HEADER
42 */
43 
46 
47 #ifndef TEUCHOS_ALGORITHM_A_HPP
48 #define TEUCHOS_ALGORITHM_A_HPP
49 
50 
51 void someDumbFunction( std::ostream &out, const std::string &indentSpacer );
52 
53 
54 void someLessDumbFunction( std::ostream &out_arg );
55 
56 
57 // This is a typical numerical class that derives from VerboseObject and does
58 // outputting. Note that the use of the OSTab class requires initialization
59 // using VerboseObject::getOSTab(...) which takes care of the hassles and is
60 // easy to use.
61 //
62 // This class also derives from ParameterListAcceptor and uses helper
63 // functio ns to read options for VerboseObject from a parameter sublist.
65  : public Teuchos::VerboseObject<AlgorithmA>,
67 {
68 public:
69 
70  // Constructor(s)
71 
72  AlgorithmA();
73 
74  // Overridden from ParameterListAccpetor
75 
77 
79 
81 
83 
85 
86  // Other functions
87 
88  void doAlgorithm();
89 
90 private:
91 
93 
94  static const std::string toString( AlgorithmA::EAlgoType algoType );
95 
98  double algoTol_;
99 
100 };
101 
102 
103 #endif // TEUCHOS_ALGORITHM_A_HPP
void someDumbFunction(std::ostream &out, const std::string &indentSpacer)
Definition: AlgorithmA.cpp:53
void setParameterList(Teuchos::RCP< Teuchos::ParameterList > const &paramList)
Set parameters from a parameter list and return with default values.
Definition: AlgorithmA.cpp:116
EAlgoType algoType_
Definition: AlgorithmA.hpp:97
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
Unset the parameter list that was set using setParameterList().
Definition: AlgorithmA.cpp:155
Templated base class for objects that can print their activities to a stream and have a verbosity lev...
void someLessDumbFunction(std::ostream &out_arg)
Definition: AlgorithmA.cpp:67
Interface for objects that can accept a ParameterList.
static const std::string toString(AlgorithmA::EAlgoType algoType)
Definition: AlgorithmA.cpp:97
double algoTol_
Definition: AlgorithmA.hpp:98
Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
Get const version of the parameter list that was set using setParameterList().
Definition: AlgorithmA.cpp:164
Teuchos::RCP< Teuchos::ParameterList > paramList_
Definition: AlgorithmA.hpp:96
void doAlgorithm()
Definition: AlgorithmA.cpp:199
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
Get a nonconst version of the parameter list that was set using setParameterList().
Definition: AlgorithmA.cpp:148
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Return a ParameterList containing all of the valid parameters that this->setParameterList(...) will accept, along with any validators.
Definition: AlgorithmA.cpp:171