lsst.afw
19.0.0-26-g4476391b4+2
|
Go to the documentation of this file.
6 #include "boost/format.hpp"
7 #include "boost/preprocessor/seq/for_each.hpp"
8 #include "boost/preprocessor/tuple/to_seq.hpp"
23 struct TypeTraits<
std::uint8_t> {
24 static char const *getName() {
return "B"; }
27 struct TypeTraits<
std::uint16_t> {
28 static char const *getName() {
return "U"; }
31 struct TypeTraits<
std::int32_t> {
32 static char const *getName() {
return "I"; }
35 struct TypeTraits<
std::int64_t> {
36 static char const *getName() {
return "L"; }
39 struct TypeTraits<float> {
40 static char const *getName() {
return "F"; }
43 struct TypeTraits<double> {
44 static char const *getName() {
return "D"; }
48 static char const *getName() {
return "Angle"; }
57 return TypeTraits<T>::getName();
64 return (boost::format(
"Array%s") % TypeTraits<U>::getName()).str();
72 "Size must be provided when constructing a string field.");
78 if (isVariableLength()) {
92 if (isVariableLength()) {
100 (boost::format(
"String (%d) is too large for field (%d).") % value.
size() % _size).str());
109 #define INSTANTIATE_FIELD_BASE(r, data, elem) template struct FieldBase<elem>;
void setValue(Element *p, ndarray::Manager::Ptr const &, Value v) const
Used to implement BaseRecord::set.
#define AFW_TABLE_FIELD_TYPE_TUPLE
BOOST_PP_SEQ_FOR_EACH(INSTANTIATE_COLUMNVIEW_SCALAR, _, BOOST_PP_TUPLE_TO_SEQ(AFW_TABLE_SCALAR_FIELD_TYPE_N, AFW_TABLE_SCALAR_FIELD_TYPE_TUPLE)) BOOST_PP_SEQ_FOR_EACH(INSTANTIATE_COLUMNVIEW_ARRAY
A base class for image defects.
#define LSST_EXCEPT(type,...)
Field base class default implementation (used for numeric scalars and lsst::geom::Angle).
char Element
the type of subfields and array elements
static std::string getTypeString()
Return a string description of the field type.
Value getValue(Element const *p, ndarray::Manager::Ptr const &) const
Used to implement BaseRecord::get.
#define INSTANTIATE_FIELD_BASE(r, data, elem)
#define AFW_TABLE_FIELD_TYPE_N