OpenFOAM: API Guide
v2112
The open source CFD toolbox
exprToolsTemplates.C
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | www.openfoam.com
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
Copyright (C) 2019 OpenCFD Ltd.
9
-------------------------------------------------------------------------------
10
License
11
This file is part of OpenFOAM.
12
13
OpenFOAM is free software: you can redistribute it and/or modify it
14
under the terms of the GNU General Public License as published by
15
the Free Software Foundation, either version 3 of the License, or
16
(at your option) any later version.
17
18
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21
for more details.
22
23
You should have received a copy of the GNU General Public License
24
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
\*---------------------------------------------------------------------------*/
26
27
#include "
OStringStream.H
"
28
29
// * * * * * * * * * * * * * * * Global Functions * * * * * * * * * * * * * //
30
31
template
<
class
Type>
32
Foam::string
Foam::exprTools::zeroValue
()
33
{
34
OStringStream buf;
35
36
buf << pTraits<Type>::typeName <<
'('
;
37
for
(
direction
cmpt=0; cmpt < pTraits<Type>::nComponents; ++cmpt)
38
{
39
if
(cmpt) buf <<
','
;
40
buf << 0;
41
}
42
buf <<
')'
;
43
44
return
buf.str();
45
}
46
47
48
template
<
class
Type>
49
Foam::string
Foam::exprTools::toString
50
(
51
const
Type& data,
52
const
word& prefix
53
)
54
{
55
OStringStream buf;
56
57
buf << prefix <<
'('
;
58
for
(
direction
cmpt=0; cmpt < pTraits<Type>::nComponents; ++cmpt)
59
{
60
if
(cmpt) buf <<
','
;
61
buf <<
component
(data, cmpt);
62
}
63
buf <<
')'
;
64
65
return
buf.str();
66
}
67
68
69
template
<
class
Type>
70
Foam::string
Foam::exprTools::toString
(
const
Type& data)
71
{
72
return
toString<Type>(data, pTraits<Type>::typeName);
73
}
74
75
76
template
<
class
Type>
77
Foam::string
Foam::exprTools::toString
(ITstream& is)
78
{
79
Type data(
Zero
);
80
is >> data;
81
82
return
toString<Type>(data, pTraits<Type>::typeName);
83
}
84
85
86
// ************************************************************************* //
Foam::component
void component(FieldField< Field, typename FieldField< Field, Type >::cmptType > &sf, const FieldField< Field, Type > &f, const direction d)
Definition:
FieldFieldFunctions.C:44
Foam::Zero
static constexpr const zero Zero
Global zero (0)
Definition:
zero.H:131
Foam::string
A class for handling character strings derived from std::string.
Definition:
string.H:76
Foam::exprTools::toString
string toString(const Type &data, const word &prefix)
Stringified version of data with comma separators between components.
OStringStream.H
Foam::exprTools::zeroValue
string zeroValue()
Stringified value for zero of given type.
Foam::direction
uint8_t direction
Definition:
direction.H:52
src
OpenFOAM
expressions
exprTools
exprToolsTemplates.C
Generated by
1.8.17
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.