object changes
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user