![]() |
EleFits
4.0.1
A modern C++ API on top of CFitsIO
|
Binary table data containers and tools.
ColumnInfo is the simple structure which stores the column metadata:
The repeat count represents the width of the column:
A Column is an abstract class composed of a ColumnInfo and some contiguous data. Analogously to Raster, two concrete classes are implemented, and others can be user-defined:
PtrColumn is the lightest structure: it just knows a pointer to the first element of the column;VecColumn owns the data as an std::vector and is compatible with the move semantics.To write a column, any Column implementation works: you can even provide your own, e.g. some EigenColumn. Columns are always read as VecColumn instances. If you want to give or steal the data to or from a VecColumn, you can exploit move semantics, as shown in the Tutorial:
The following helpers are defined:
Segment is just a pair of longs used to specify a chunk of a Column, e.g. for partial reading and writing of binary table HDUs;Indexed and Named are typed wrappers of long and std::string, respectively: They are used to specify a column in a binary table HDU.The latter two classes are very useful to specify which columns to read as which types. For example, to read several columns of different types, do:
instead of:
which would be error-prone when reading many columns.
Classes | |
| struct | Euclid::Fits::ColumnInfo< T > |
Column metadata, i.e. { name, unit, repeatCount } and the value type as the template parameter. More... | |
| class | Euclid::Fits::Column< T > |
| Binary table column data and metadata. More... | |
| class | Euclid::Fits::PtrColumn< T > |
| Column which references some external pointer data. More... | |
| class | Euclid::Fits::VecColumn< T > |
| Column which stores internally the data. More... | |
| struct | Euclid::Fits::Segment |
| Bounds of a closed index interval. More... | |
Macros | |
| #define | ELEFITS_FOREACH_COLUMN_TYPE(MACRO) |
| Loop over supported column types. More... | |