lsst.afw
g2603b601e3+b53bcbb7be
include
lsst
afw
table
types.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
#ifndef AFW_TABLE_types_h_INCLUDED
3
#define AFW_TABLE_types_h_INCLUDED
4
5
#include <cstdint>
6
#include <cstring>
7
#include <iostream>
8
9
#include "boost/preprocessor/punctuation/paren.hpp"
10
#include "Eigen/Core"
11
12
#include "
lsst/base.h
"
13
#include "
lsst/pex/exceptions.h
"
14
#include "ndarray.h"
15
#include "
lsst/geom.h
"
16
#include "
lsst/afw/geom/ellipses.h
"
17
#include "
lsst/afw/coord.h
"
18
#include "
lsst/afw/table/misc.h
"
19
#include "
lsst/afw/table/KeyBase.h
"
20
21
/*
22
* This file contains macros and MPL vectors that list the types that can be used for fields.
23
* The macros are used to do explicit instantiation in several source files.
24
*/
25
26
// Scalar types: those that can serve as elements for other types, and use the default FieldBase template.
27
#define AFW_TABLE_SCALAR_FIELD_TYPE_N 7
28
#define AFW_TABLE_SCALAR_FIELD_TYPES \
29
RecordId, std::uint16_t, std::int32_t, float, double, lsst::geom::Angle, std::uint8_t
30
#define AFW_TABLE_SCALAR_FIELD_TYPE_TUPLE BOOST_PP_LPAREN() AFW_TABLE_SCALAR_FIELD_TYPES BOOST_PP_RPAREN()
31
32
// Arrays types: the types we allow for Array fields.
33
#define AFW_TABLE_ARRAY_FIELD_TYPE_N 5
34
#define AFW_TABLE_ARRAY_FIELD_TYPES std::uint16_t, int, float, double, std::uint8_t
35
#define AFW_TABLE_ARRAY_FIELD_TYPE_TUPLE BOOST_PP_LPAREN() AFW_TABLE_ARRAY_FIELD_TYPES BOOST_PP_RPAREN()
36
37
// Field types: all the types we allow for fields.
38
#define AFW_TABLE_FIELD_TYPE_N 14
39
#define AFW_TABLE_FIELD_TYPES \
40
AFW_TABLE_SCALAR_FIELD_TYPES, Flag, std::string, Array<std::uint16_t>, Array<int>, Array<float>, \
41
Array<double>, Array<std::uint8_t>
42
43
#define AFW_TABLE_FIELD_TYPE_TUPLE BOOST_PP_LPAREN() AFW_TABLE_FIELD_TYPES BOOST_PP_RPAREN()
44
45
namespace
lsst
{
46
namespace
afw {
47
namespace
table {
48
49
template
<
typename
...E>
struct
TypeList
{};
50
51
53
using
FieldTypes
=
TypeList<AFW_TABLE_FIELD_TYPES>
;
54
55
}
// namespace table
56
}
// namespace afw
57
}
// namespace lsst
58
59
#endif
// !AFW_TABLE_types_h_INCLUDED
KeyBase.h
base.h
coord.h
ellipses.h
exceptions.h
geom.h
misc.h
lsst
lsst::afw::table::TypeList
Definition:
types.h:49
Generated on Fri Sep 2 2022 02:18:10 for lsst.afw by
1.9.3