summaryrefslogtreecommitdiffstats
path: root/src/server/NodeImpl.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-08-15 05:24:41 +0000
committerDavid Robillard <d@drobilla.net>2012-08-15 05:24:41 +0000
commit5dd1d9b720993fc7813fe12fca0844f95033ff1b (patch)
tree344151dd656894340d217a8fe33f8dba53fe160f /src/server/NodeImpl.hpp
parent0a9297ed2a1622d252a389d8babc0656fedbe7fd (diff)
downloadingen-5dd1d9b720993fc7813fe12fca0844f95033ff1b.tar.gz
ingen-5dd1d9b720993fc7813fe12fca0844f95033ff1b.tar.bz2
ingen-5dd1d9b720993fc7813fe12fca0844f95033ff1b.zip
Use intrusive lists to store nodes and ports in their parent patch to avoid tedious allocated list node juggling.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4700 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/NodeImpl.hpp')
-rw-r--r--src/server/NodeImpl.hpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/server/NodeImpl.hpp b/src/server/NodeImpl.hpp
index 4649cdaa..86741156 100644
--- a/src/server/NodeImpl.hpp
+++ b/src/server/NodeImpl.hpp
@@ -18,7 +18,8 @@
#define INGEN_ENGINE_NODEIMPL_HPP
#include <list>
-#include <string>
+
+#include <boost/intrusive/slist.hpp>
#include "raul/Array.hpp"
#include "raul/AtomicInt.hpp"
@@ -30,7 +31,6 @@
#include "types.hpp"
namespace Raul {
-template <typename T> class List;
class Maid;
}
@@ -56,6 +56,7 @@ class ProcessContext;
* \ingroup engine
*/
class NodeImpl : public GraphObjectImpl
+ , public boost::intrusive::slist_base_hook<> // In PatchImpl
{
public:
NodeImpl(PluginImpl* plugin,
@@ -153,8 +154,8 @@ public:
virtual uint32_t polyphony() const { return _polyphony; }
/** Used by the process order finding algorithm (ie during connections) */
- bool traversed() const { return _traversed; }
- void traversed(bool b) { _traversed = b; }
+ bool traversed() const { return _traversed; }
+ void traversed(bool b) { _traversed = b; }
protected:
PluginImpl* _plugin;