6 #ifndef IFW_DIT_DID_RECORD_HPP_
7 #define IFW_DIT_DID_RECORD_HPP_
64 Record(
const std::string& name,
65 const std::string& type,
66 const std::string& comment,
67 const std::string& description,
68 const std::string& format =
"",
69 const std::string& unit =
"");
80 void Parse(
const std::string& name,
81 const std::string& type,
82 const std::string& comment,
83 const std::string& description,
84 const std::string& format,
85 const std::string& unit);
88 const std::string&
GetName()
const;
100 template <
class TYPE>
102 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
104 return fmt::format(
"{}", value);
113 const std::string&
GetUnit()
const;
146 void _Copy(
const Record& source);
Data Interface Dictionary keyword record class.
Definition: record.hpp:46
void Parse(const std::string &name, const std::string &type, const std::string &comment, const std::string &description, const std::string &format, const std::string &unit)
Parse Parse/extract the fields of a keyword record from a Yaml object.
Definition: record.cpp:35
const std::string & GetAltName() const
Return name of the alternative keyword record (without the optional indeces).
Definition: record.cpp:87
static std::string PrintRecords(std::vector< dit::did::Record > &records, const RecField fields=RecField::ALL)
Decode the format in a DID record.
Definition: record.cpp:205
std::string m_field_format
Definition: record.hpp:141
std::string m_field_name
Definition: record.hpp:135
std::string m_field_comment
Definition: record.hpp:139
const FormatSpecifier & GetFormatSpecifier() const
Return reference to the format specifier.
Definition: record.cpp:251
const std::string & GetName() const
Return name of the keyword record.
Definition: record.cpp:82
std::string ToString(const RecField fields=RecField::ALL, const bool compact=false) const
Get string copy of one or more header fields.
Definition: record.cpp:117
std::string m_field_description
Definition: record.hpp:140
core::dit::did::DataType GetDataType() const
Return data type defined for the keyword.
Definition: record.cpp:92
FormatSpecifier m_format_specifier
Definition: record.hpp:142
std::string Format(TYPE &value)
Printf the given value according to the format specifier.
Definition: record.hpp:101
std::string m_field_unit
Definition: record.hpp:143
const std::string & GetDescription() const
Get the description of the key.
Definition: record.cpp:112
DataType m_field_type
Definition: record.hpp:138
std::string m_alt_field_name
Definition: record.hpp:136
Record()
Definition: record.cpp:12
Record & operator=(const Record &source)
Copy operator.
Definition: record.cpp:186
const std::string & GetComment() const
Get the comment defined.
Definition: record.cpp:107
std::string m_org_name
Definition: record.hpp:137
~Record()
Definition: record.cpp:31
const std::string & GetUnit() const
Return the unit, if defined for the key.
Definition: record.cpp:102
const std::string & GetFormat() const
Return the output format defined for the keyword.
Definition: record.cpp:97
Definition: defines.cpp:11
DataType
Dictionary data types.
Definition: defines.hpp:60
log4cplus::Logger & Logger()
Definition: defines.cpp:13
@ ALL
Definition: did.hpp:25
RecField
Dictionary keyword record field types.
Definition: defines.hpp:82