introduced field_attributes shortcuts and added method on_base() to all processor classes
This commit is contained in:
@@ -22,6 +22,8 @@ public:
|
||||
return identifier_;
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<typename ValueType>
|
||||
void on_primary_key(const char *id, ValueType &value, const utils::primary_key_attribute& attr) {
|
||||
utils::data_type_traits<ValueType>::read_value(reader_, id, column_index_, value, attr.size());
|
||||
|
||||
@@ -27,6 +27,8 @@ public:
|
||||
binder_ = nullptr;
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<typename ValueType>
|
||||
void on_primary_key(const char *id, ValueType &value, const utils::primary_key_attribute& attr);
|
||||
static void on_revision(const char * /*id*/, uint64_t &/*rev*/) {}
|
||||
@@ -73,6 +75,8 @@ public:
|
||||
|
||||
void reset();
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template < class Type >
|
||||
void on_primary_key(const char *id, Type &val, const utils::primary_key_attribute& attr) {
|
||||
utils::data_type_traits<Type>::read_value(*binder_, id, index_++, val, attr.size());
|
||||
|
||||
@@ -14,6 +14,8 @@ public:
|
||||
access::process(*this, obj);
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<typename ValueType>
|
||||
void on_primary_key(const char *id, ValueType &value, const utils::primary_key_attribute& attr);
|
||||
void on_revision(const char * /*id*/, uint64_t &/*rev*/) {
|
||||
|
||||
@@ -40,6 +40,8 @@ public:
|
||||
const std::type_index& result_type,
|
||||
size_t column_index = 0);
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<typename ValueType>
|
||||
void on_primary_key(const char *id, ValueType &value, const utils::primary_key_attribute& attr) {
|
||||
utils::data_type_traits<ValueType>::read_value(*reader_, id, column_index_++, value, attr.size());
|
||||
|
||||
@@ -27,6 +27,8 @@ public:
|
||||
return pk_;
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<typename ValueType>
|
||||
void on_primary_key(const char *id, ValueType &/*value*/, const utils::primary_key_attribute& attr) {
|
||||
if (!type_stack_.empty()) {
|
||||
|
||||
Reference in New Issue
Block a user