From e22984efe9b82ab006494aea93814a592cd44ece Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 25 Feb 2010 03:40:39 +0000 Subject: Store patch connections in a map using a lexicographic key for fast (logarathmic) connection searching. Replaces all O(num_connections) searches with O(lg(num_connections)) searches. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2491 a436a847-0d15-0410-975c-d299462d15a1 --- src/engine/PatchImpl.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/engine/PatchImpl.hpp') diff --git a/src/engine/PatchImpl.hpp b/src/engine/PatchImpl.hpp index ff2f0631..9bc2614d 100644 --- a/src/engine/PatchImpl.hpp +++ b/src/engine/PatchImpl.hpp @@ -102,8 +102,9 @@ public: Raul::List::Node* remove_port(const std::string& name); void clear_ports(); - void add_connection(Connections::Node* c) { _connections.push_back(c); } - Connections::Node* remove_connection(const PortImpl* src_port, const PortImpl* dst_port); + void add_connection(SharedPtr c); + + SharedPtr remove_connection(const PortImpl* src_port, const PortImpl* dst_port); bool has_connection(const PortImpl* src_port, const PortImpl* dst_port) const; -- cgit v1.2.1