Connector shared_ptr keeps one owner and i don't know where it is!
This commit is contained in:
+7
-2
@@ -71,10 +71,10 @@ namespace VISEQ::GRAPH {
|
||||
edges.emplace_back(std::make_shared<Edge>());
|
||||
edges.back()->start = from;
|
||||
edges.back()->end = to;
|
||||
from->connections.push_back(edges.back());
|
||||
to->connections.push_back(edges.back());
|
||||
edges.back()->start_conn = from->connectors.back();
|
||||
edges.back()->end_conn = to->connectors.back();
|
||||
from->connections.push_back(edges.back());
|
||||
to->connections.push_back(edges.back());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -222,9 +222,14 @@ namespace VISEQ::GRAPH {
|
||||
}
|
||||
|
||||
void removeEdges(){
|
||||
|
||||
for(auto edge : remove_edges){
|
||||
std::cout << "connectors size: " << edge->start->connectors.size() << std::endl;
|
||||
std::cout << "use count: " << edge->start_conn.use_count() << std::endl;
|
||||
std::erase(edge->start->connectors, edge->start_conn);
|
||||
std::erase(edge->end->connectors, edge->end_conn);
|
||||
std::cout << "connectors size: " << edge->start->connectors.size() << std::endl;
|
||||
std::cout << "use count: " << edge->start_conn.use_count() << std::endl;
|
||||
std::erase(edge->start->connections, edge);
|
||||
std::erase(edge->end->connections, edge);
|
||||
std::erase(edges, edge);
|
||||
|
||||
Reference in New Issue
Block a user