introduced field_attributes shortcuts and added method on_base() to all processor classes
This commit is contained in:
@@ -40,6 +40,8 @@ public:
|
||||
|
||||
return generator_type_;
|
||||
}
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<class V>
|
||||
void on_primary_key(const char * /*id*/, V &/*pk*/, const utils::primary_key_attribute &attr) {
|
||||
generator_type_ = attr.generator();
|
||||
|
||||
@@ -59,6 +59,8 @@ struct meta_registry {
|
||||
struct dependency_collector {
|
||||
std::vector<fk_ref> refs;
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<class V>
|
||||
static void on_primary_key(const char*, V&, const utils::primary_key_attribute& /*attr*/) {}
|
||||
|
||||
|
||||
@@ -24,6 +24,8 @@ public:
|
||||
return value_;
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<typename ValueType>
|
||||
void on_primary_key(const char *, ValueType &pk, const utils::primary_key_attribute& /*attr*/) {
|
||||
value_ = pk;
|
||||
|
||||
@@ -63,6 +63,8 @@ public:
|
||||
return result_;
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template < class V >
|
||||
void on_primary_key(const char *id, V &, const utils::primary_key_attribute& /*attr*/) {
|
||||
push(id);
|
||||
@@ -169,6 +171,8 @@ public:
|
||||
return result_;
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template < class V >
|
||||
void on_primary_key(const char * /*id*/, V &/*x*/, const utils::primary_key_attribute& /*attr*/) {
|
||||
result_.emplace_back(utils::_);
|
||||
@@ -227,6 +231,8 @@ public:
|
||||
return std::move(result_);
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template < class V >
|
||||
void on_primary_key(const char *id, V &x, const utils::primary_key_attribute& /*attr*/) {
|
||||
push_back(id, x);
|
||||
|
||||
@@ -23,6 +23,8 @@ class has_many_linker {
|
||||
public:
|
||||
has_many_linker(const object::object_ptr<ObjectType> &ptr, std::string join_column)
|
||||
: ptr_(ptr), join_column_(std::move(join_column)) {}
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template < class PrimaryKeyType >
|
||||
static void on_primary_key(const char * /*id*/, PrimaryKeyType &, const utils::primary_key_attribute& /*attr*/) {}
|
||||
static void on_revision(const char * /*id*/, uint64_t &/*rev*/) {}
|
||||
|
||||
@@ -26,6 +26,8 @@ public:
|
||||
return result;
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template < class V >
|
||||
void on_primary_key(const char *id, V &x, const utils::primary_key_attribute& /*attr*/) {
|
||||
result_.emplace_back(id, x);
|
||||
|
||||
@@ -60,6 +60,8 @@ public:
|
||||
, root_type_(root_type)
|
||||
{}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<typename ValueType>
|
||||
static 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*/) {}
|
||||
|
||||
@@ -89,6 +89,9 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
|
||||
template < class V >
|
||||
void on_primary_key(const char *id, V &, const utils::primary_key_attribute& /*attr*/) {
|
||||
push(id);
|
||||
|
||||
@@ -25,6 +25,8 @@ public:
|
||||
return values;
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<typename ValueType>
|
||||
void on_primary_key(const char *, ValueType &x, const utils::primary_key_attribute& attr) {
|
||||
utils::data_type_traits<ValueType>::bind_value(*this, 0, x, attr.size());
|
||||
|
||||
Reference in New Issue
Block a user