DP3
TypeNames.h
Go to the documentation of this file.
1 // TypeNames.h: Return a string giving the type name to be stored in blobs
2 //
3 // Copyright (C) 2020 ASTRON (Netherlands Institute for Radio Astronomy)
4 // SPDX-License-Identifier: GPL-3.0-or-later
5 
6 #ifndef LOFAR_COMMON_TYPENAMES_H
7 #define LOFAR_COMMON_TYPENAMES_H
8 
9 #include <complex>
10 #include <cstdint>
11 #include <string>
12 
13 namespace dp3 {
14 namespace common {
15 
18 
26 
27 const std::string& typeName(const void*);
28 const std::string& typeName(const bool*);
29 const std::string& typeName(const char*);
30 const std::string& typeName(const int8_t*);
31 const std::string& typeName(const uint8_t*);
32 const std::string& typeName(const int16_t*);
33 const std::string& typeName(const uint16_t*);
34 const std::string& typeName(const int32_t*);
35 const std::string& typeName(const uint32_t*);
36 const std::string& typeName(const int64_t*);
37 const std::string& typeName(const uint64_t*);
38 const std::string& typeName(const float*);
39 const std::string& typeName(const double*);
40 const std::string& typeName(const std::complex<float>*);
41 const std::string& typeName(const std::complex<double>*);
42 #ifdef LOFAR_BUILTIN_COMPLEXINT
43 const std::string& typeName(const std::complex<int16>*);
44 const std::string& typeName(const std::complex<uint16>*);
45 #endif
46 template <typename T>
47 const std::string& typeName(T const* const*);
48 
50 
51 } // namespace common
52 } // namespace dp3
53 
54 // Include templated implementations.
55 #include "TypeNames.tcc"
56 
57 #endif
const std::string & typeName(const void *)
Return a string giving the type name to be stored in blobs.
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53