foamVtkPTraits.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) 2016-2018 OpenCFD Ltd.
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
26Class
27 Foam::vtkPTraits
28
29Description
30 Names for VTK primitive types.
31
32\*---------------------------------------------------------------------------*/
33
34#ifndef Foam_vtk_vtkPTraits_H
35#define Foam_vtk_vtkPTraits_H
36
37#include <cstdint>
38#include <string>
39
40// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41
42namespace Foam
43{
44
45// Forward Declarations
46class endian;
47
48/*---------------------------------------------------------------------------*\
49 Class vtkPTraits Declaration
50\*---------------------------------------------------------------------------*/
51
52template<class Type>
53struct vtkPTraits
54{
55 // Static Data Members
56 static const char* const typeName;
57};
58
59
60template<>
61const char* const vtkPTraits<uint8_t>::typeName; // UInt8
62
63template<>
64const char* const vtkPTraits<int32_t>::typeName; // Int32
65
66template<>
67const char* const vtkPTraits<uint32_t>::typeName; // UInt32
68
69template<>
70const char* const vtkPTraits<int64_t>::typeName; // Int64
71
72template<>
73const char* const vtkPTraits<uint64_t>::typeName; // UInt64
74
75template<>
76const char* const vtkPTraits<float>::typeName; // Float32
77
78template<>
79const char* const vtkPTraits<double>::typeName; // Float64
80
81template<>
82const char* const vtkPTraits<Foam::endian>::typeName; // (Big|Little)Endian
83
84template<>
85const char* const vtkPTraits<std::string>::typeName; // String
86
87
88// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
89
90} // End namespace Foam
91
92// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
93
94#endif
95
96// ************************************************************************* //
Namespace for OpenFOAM.
Names for VTK primitive types.
static const char *const typeName