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-------------------------------------------------------------------------------
10License
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
26SourceFiles
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// ************************************************************************* //
Header files for all the primitive types that Fields are instantiated for.