Belos
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
BelosSolverFactory.cpp
Go to the documentation of this file.
1
//@HEADER
2
// ************************************************************************
3
//
4
// Belos: Block Linear Solvers Package
5
// Copyright 2004 Sandia Corporation
6
//
7
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
8
// the U.S. Government retains certain rights in this software.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are
12
// met:
13
//
14
// 1. Redistributions of source code must retain the above copyright
15
// notice, this list of conditions and the following disclaimer.
16
//
17
// 2. Redistributions in binary form must reproduce the above copyright
18
// notice, this list of conditions and the following disclaimer in the
19
// documentation and/or other materials provided with the distribution.
20
//
21
// 3. Neither the name of the Corporation nor the names of the
22
// contributors may be used to endorse or promote products derived from
23
// this software without specific prior written permission.
24
//
25
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
//
37
// Questions? Contact Michael A. Heroux (maherou@sandia.gov)
38
//
39
// ************************************************************************
40
//@HEADER
41
42
#include "
BelosSolverFactory.hpp
"
43
#include <locale>
44
45
namespace
Belos
{
46
namespace
Impl
{
47
48
void
49
printStringArray
(std::ostream& out,
50
const
Teuchos::ArrayView<const std::string>& array)
51
{
52
typedef
Teuchos::ArrayView<std::string>::const_iterator iter_type;
53
54
out <<
"["
;
55
for
(iter_type iter = array.begin(); iter != array.end(); ++iter) {
56
out <<
"\""
<< *iter <<
"\""
;
57
if
(iter + 1 != array.end()) {
58
out <<
", "
;
59
}
60
}
61
out <<
"]"
;
62
}
63
64
void
65
printStringArray
(std::ostream& out,
66
const
std::vector<std::string>& array)
67
{
68
Teuchos::ArrayView<const std::string> av;
69
if
(array.size () == 0) {
70
av = Teuchos::ArrayView<const std::string> (NULL, 0);
71
}
72
else
{
73
av = Teuchos::ArrayView<const std::string> (&array[0], array.size ());
74
}
75
printStringArray
(out, av);
76
}
77
78
std::string
79
upperCase
(
const
std::string& s)
80
{
81
typedef
std::string::value_type char_t;
82
typedef
std::ctype<char_t> facet_type;
83
const
facet_type& facet = std::use_facet<facet_type> (std::locale ());
84
85
const
std::string::size_type len = s.size ();
86
std::string s_uc (s);
87
for
(std::string::size_type k = 0; k < len; ++k) {
88
s_uc[k] = facet.toupper (s[k]);
89
}
90
91
return
s_uc;
92
}
93
94
}
// namespace Impl
95
}
// namespace Belos
96
97
BelosSolverFactory.hpp
Belos::Impl
Definition
BelosSolverFactory.cpp:46
Belos::Impl::upperCase
std::string upperCase(const std::string &s)
Return the upper-case version of s.
Definition
BelosSolverFactory.cpp:79
Belos::Impl::printStringArray
void printStringArray(std::ostream &out, const Teuchos::ArrayView< const std::string > &array)
Print the given array of strings, in YAML format, to out.
Definition
BelosSolverFactory.cpp:49
Belos
Definition
Belos_Details_EBelosSolverType.cpp:45
Generated for Belos by
1.17.0