includeFuncEntry.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 \*---------------------------------------------------------------------------*/
25 
26 #include "includeFuncEntry.H"
27 #include "functionObjectList.H"
28 #include "stringOps.H"
30 
31 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
32 
33 namespace Foam
34 {
35 namespace functionEntries
36 {
37  defineTypeNameAndDebug(includeFuncEntry, 0);
38 
40  (
41  functionEntry,
42  includeFuncEntry,
43  execute,
44  dictionaryIstream
45  );
46 }
47 }
48 
49 
50 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
51 
53 (
54  dictionary& parentDict,
55  Istream& is
56 )
57 {
58  // Read line containing the function name and the optional arguments
59  const string fNameArgs(readFuncNameArgs(is));
60 
61  HashSet<word> selectedFields;
62 
64  (
65  fNameArgs,
66  parentDict,
67  {"file", is.name() + " at line " + Foam::name(is.lineNumber())},
68  selectedFields
69  );
70 }
71 
72 
73 // ************************************************************************* //
A HashTable with keys but without contents.
Definition: HashSet.H:59
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:156
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Definition: Istream.H:57
label lineNumber() const
Return current stream line number.
Definition: IOstream.H:435
addToMemberFunctionSelectionTable(functionEntry, calcEntry, execute, dictionaryIstream)
virtual const fileName & name() const
Return the name of the stream.
Definition: IOstream.H:294
static bool execute(dictionary &parentDict, Istream &)
Execute the functionEntry in a sub-dict context.
word name(const complex &)
Return a string representation of a complex.
Definition: complex.C:47
Macros for easy insertion into member function selection tables.
static bool readFunctionObject(const string &funcArgs, dictionary &functionsDict, const Pair< string > &contextTypeAndValue, HashSet< word > &requiredFields, const word &region=word::null)
Read the specified functionObject configuration dictionary.
defineTypeNameAndDebug(calcEntry, 0)
Namespace for OpenFOAM.