17 #ifndef OSFI_CONFM_BASE_H_
18 #define OSFI_CONFM_BASE_H_
20 #if __cplusplus >= 201402L
22 # define OSFI_DEPRECATED(reason) [[deprecated(reason)]]
24 # define OSFI_DEPRECATED(reason)
106 #define OSFI_RELOP_IMPL(op, T) \
107 inline bool operator op(const T& a, const T& b) { \
108 return std::rel_ops::operator op(a, b); \
114 #undef OSFI_RELOP_IMPL
117 template<ElementType et>
129 template<ElementType et>
#define OSFI_RELOP_IMPL(op, T)
Definition: base.h:106
typename parsed_type< et >::type parsed_type_t
Definition: base.h:130
bool operator==(const TimeValue &, const TimeValue &)
std::ostream & operator<<(std::ostream &, const TimeValue &)
ElementType
Definition: base.h:39
@ INTEGER
Integral number, with the value range of std::int32_t.
@ FOLDER
Path to a folder, with the same rules as FILE.
@ BOOLEAN
Truth value. Per the E2E-ICD, only TRUE or FALSE are accepted, capitalized.
@ FLOAT
Floating point number, in decimal representation with the range of IEEE754 binary64.
ElementType as_ElementType(const std::string &str)
bool operator<(const TimeValue &, const TimeValue &)
std::string to_string(ElementType et)
std::int16_t year
Year number, from 1 to 9999 inclusive.
Definition: base.h:81
std::int8_t minute
Minute of hour, from 0 to 59.
Definition: base.h:85
std::int8_t hour
Hour of day, from 0 to 23.
Definition: base.h:84
std::int32_t nanosec
Fraction of second in ns resolution, from 0 to 999999999.
Definition: base.h:87
std::int8_t month
Month number, from 1 to 12.
Definition: base.h:82
std::int8_t sec
Second of minute, from 0 to 60 to allow for leap seconds.
Definition: base.h:86
std::int8_t dom
Day of month, from 1 to the appropriate length according to the year.
Definition: base.h:83