23 lines
754 B
C++
23 lines
754 B
C++
#include "matador/object/attribute_generator.hpp"
|
|
#include "matador/object/repository.hpp"
|
|
|
|
namespace matador::object {
|
|
|
|
attribute_generator::attribute_generator(std::vector<attribute> &columns, const repository &repo)
|
|
: columns_(columns)
|
|
, repo_(repo)
|
|
{}
|
|
|
|
void attribute_generator::on_revision(const char *id, uint64_t &rev) {
|
|
on_attribute(id, rev);
|
|
}
|
|
|
|
utils::result<std::shared_ptr<attribute>, utils::error> attribute_generator::determine_foreign_ref(const std::type_index &ti) const {
|
|
return repo_.reference_column(ti);
|
|
}
|
|
|
|
void attribute_generator::insert_missing_reference_column(const std::type_index& ti, const std::shared_ptr<attribute>& ref_column) const {
|
|
const_cast<repository&>(repo_).missing_references_.insert({ti, ref_column});
|
|
}
|
|
|
|
} |