tableReaders.H
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) 2011-2016 OpenFOAM Foundation
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 SourceFiles
27  tableReaders.C
28 
29 \*---------------------------------------------------------------------------*/
30 
31 #ifndef tableReaders_H
32 #define tableReaders_H
33 
34 #include "tableReader.H"
35 #include "fieldTypes.H"
36 
37 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
38 
39 // Only used internally
40 #define makeTypeTableReadersTypeName(typeTableReader, dataType) \
41  \
42  defineNamedTemplateTypeNameAndDebug(typeTableReader<dataType>, 0)
43 
44 // Sometimes used externally
45 #define makeTableReadersTypeName(typeTableReader) \
46  \
47  makeTypeTableReadersTypeName(typeTableReader, scalar); \
48  makeTypeTableReadersTypeName(typeTableReader, vector); \
49  makeTypeTableReadersTypeName(typeTableReader, sphericalTensor); \
50  makeTypeTableReadersTypeName(typeTableReader, symmTensor); \
51  makeTypeTableReadersTypeName(typeTableReader, tensor)
52 
53 // Define type info for single dataType template instantiation (eg, vector)
54 #define makeTableReaderType(typeTableReader, dataType) \
55  \
56  defineNamedTemplateTypeNameAndDebug(typeTableReader<dataType>, 0); \
57  addTemplatedToRunTimeSelectionTable \
58  ( \
59  tableReader, typeTableReader, dataType, dictionary \
60  )
61 
62 
63 // Define type info for scalar, vector etc. instantiations
64 #define makeTableReaders(typeTableReader) \
65  \
66  makeTableReaderType(typeTableReader, scalar); \
67  makeTableReaderType(typeTableReader, vector); \
68  makeTableReaderType(typeTableReader, sphericalTensor); \
69  makeTableReaderType(typeTableReader, symmTensor); \
70  makeTableReaderType(typeTableReader, tensor)
71 
72 
73 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
74 
75 #endif
76 
77 // ************************************************************************* //