lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
afw
table
Field.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
#ifndef AFW_TABLE_Field_h_INCLUDED
3
#define AFW_TABLE_Field_h_INCLUDED
4
5
#include <iostream>
6
7
#include "
lsst/afw/table/FieldBase.h
"
8
9
namespace
lsst
{
10
namespace
afw
{
11
namespace
table
{
12
23
template
<
typename
T>
24
struct
Field
:
public
FieldBase
<T> {
26
using
Element
=
typename
FieldBase<T>::Element
;
27
44
Field
(
std::string
const
& name,
std::string
const
& doc,
std::string
const
& units =
""
,
45
FieldBase<T>
const
& size =
FieldBase<T>
())
46
:
FieldBase
<T>(size), _name(name), _doc(doc), _units(units) {}
47
61
Field
(
std::string
const
& name,
std::string
const
& doc,
FieldBase<T>
const
& size)
62
:
FieldBase
<T>(size), _name(name), _doc(doc), _units() {}
63
64
Field
(
Field
const
&) =
default
;
65
Field
(
Field
&&) noexcept = default;
66
Field
& operator=(
Field
const&) = default;
67
Field
& operator=(
Field
&&) noexcept = default;
68
~
Field
() noexcept = default;
69
71
std
::
string
const&
getName
() const noexcept {
return
_name; }
72
74
std::string
const
&
getDoc
() const noexcept {
return
_doc; }
75
77
std::string
const
&
getUnits
() const noexcept {
return
_units; }
78
80
inline
friend
std::ostream
&
operator<<
(
std::ostream
& os,
Field<T>
const
& field) {
81
os <<
"Field['"
<<
Field<T>::getTypeString
() <<
"'](name=\""
<< field.
getName
() <<
"\""
;
82
if
(!field.
getDoc
().
empty
()) os <<
", doc=\""
<< field.
getDoc
() <<
"\""
;
83
if
(!field.
getUnits
().
empty
()) os <<
", units=\""
<< field.
getUnits
() <<
"\""
;
84
field.
stream
(os);
85
return
os <<
")"
;
86
}
87
89
Field<T>
copyRenamed
(
std::string
const
& newName)
const
{
90
return
Field<T>
(newName,
getDoc
(),
getUnits
(), *
this
);
91
}
92
93
private
:
94
std::string
_name;
95
std::string
_doc;
96
std::string
_units;
97
};
98
}
// namespace table
99
}
// namespace afw
100
}
// namespace lsst
101
102
#endif
// !AFW_TABLE_Field_h_INCLUDED
FieldBase.h
std::ostream
std::string
std::string::empty
T empty(T... args)
lsst::afw::table
Definition
table.dox:3
lsst::afw
Definition
imageAlgorithm.dox:1
lsst
std
STL namespace.
lsst::afw::table::FieldBase< Flag >::FieldBase
FieldBase()=default
lsst::afw::table::FieldBase::getTypeString
static std::string getTypeString()
Return a string description of the field type.
Definition
FieldBase.cc:56
lsst::afw::table::FieldBase::FieldBase
FieldBase()=default
lsst::afw::table::FieldBase::stream
void stream(std::ostream &os) const
Defines how Fields are printed.
Definition
FieldBase.h:72
lsst::afw::table::FieldBase::Element
T Element
the type of subfields (the same as the type itself for scalars)
Definition
FieldBase.h:45
lsst::afw::table::Element::Element
typename FieldBase< Flag >::Element Element
Definition
Field.h:26
lsst::afw::table::Element::getName
std::string const & getName() const noexcept
Definition
Field.h:71
lsst::afw::table::Field::operator<<
friend std::ostream & operator<<(std::ostream &os, Field< T > const &field)
Stringification.
Definition
Field.h:80
lsst::afw::table::Field::getUnits
std::string const & getUnits() const noexcept
Return the units for the field.
Definition
Field.h:77
lsst::afw::table::Field::Field
Field(std::string const &name, std::string const &doc, FieldBase< T > const &size)
Construct a new field.
Definition
Field.h:61
lsst::afw::table::Field::copyRenamed
Field< T > copyRenamed(std::string const &newName) const
Return a new Field with a new name and other properties the same as this.
Definition
Field.h:89
lsst::afw::table::Field::Field
Field(std::string const &name, std::string const &doc, std::string const &units="", FieldBase< T > const &size=FieldBase< T >())
Construct a new field.
Definition
Field.h:44
lsst::afw::table::Field::Field
Field(Field const &)=default
lsst::afw::table::Field::Field
Field(Field &&) noexcept=default
lsst::afw::table::Field::getDoc
std::string const & getDoc() const noexcept
Return the documentation for the field.
Definition
Field.h:74
Generated on
for lsst.afw by
1.17.0