Teuchos - Trilinos Tools Package
Version of the Day
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
core
src
Teuchos_iostream_helpers.hpp
1
// @HEADER
2
// *****************************************************************************
3
// Teuchos: Common Tools Package
4
//
5
// Copyright 2004 NTESS and the Teuchos contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef TEUCHOS_IOSTREAM_HELPERS_HPP
11
#define TEUCHOS_IOSTREAM_HELPERS_HPP
12
13
19
#include "Teuchos_Assert.hpp"
20
21
22
namespace
Teuchos {
23
24
25
template
<
class
EnumType>
26
std::istream& enumIstreamExtractor(std::istream& std_is, EnumType& enum_value)
27
{
28
int
intval;
29
std_is >> intval;
30
enum_value =
static_cast<
EnumType
>
(intval);
31
return
std_is;
32
}
33
34
35
}
// namespace Teuchos
36
37
38
#define TEUCHOS_ENUM_INPUT_STREAM_OPERATOR(ENUMTYPE) \
39
inline \
40
std::istream& operator>>(std::istream& std_is, ENUMTYPE& enum_value) \
41
{ return Teuchos::enumIstreamExtractor(std_is, enum_value); }
42
43
44
#endif // TEUCHOS_IOSTREAM_HELPERS_HPP
Generated on Fri Dec 20 2024 09:21:31 for Teuchos - Trilinos Tools Package by
1.8.5