added type traits for timestamp

This commit is contained in:
Sascha Kühl 2026-01-07 09:07:05 +01:00
parent c48bd4f9d6
commit 456a410946
2 changed files with 16 additions and 2 deletions

View File

@ -131,7 +131,7 @@ struct data_type_traits<std::string, void> {
};
template<>
struct data_type_traits<utils::blob, void> {
struct data_type_traits<blob, void> {
static basic_type type(std::size_t /*size*/) { return basic_type::Blob; }
static void read_value(attribute_reader &reader, const char *id, size_t index, utils::blob &value, size_t /*size*/ = 0);
static void bind_value(attribute_writer &binder, size_t index, utils::blob &value, size_t /*size*/ = 0);
@ -151,6 +151,13 @@ struct data_type_traits<time_type_t, void> {
static void bind_value(attribute_writer &binder, size_t index, time_type_t &value);
};
template<>
struct data_type_traits<timestamp, void> {
static basic_type type(std::size_t /*size*/) { return basic_type::DateTime; }
static void read_value(attribute_reader &reader, const char *id, size_t index, timestamp &value);
static void bind_value(attribute_writer &binder, size_t index, timestamp &value);
};
template<typename EnumType>
struct data_type_traits<EnumType, std::enable_if_t<std::is_enum_v<EnumType> > > {
static basic_type type(std::size_t /*size*/ = 0) { return basic_type::Int32; }

View File

@ -147,4 +147,11 @@ void data_type_traits<time_type_t>::bind_value(attribute_writer &binder, const s
binder.write_value(index, value);
}
}
void data_type_traits<timestamp>::read_value(attribute_reader &reader, const char *id, const size_t index, timestamp &value) {
reader.read_value(id, index, value);
}
void data_type_traits<timestamp>::bind_value(attribute_writer &binder, const size_t index, timestamp &value) {
binder.write_value(index, value);
}
}