object changes

This commit is contained in:
Sascha Kühl
2025-12-09 14:47:08 +01:00
parent d4a8801cd2
commit 4fcbe9c064
19 changed files with 109 additions and 92 deletions
+17 -1
View File
@@ -62,7 +62,7 @@ utils::result<basic_object_info_ref, utils::error> repository::basic_info(const
return utils::ok(basic_object_info_ref{result.value()->info()});
}
utils::result<basic_object_info_ref, utils::error> repository::basic_info( const std::string& name ) const {
utils::result<basic_object_info_ref, utils::error> repository::basic_info(const std::string& name) const {
auto result = find_node(name);
if (!result) {
return utils::failure(result.err());
@@ -213,4 +213,20 @@ void repository::expect_relation_node(const std::string &name, const std::type_i
void repository::remove_expected_relation_node( const std::string& name ) {
expected_relation_nodes_.erase(name);
}
std::shared_ptr<object> repository::provide_object_in_advance(const std::type_index &ti, const std::shared_ptr<object>& obj) {
return object_by_type_.insert({ti, obj}).first->second;
}
bool repository::has_object_for_type(const std::type_index &ti) const {
return object_by_type_.count(ti) > 0;
}
std::shared_ptr<object> repository::object_for_type(const std::type_index &ti) const {
return object_by_type_.at(ti);
}
void repository::remove_object_for_type(const std::type_index &ti) {
object_by_type_.erase(ti);
}
} // namespace matador::object