|
ifw-daq 3.1.0
IFW Data Acquisition modules
|
Contains data structure for FITS keywords. More...
#include <array>#include <cstdint>#include <iosfwd>#include <optional>#include <stdexcept>#include <string>#include <variant>#include <vector>#include <cfitsio/fitsio.h>Go to the source code of this file.
Classes | |
| struct | daq::fits::KeywordNameView |
| class | daq::fits::LiteralKeyword |
| Represents the literal 80-character FITS keyword record. More... | |
| struct | daq::fits::LiteralKeyword::Components |
| Decomposed components a literal keyword. More... | |
| struct | daq::fits::BasicKeywordBase |
| Non template base class that is purely used to avoid type-deduction issues of ValueType. More... | |
| struct | daq::fits::BasicKeyword< Trait > |
| A type safe version of LiteralKeyword that consist of the three basic components of a FITS keyword keyword record: name, value and optional comment. More... | |
| struct | daq::fits::ValueKeywordTraits |
| struct | daq::fits::EsoKeywordTraits |
| class | daq::fits::InvalidKeyword |
| Indicates keyword is invalid for some reason. More... | |
| class | daq::fits::UnknownKeyword |
| Indicates keyword is unknown and cannot be formatted. More... | |
| class | daq::fits::KeywordFormatter |
| Formats keyword against e.g. More... | |
| class | daq::fits::StandardKeywordFormatter |
| Formats according to built-in rules without any dictionaries. More... | |
| struct | daq::fits::v1::StandardLess |
| Sorting function object. More... | |
Namespaces | |
| namespace | daq |
| namespace | daq::fits |
| namespace | daq::fits::constants |
| namespace | daq::fits::v1 |
| Versioned namespace of sorting functions in case standard evolves but instruments want to freeze. | |
Typedefs | |
| using | daq::fits::ValueKeyword = BasicKeyword< ValueKeywordTraits > |
| Standard FITS value keyword. | |
| using | daq::fits::EsoKeyword = BasicKeyword< EsoKeywordTraits > |
| ESO hiearchical keyword. | |
| using | daq::fits::KeywordVariant = std::variant< ValueKeyword, EsoKeyword, LiteralKeyword > |
| The different variants of keywords that are supported. | |
| using | daq::fits::TypedKeywordVariant = std::variant< ValueKeyword, EsoKeyword > |
| Subset of value-typed keywords. | |
| using | daq::fits::KeywordVector = std::vector< KeywordVariant > |
| Vector of keywords. | |
Enumerations | |
| enum | daq::fits::KeywordType : std::uint8_t { daq::fits::Value , daq::fits::Eso , daq::fits::Commentary } |
| Type of FITS keyword. More... | |
| enum class | daq::fits::KeywordClass : int { daq::fits::Structure = TYP_STRUC_KEY , daq::fits::Compression = TYP_CMPRS_KEY , daq::fits::Scale = TYP_SCAL_KEY , daq::fits::Null = TYP_NULL_KEY , daq::fits::Dim = TYP_DIM_KEY , daq::fits::Range = TYP_RANG_KEY , daq::fits::Unit = TYP_UNIT_KEY , daq::fits::Disp = TYP_DISP_KEY , daq::fits::HduId = TYP_HDUID_KEY , daq::fits::Checksum = TYP_CKSUM_KEY , daq::fits::Wcs = TYP_WCS_KEY , daq::fits::RefSys = TYP_REFSYS_KEY , daq::fits::Comment = TYP_COMM_KEY , daq::fits::Continue = TYP_CONT_KEY , daq::fits::User = TYP_USER_KEY } |
| Fits keyword type. More... | |
| enum class | daq::fits::ConflictPolicy { daq::fits::Replace , daq::fits::Skip } |
Functions | |||||
| bool | daq::fits::operator== (KeywordNameView lhs, KeywordNameView rhs) noexcept | ||||
| bool | daq::fits::operator!= (KeywordNameView lhs, KeywordNameView rhs) noexcept | ||||
| auto | daq::fits::operator== (LiteralKeyword::Components const &lhs, LiteralKeyword::Components const &rhs) noexcept -> bool | ||||
| auto | daq::fits::operator!= (LiteralKeyword::Components const &lhs, LiteralKeyword::Components const &rhs) noexcept -> bool | ||||
| bool | daq::fits::operator< (LiteralKeyword const &, LiteralKeyword const &) noexcept | ||||
| Sort by logical keyword name (not DICD sort) | |||||
| bool | daq::fits::operator== (LiteralKeyword const &lhs, LiteralKeyword const &rhs) noexcept | ||||
| Compares equally if keyword record in lhs is the same as rhs (char for char). | |||||
| bool | daq::fits::operator!= (LiteralKeyword const &, LiteralKeyword const &) noexcept | ||||
| Compares inequally if keyword record in lhs is not the same as rhs (char for char). | |||||
| std::ostream & | daq::fits::operator<< (std::ostream &os, LiteralKeyword const &kw) | ||||
| bool | daq::fits::operator< (LiteralKeyword const &, EsoKeyword const &) noexcept | ||||
| Keyword sorting function. | |||||
| bool | daq::fits::operator< (LiteralKeyword const &, ValueKeyword const &) noexcept | ||||
| Keyword sorting function. | |||||
| bool | daq::fits::operator< (ValueKeyword const &, EsoKeyword const &) noexcept | ||||
| Keyword sorting function. | |||||
| bool | daq::fits::operator< (ValueKeyword const &, LiteralKeyword const &) noexcept | ||||
| Keyword sorting function. | |||||
| bool | daq::fits::operator< (EsoKeyword const &, ValueKeyword const &) noexcept | ||||
| Keyword sorting function. | |||||
| bool | daq::fits::operator< (EsoKeyword const &, LiteralKeyword const &) noexcept | ||||
| Keyword sorting function. | |||||
| template<class Trait > | |||||
| std::ostream & | daq::fits::operator<< (std::ostream &os, BasicKeyword< Trait > const &kw) | ||||
| template<class Trait > | |||||
| std::ostream & | daq::fits::operator<< (std::ostream &os, BasicKeywordBase::ValueType const &kw) | ||||
| std::ostream & | daq::fits::operator<< (std::ostream &os, KeywordVariant const &kw) | ||||
| Ostream formatting of keywords. | |||||
| constexpr KeywordNameView | daq::fits::GetKeywordName (EsoKeyword const &keyword) noexcept | ||||
| Get keyword name from keyword. | |||||
| constexpr KeywordNameView | daq::fits::GetKeywordName (ValueKeyword const &keyword) noexcept | ||||
| constexpr KeywordNameView | daq::fits::GetKeywordName (KeywordVariant const &keyword) noexcept | ||||
| Get keyword name from keyword variant. | |||||
| KeywordClass | daq::fits::GetKeywordClass (std::string_view name) | ||||
| Get keyword class. | |||||
| bool | daq::fits::NameEquals (KeywordVariant const &lhs, KeywordVariant const &rhs) noexcept | ||||
| Compare logical keyword names of keyword of the same type. | |||||
| void | daq::fits::UpdateKeywords (KeywordVector &to, KeywordVector const &from, ConflictPolicy policy=ConflictPolicy::Replace) | ||||
| Updates to with keywords from from. | |||||
| void | daq::fits::InsertKeywords (KeywordVector &keywords, KeywordVector::iterator position, KeywordVector::const_iterator from_first, KeywordVector::const_iterator from_last) | ||||
| Insert keywords. | |||||
| auto | daq::fits::FormatFitsValue (KeywordNameView name, BasicKeywordBase::ValueType const &value) -> std::string | ||||
| Format keyword value using built-in rules such that it can be used as a component when formatting a complete keyword record. | |||||
| auto | daq::fits::UntypedFormat (KeywordNameView name, std::string_view value, std::string_view comment) -> LiteralKeyword | ||||
| Untyped formatting where value already has been formatted correctly. | |||||
| void | daq::fits::v1::StandardSort (std::vector< LiteralKeyword > &keywords) | ||||
| Sorts keywords according to ESO DICD standards. | |||||
Format keyword using default formatting rules. | |||||
| |||||
| LiteralKeyword | daq::fits::Format (KeywordVariant const &keyword) | ||||
| LiteralKeyword | daq::fits::Format (ValueKeyword const &keyword) | ||||
| LiteralKeyword | daq::fits::Format (EsoKeyword const &keyword) | ||||
| LiteralKeyword | daq::fits::Format (LiteralKeyword::Components const &keyword) | ||||
Contains data structure for FITS keywords.
Definition in file keyword.hpp.
| struct daq::fits::LiteralKeyword::Components |
Decomposed components a literal keyword.
Definition at line 134 of file keyword.hpp.
| Class Members | ||
|---|---|---|
| string_view | comment | Comment may be empty. |
| string_view | name | |
| KeywordType | type | |
| string_view | value | |