Index: lib/core/include/Graph.h =================================================================== --- lib/core/include/Graph.h (revision 2d2406947d3035c7c043b8ce3d4ba7eac0461b46) +++ lib/core/include/Graph.h (revision a486fb206b1a32d7cbfec6fa9d5c30d74f0f0801) @@ -702,22 +702,27 @@ Table& operator= (const Table& t) { this->~Table(); new(this) Table(t); return *this; } void swap(Table& t) { std::swap(R,t.R); +#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 7 + node_maps.swap(t.node_maps); + edge_maps.swap(t.edge_maps); +#else std::swap(node_maps, t.node_maps); std::swap(edge_maps, t.edge_maps); +#endif std::swap(n_nodes, t.n_nodes); std::swap(free_node_id, t.free_node_id); std::swap(free_edge_ids, t.free_edge_ids); for (auto& map : node_maps) map._table=this; for (auto& map : t.node_maps) map._table=&t; for (auto& map : edge_maps) map._table=this; for (auto& map : t.edge_maps)